CentOS 7搭建hadoop服务

节点规划

hostname

IP地址

服务角色

master

192.168.100.10

NameNode

slave1

192.168.100.20

DataNode1

slave2

192.168.100.30

DataNode2

一、添加主机映射

注意:在每个节点上同样需要配置映射

vi /etc/hosts

centos7部署confluence集群 centos7配置hadoop集群_hadoop

二、关闭防火墙、SELinux

注意:在每个节点上同样需要关闭防火墙、selinux

systemctl stop firewalld
systemctl disable firewalld
getenforce
setenforce 0
getenforce
永久关闭可直接把/etc/sysconfig/selinux文件里“SELINUX=enforcing”改为“SELINUX=disabled”

centos7部署confluence集群 centos7配置hadoop集群_集群_02

三、JDK安装与配置

注意:在每个节点上都要做以下相同的操作
我使用的jdk版本:链接: https://pan.baidu.com/s/1EOmv1Zg9HP_kBM3D-0vVxA 提取码: 02nk
官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

mkdir /opt/java      //创建目录存放jdk
把下载好的jdk版本上传到/opt/java目录下

centos7部署confluence集群 centos7配置hadoop集群_集群_03

cd /opt/java
tar -zxvf jdk-7u80-linux-x64.tar.gz
jdk环境配置
vi /etc/profile
source /etc/profile              //执行生效
java -version                    //查看是否安装成功

注意:jdk1.7.0_80是jdk的包名,可用使用mv [路径1] [路径2] 来更改文件名
要是我想把jdk1.7.0_80改为test,则命令是:mv /opt/java/jdk1.7.0_80 /opt/java/test

export JAVA_HOME=/opt/java/jdk1.7.0_80
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:{JAVA_HOME}/lib:{JAVA_HOME}/lib
export PATH=$PATH:${JAVA_HOME}/bin:$PATH

centos7部署confluence集群 centos7配置hadoop集群_集群_04


centos7部署confluence集群 centos7配置hadoop集群_集群_05

四、配置SSH免密码登录

为什么配置免密登录:hadoop 的各个节点之间需要频繁地进行通信,为了避免每次的通信都要输入密码,需对各个节点进行 SSH 免密码登录配置。
注意:在每个节点上都要生成密钥对,做以下操作

cd
ssh-keygen -t rsa           //生成密钥对,一直点击回车即可
cd ~/.ssh
ssh-copy-id slave1          //把master公钥copy到slave1上
ssh-copy-id slave2          //把master公钥copy到slave2上

centos7部署confluence集群 centos7配置hadoop集群_java_06


centos7部署confluence集群 centos7配置hadoop集群_大数据_07

测试

第一次可能需要进行确认,第二次就不需要了。

centos7部署confluence集群 centos7配置hadoop集群_集群_08

五、安装Hadoop

注意:在每个节点上只需安装hadoop,可以把配置好的文件直接传到节点上,免除配置
这里用的hadoop-2.7.6
百度云链接:https://pan.baidu.com/s/19KVA9Ph5gKs5NArbgA3HwQ 提取码:w8ls
hadoop更多版本下载链接:https://archive.apache.org/dist/hadoop/common/,访问比较慢,进不去多刷新几次就可以了。

mkdir /opt/hadoop          //创建一个存放hadoop包的目录

把下载的hadoop包上传到刚刚创建好的文件里

centos7部署confluence集群 centos7配置hadoop集群_大数据_09

cd /opt/hadoop
tar -zxvf hadoop-2.7.6.tar.gz      //加压出来
hadoop环境配置
vi /etc/profile
source /etc/profile           //环境生效
hadoop version                //查看版本
export HADOOP_HOME=/opt/hadoop/hadoop-2.7.6
export PATH=$PATH:${HADOOP_HOME}/bin:$PATH:${HADOOP_HOME}/Sbin

centos7部署confluence集群 centos7配置hadoop集群_java_10


centos7部署confluence集群 centos7配置hadoop集群_集群_11

六、修改配置文件

JDK环境配置好了话,就可以不用对hadoop-env.cmd和hadoop-env.sh配置文件进行修改
① 配置 hadoop-env.sh文件

