1. 【实验步骤】配置并启动Hadoop集群# 一、配置集群环境
配置集群环境时,需要修改 /usr/local/hadoop/etc/hadoop
目录下的配置文件,这里仅设置正常启动必须的设置项,包括 slaves
、core-site.xml
、hdfs-site.xml
、mapred-site.xml
、yarn-site.xml
共五个文件。
以下对master节点的配置文件进行修改。
1.修改文件slaves
需要把所有数据节点的主机名写入该文件,每行一个,默认为localhost(即把本机作为数据节点)。在进行集群配置时,可以保留localhost,让master节点同时充当名称节点和数据节点,也可以删除localhost这行,让master节点仅作为名称节点使用。
本节让master节点仅作为名称节点使用,因此将slaves文件中原来的内容删除,添加如下内容:
slave1
slave2
slave3
2.修改文件core-site.xml
把core-site.xml
文件修改为如下内容:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
</property>
</configuration>
3. 修改文件hdfs-site.xml
对于Hadoop的分布式文件系统HDFS而言,一般是采用冗余存储,冗余因子一般是3,也就是说一份数据保存3份副本。设置该冗余因子的参数为dfs.replication。所以,dfs.replication设置为3,文件具体内容如下:
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/date</value>
</property>
</configuration>
4.修改文件mapred-site.xml
/usr/local/hadoop/etc/hadoop
目录下有一个 mapred-site.xml.template
文件,需要复制该文件为 mapred-site.xml
:
cp mapred-site.xml.template mapred-site.xml
然后配置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>
5.修改文件yarn-site.xml
把 yarn-site.xml
配置为如下内容:
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name>
<value>98.5</value>
</property>
</configuration>
二、配置slave节点
五个配置文件配置完成之后,需要把master节点上的 /usr/local/hadoop
文件复制到各个节点上。
在master节点上执行具体命令如下:
cd /usr/local
rm -rf ./hadoop/tmp #删除临时文件
rm -rf ./hadoop/logs/* #删除日志文件
tar -zcf ~/hadoop.master.tar.gz ./hadoop #先压缩再复制
cd ~
scp ./hadoop.master.tar.gz root@slave1:/root
scp ./hadoop.master.tar.gz root@slave2:/root
scp ./hadoop.master.tar.gz root@slave3:/root
然后分别在slave1、slave2和slave3节点上执行如下命令:
rm -rf /usr/local/hadoop #如果有旧文件则先删除
tar -zxf ~/hadoop.master.tar.gz -C /usr/local
rm -f ~/hadoop.master.tar.gz
三、启动Hadoop集群
首次启动Hadoop集群时,需要先在master节点执行名称节点的格式化:
hdfs namenode -format
现在可以启动Hadoop了,启动需要在master节点上进行,执行如下命令:
start-dfs.sh
start-yarn.sh
mr-jobhistory-daemon.sh start historyserver
通过命令jps
可以查看各个节点启动的进程。如果已经正确启动,则在master节点上可以看到如下进程:
在slave节点上可以看到如下进程:
缺少任一进程都表示出错。
也可以在浏览器中输入 master的ip:50070
查看节点状态。
至此hadoop集群安装完成。