环境
Redhat
Hadoop-2.7.4
Jdk1.8
本次搭建使用三台虚拟机,分别是master/192.168.121.128,slave/192.168.121.130,master-scan/192.168.121.129
1.在三台主机进行jdk 的安装
rpm -ivh jdk-8u144-linux-x64.rpm
配置环境变量
vi /etc/profile
export JAVA_HOME=jdk所在路径
export PATH=$PATH:$JAVA_HOME/bin
使环境变量生效
source /etc/profile
检查jdk是否成功安装
Java -version
2.为三台主机配置hosts,关闭防火墙
vi /etc/hosts
192.168.121.128 master
192.168.121.129 master-scan
192.168.121.130 slave
service iptables status
service iptable stop
3.三台主机配置互信,免密码登录
在master主机执行
ssh-keygen -t rsa,一路回车,会在./ssh目录下产生
id_rsa.pub的文件,那么我们的秘钥就已经生成成功了,最后我们需要将产生的key放置到许可证文件中
cat ~
/.ssh/id
_rsa.pub
>>
~
/.ssh/authorized
_keys。
然后把
id
_rsa.pub拷贝到slave和master-scan上,
scp
.ssh/id
_rsa.pub root@slave:./ssh
scp
.ssh/id
_rsa.pub root@master-scan:./ssh
分别在slave和master-scan上执行
cat ~
/.ssh/id
_rsa.pub
>>
~
/.ssh/authorized
_keys
验证互信是否配置成功
ssh slave,ssh master-scan,第一次登录需要输入密码,后续登录不需要密码,如果互信没有成功,尝试重新配置互信。
4.安装Hadoop
首先在master上安装配置Hadoop,待配置完成后直接拷贝到slave和master-scan上即可
解压缩Hadoop包
tar -zxvf hadoop-2.7.4.tar.gz
在Hadoop安装包目录下有几个比较重要的目录
sbin : 启动或停止Hadoop相关服务的脚本
bin :对Hadoop相关服务(HDFS,YARN)进行操作的脚本
etc : Hadoop的配置文件目录
share :Hadoop的依赖jar包和文档,文档可以被删掉
lib :Hadoop的本地库(对数据进行压缩解压缩功能)
5.配置Hadoop相关配置文件
配置hadoop-env.sh
添加参数:
export JAVA_HOME=/opt/jdk-1.8/jdk1.8
export HADOOP_CONF_DIR=/opt/hadoop-2.7.4/etc/hadoop
配置core-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
配置hdfs-site.xml
<
configuration
>
<!-- 指定HDFS存储数据的副本数据量 -->
<
property
>
<
name
>dfs.replication</
name
>
<
value
>3</
value
>
</
property
>
</
configuration
>
配置mapred-site.xml
mv mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
<
configuration
>
<!-- 指定mapreduce编程模型运行在yarn上 -->
<
property
>
<
name
>mapreduce.framework.name</
name
>
<
value
>yarn</
value
>
</
property
></
configuration
>
配置yarn-site.xml
vi yarn-site.xml
<
configuration
>
<!-- 指定ResourceManager的地址-->
<
property
>
<
name
>yarn.resourcemanager.hostname</
name
>
<
value
>nmaster</
value
>
</
property
>
<!-- mapreduce执行shuffle时获取数据的方式 -->
<
property
>
<
name
>yarn.nodemanager.aux-services</
name
>
<
value
>mapreduce_shuffle</
value
>
</
property
>
</
configuration
>
配置slaves
vi slaves
原来的localhost要删掉
slave
master-scan
6.拷贝配置好的Hadoop文件到其他主机
scp -r /opt/hadoop-2.7.4 root@slave:/opt
scp -r /opt/hadoop-2.7.4 root@master-scan:/opt
在namenode对HDFS进行初始化
hadoop namenode -format
在这一步时,我一直格式化失败,报unsupported-major-minor-version-52-0,最后把jdk由1.7升级到1.8,格式化成功了。
启动服务
cd /opt/hadoop-2.7.4/sbin
./start-all.sh
启动成功