实验二 搭建Hadoop集群
1 实验目的
- 搭建Hadoop集群;
- 掌握Linux分发;
- 掌握Hadoop启动和关闭。
2 实验内容
搭建Hadoop集群,配置etc/下的配置文件,设置主从节点,设置Hadoop环境变量,分发到其他电脑,运行hdfs和yarn,启动namenode、datanode。
3 实验知识点
- Hadoop配置文件修改;
- 主从节点设置;
- 环境变量配置;
- 分发;
- 格式化namenode文件夹。
- 启动集群
4 实验时长
8学时。
5 实验环境
- VMware;
- CentOS。
6 实验过程
一、Hadoop解压、创建软连接
1、将hadoop-2.8.5.tar.gz上传到服务器~/apps下,再将其解压到/usr/local目录下。
2、进入/usr/local目录下,后使用 ln -s hadoop-2.8.5 hadoop2 创建一个软连接。再使用ls命令查看,发现hadoop-2.8.5和hadoop2都存在。
二、配置环境变量
1、进入/etc/profiled.d目录下,使用vi命令新建hadoop.sh文件
2、在hadoop.sh文件中添加如下命令。
3、保存,调用source hadoop.sh。测试版本号:hadoop version
三、配置hadoop环境脚本中的java参数
在hadoop2/etc/hadoop下,分别使用vim hadoop-env.sh、vim mapred-env.sh、vim yarn-env.sh,全部添加上export JAVA_HOME=$JAVA_HOME
四、创建Hadoop存储目录,在/目录下新建三个文件
五、配置主从节点
删除hadoop2/etc/hadoop/slaves中配置,将hp2、hp3添加到slaves中作为集群的slaves
六、配置core-site.xml
配置core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hp1:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/hadoop_data/tmp</value>
</property>
</configuration>
配置改hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hp1:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/hadoop_data/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/hadoop_data/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
yarn-site.xml:
<configuration>
<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>hp1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hp1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hp1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hp1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hp1:8088</value>
</property>
</configuration>
mapred-site-xml:
复制文件:
cp mapred-site.xml.template mapred-site.xml
<configuration>
<property><name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hp1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hp1:19888</value>
</property>
</configuration>
七、分发hp1的配置到hp2、hp3:
1、使用scp -r hadoop.sh hp2:/etc/profile.d、scp -r hadoop.sh hp3:/etc/profile.d命令将hadoop远程复制到hp2 hp3上,并在hdp2、hdp3中分别调用source hadoop.sh。
2、使用 hadoop version命令测试版本号
3、使用scp -r /usr/local/hadoop-2.8.5/ hdp2:/usr/local、scp -r /usr/local/hadoop-2.8.5/ hdp3:/usr/local命令,分别将hadoop远程复制到hp2、hp3上。
4、分别在hp1和hp2中输入ln -s hadoop-2.8.5 hadoop2命令,建立软连接。
5、使用scp -r hadoop_data/ hdp2:/和scp -r hadoop_data/ hdp3:/命令,将文件夹分发:
八、格式化主节点的存储目录
第一次启动hadoop是需要格式化hadoop的namenode
hdfs namenode –format
九、启动hadoop
1、启动dfs
命令:start-dfs.sh
2、启动yarn
命令:start-yarn.sh
3、通过jps命令,可以查看hadoop启动的进程
关闭yarn
命令:stop-yarn.sh
关闭dsf
命令:stop-dfs.sh
十、测试hadoop的安装
在web页面中查看hdfs和yarn
成功连接hdp1中hadoop。