1、安装前准备
①、准备三台主机配置如下:
主机IP 主机名 用户
192.168.31.128 centos71 hzq
192.168.31.129 centos72 hzq
192.168.31.130 centos73 hzq
注意:集群中每台的用户采用相同的。
②、每台主机之间设置免密登陆,参考《ssh免密登陆》
③、每台安装jdk1.8.0_131,安装及配置见《Linux安装JDK步骤》
④、修改“etc/hosts"文件如下:
192.168.31.128 centos71
192.168.31.129 centos72
192.168.31.130 centos73
⑤、准备hadoop安装包:hadoop-2.8.0.tar.gz
2、集群规划
主机名称 主机IP 安装软件 运行进程
centos71 192.168.31.128 jdk1.8,hadoop-2.8.0 NameNode,ResourceManager
centos72 192.168.31.129 jdk1.8,hadoop-2.8.0 DataNode,NodeManager
centos73 192.168.31.130 jdk1.8,hadoop-2.8.0 DataNode,NodeManager
3、Hadoop安装:
①、在"/home/hzq/software/"下创建"hadoop"文件夹
②、在"hadoop"目录下创建"data"文件夹,用于存放hadoop运行时文件
③、将"hadoop-2.8.0.tar.gz"解压到hadoop目录下
tar -zxvf ../package/hadoop-2.8.0.tar.gz -C /home/hzq/software/hadoop/
④、删除"hadoop-2.8.0"下"share"中的doc文件,为了提高scp拷贝时速度
rm -rf hadoop-2.8.0/share/doc
4、Hadoop配置:
①、修改 hadoop-env.sh 配置文件,修改JAVA_HOME
export JAVA_HOME=/home/hzq/software/jdk1.8.0_131
②、修改core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://centos71:9000/</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hzq/software/hadoop/data</value>
</property>
</configuration>
解释: ------------------------------------------------------------------------------------------------------------------------------------------------------------
fs.defaultFS NameNode URI
hadoop.tmp.dir 临时文件的存放地址,默认是"/tmp/hadoop-${user.name}"
------------------------------------------------------------------------------------------------------------------------------------------------------------
③、修改hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.block.size</name>
<value>64M</value>
</property>
</configuration>
解释: ------------------------------------------------------------------------------------------------------------------------------------------------------------
dfs.replication Block副本的数量 默认是3
dfs.block.size Block的大小 默认是128M
------------------------------------------------------------------------------------------------------------------------------------------------------------
④、mapred-site.xml
将“mapred-site.xml.template”进行重命名。
mv mapred-site.xml.template mapred-site.xml
修改mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
解释:
------------------------------------------------------------------------------------------------------------------------------------------------------------
mapreduce.framework.name 制定MR框架为Yarn方式,默认是local------------------------------------------------------------------------------------------------------------------------------------------------------------
⑤、yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>centos71</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<configuration>
解释:
------------------------------------------------------------------------------------------------------------------------------------------------------------
yarn.resourcemanager.hostname 指定Resourcemanager的地址yarn.nodemanager.aux-services reduce获取数据的方式
------------------------------------------------------------------------------------------------------------------------------------------------------------
⑥、配置DataNode主机,修改slaves
centos75
centos76
⑦、将配置好的Hadoop发送到其他两台主机上
scp -r hadoop/ centos72:/home/hzq/software/
scp -r hadoop/ centos73:/home/hzq/software/
5、启动Hadoop
①、格式化
hadoop namenode -format
②、启动
start-all.sh
6、验证是否启动成功:
①、使用jps命令验证centos71主机:
②、使用jps命令验证centos72主机:
③、使用jps命令验证centos73主机:
http://192.168.31.128:50070 (HDFS管理界面)
http://192.168.31.128:8088 (MR管理界面)
7、总结:
①、NameNode是HDFS文件系统的核心,如果NameNode不能用,则整个文件系统不能使用。所以此集群并不稳定。
②、如需搭建稳定的分布式框架,还需Zookeeper。
③、多动手,多动脑,加油↖(^ω^)↗!!!