主节点master与次节点slave概述:
主机host | IP地址 |
master | 192.168.8.169 |
slave0 | 192.168.8.170 |
slave1 | 192.168.8.171 |
1.配置ip(不做概述)
关闭防火墙、关闭sellinux
2.配置ssh免密登录(详情我的参考另一个文档)
正文:
1.下载Hadoop安装包:
Hadoop官网:Apache Hadoop
我这里用的Hadoop版本下载地址:Index of /dist/hadoop/core/hadoop-2.7.5
2.解压安装包到/opt/hadoop下:(只在master节点做)
mkdir -p /opt/hadoop
tar -xvf hadoop-2.7.5.tar.gz
mv hadoop-2.7.5 hadoop
pwd
/opt/hadoop/hadoop
3.配置java环境(三个节点都做)
我这里使用的yum源自带的java
yum -y install java*
find / -name java
/etc/pki/ca-trust/extracted/java
/etc/pki/java
/etc/alternatives/java
/etc/java
/var/lib/alternatives/java
/usr/bin/java
/usr/lib/java
/usr/lib/jvm/java-11-openjdk-11.0.ea.28-7.el7.x86_64/bin/java
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.41.x86_64/jre/bin/java
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.41.x86_64/bin/java
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64/jre/bin/java
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64/bin/java
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.191-2.6.15.5.el7.x86_64/jre/bin/java
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.191-2.6.15.5.el7.x86_64/jre-abrt/bin/java
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.191-2.6.15.5.el7.x86_64/bin/java
/usr/lib/jvm/java
/usr/lib/jvm-exports/java
/usr/share/java
找到环境文件:(只在master节点做)
vi /opt/hadoop/hadoop/etc/hadoop/hadoop-env.sh
配置核心组件文件(只在master做)
Hadoop的核心组件文件是core-site.xml,位于/opt/hadoop/hadoop/etc/hadoop子目录下,用vi编辑core-site.xml文件,需要将下面的配置代码放在文件的和之间。
vi /opt/hadoop/hadoop/etc/hadoop/core-site.xml
在configuration之间加入代码
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/hadoopdata</value>#hadoopdate之后会创建
</property>
配置文件系统(只在master做)
vi /opt/hadoop/hadoop/etc/hadoop/hdfs-site.xml
在configuration之间加入代码
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
配置yarn-site.xml文件(只在master)
vi /opt/hadoop/hadoop/etc/hadoop/yarn-site.xml
在configuration之间插入代码
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:18040</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:18030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:18025</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:18141</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:18088</value>
</property>
配置MapReduce计算框架文件(只在master)
因为在hadoop下有mappred-site.xml.template文件,我们只需要更改其名称,位置不变。
cp /opt/hadoop/hadoop/etc/hadoop/mapred-site.xml.template /opt/hadoop/hadoop/etc/hadoop/mapred-site.xml
在configuration之间插入代码
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
配置master的slaves文件(master)
slaves是用来启动hadoop的时候,系统根据slave文件中的slave节点名称列表启动集群,不在列表中的slave节点便不会视为结算节点。
vi /opt/hadoop/hadoop/etc/hadoop/slaves
编辑slave文件
master
slave0
slave1
需要删除原先自带的localhost
复制master的hadoop到slave节点上(master)
scp -r /opt/hadoop root@slave0:/opt
scp -r /opt/hadoop root@slave1:/opt
配置环境便令(三个节点都做)
vi ~/.bash_profile
将以下代码追加到文件尾部
#HADOOP
export HADOOP_HOME=/opt/hadoop/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
保存source一下
source ~/.bash_profile
三个节点都要做哦!!
创建hadoop数据目录(master)
mkdir -p /opt/hadoop/hadoopdata
格式化文件系统(master)
hadoop namenode -format
启动hadoop集群(master)
先进入安装目录
cd /opt/hadoop/hadoop/sbin start-all.sh
启动一次后,再次启动hadoop无需格式换namenode
不建议使用statr-all.sh
建议使用start-dfs.sh 、start-yarn.sh
验证是否启动成功
jps
主节点:
次节点:
说明启动成功!!!