vi hadoop-env.sh

centos7部署confluence集群 centos7配置hadoop集群_java_12


② 配置 hadoop-env.cmd文件

vi hadoop-env.cmd

centos7部署confluence集群 centos7配置hadoop集群_java_13


③ 配置 core-site.xml文件

cd /opt/hadoop/hadoop-2.7.6/etc/hadoop     //配置文件目录
vi core-site.xml
<configuration>
  <property>
     <name>fs.default.name</name>   
     <value>hdfs://master:9000</value>
  </property>  
  <property>    
      <name>hadoop.tmp.dir</name>    
      <value>/opt/hadoop/hadoop-2.7.6/tmp</value>
  </property>
</configuration>

centos7部署confluence集群 centos7配置hadoop集群_hadoop_14


④ 配置 hdfs-site.xml文件

vi hdfs-site.xml
<configuration>
  <property>
     <name>dfs.replication</name>
     <value>2</value>
  </property>
  <property>
     <name>dfs.namenode.name.dir</name>
     <value>file:/opt/hadoop/hadoop-2.7.6/namenode</value>
  </property>
  <property>
     <name>dfs.datanode.data.dir</name>
     <value>file:/opt/hadoop/hadoop-2.7.6/datanode</value>
  </property>
</configuration>

centos7部署confluence集群 centos7配置hadoop集群_xml_15


⑤ 配置 mapred-site.xml文件

<--将mapred-site.xml.template改名为mapred-site.xml-->
mv mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
<configuration>
   <property>    
      <name>mapreduce.framework.name</name>    
      <value>yarn</value>  
   </property>  
   <property>    
      <name>mapreduce.jobhistory.address</name>    
      <value>Master:10020</value>  
   </property>  
   <property>    
      <name>mapreduce.jobhistory.webapp.address</name>    
      <value>Master:19888</value>  
   </property>
</configuration>

centos7部署confluence集群 centos7配置hadoop集群_集群_16


⑥ 配置 yarn-site.xml文件

vi yarn-site.xml
<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>
<property>
	<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
	<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
	<name>yarn.resourcemanager.address</name>
	<value>master:8032</value>
</property>
<property>
	<name>yarn.resourcemanager.scheduler.address</name>
	<value>master:8030</value>
</property>
<property>
	<name>yarn.resourcemanager.resource-tracker.address</name>
	<value>master:8031</value>
</property>
<property>
	<name>yarn.resourcemanager.admin.address</name>
	<value>master:8033</value>
</property>
<property>
	<name>yarn.resourcemanager.webapp.address</name>
	<value>master:8088</value>
</property>

centos7部署confluence集群 centos7配置hadoop集群_大数据_17


⑦ 编辑slaves文件

删除默认的localhost,然后将节点的名称加入进去

vi slaves

centos7部署confluence集群 centos7配置hadoop集群_集群_18


⑧ 传送配置文件

将配置好的Hadoop复制到各个节点上,节点路径要有效
scp -r /opt/hadoop/hadoop-2.7.6/etc/hadoop/* slave1:/opt/hadoop/hadoop-2.7.6/etc/hadoop
scp -r /opt/hadoop/hadoop-2.7.6/etc/hadoop/* slave2:/opt/hadoop/hadoop-2.7.6/etc/hadoop

centos7部署confluence集群 centos7配置hadoop集群_集群_19

七、格式化并启动服务

cd /opt/hadoop/hadoop-2.7.6            
bin/hdfs namenode -format             //格式化
sbin/start-all.sh             //全部启动,可以用命令:sbin/start-dfs.sh和sbin/start-yarn.sh
jps                           //查看服务进程

centos7部署confluence集群 centos7配置hadoop集群_xml_20


centos7部署confluence集群 centos7配置hadoop集群_hadoop_21


centos7部署confluence集群 centos7配置hadoop集群_集群_22

八、浏览器页面查看

在浏览器中输入:http://192.168.100.10:8088/http://192.168.100.10:50070

centos7部署confluence集群 centos7配置hadoop集群_xml_23


centos7部署confluence集群 centos7配置hadoop集群_集群_24