一、安装资源准备:
1、准备好机器: 3台机器,1台master(172.16.235.138),2台worker(172.16.235.139、172.16.235.140),注意都要设置成静态IP
2、建好目录:
mkdir /bdl /bdl/software /bdl/appData /bdl/software/hadoop /bdl/software/java8
-bdl
--software
---hadoop
–--java8
--appData
2、准备好安装包:jdk-8u121-linux-x64.tar.gz、hadoop-2.6.4.tar.gz
二、安装JDK1.8
1.解压安装包并更名:
cd /bdl/software/java8
tar -zxvf jdk-8u121-linux-x64.tar.gz
mv jdk1.8.0_121/ /bdl/jdk1.8
2.配置环境变量:
vim /etc/profile,最后一行添加一下内容:
export JAVA_HOME=/bdl/jdk1.8
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
使java环境变量生效:source /etc/profile
查看效果:java -version
搭建hadoop的主节点master1步骤:
1、设置主机名:hostnamectl set-hostname hadoop.m1
查看是否设置成功:hostname
2、配置IP主机名映射,vim /etc/hosts,添加如下内容:
192.168.1.135 hadoop.m1
192.168.1.121 hadoop.s1
192.168.1.141 hadoop.s2
1.解压hadoop压缩包,并移动更名:
cd /bdl/software/hadoop
tar -zxvf tar -zxvf hadoop-2.6.4.tar.gz
mv hadoop-2.6.4 /bdl/hadoop2.6.4
2.配置hadoop的环境变量,vim /etc/profile,添加如下内容:
export JAVA_HOME=/bdl/jdk1.8
export HADOOP_HOME=/bdl/hadoop2.6.4
export PATH=$JAVA_HOME/bin: $HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
然后source /etc/profile使环境变量生效
5、修改hadoop配置文件,在/bdl/hadoop2.6.4/etc/hadoop目录下:
cd /bdl/hadoop2.6.4/etc/hadoop
1.修改hadoop-env.sh中的JAVA_HOME:
vim hadoop-env.sh
修改处:export JAVA_HOME=/bdl/jdk1.8
2.修改core-site.xml
vim core-site.xml
<configuration>标签中添加如下内容:
<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop.m1:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 ,无需手动创建,会自动生成-->
<property>
<name>hadoop.tmp.dir</name>
<value>/bdl/appData/hadoop/tmp</value>
</property>
3.修改hdfs-site.xml
vim hdfs-site.xml
<configuration>标签中添加如下内容:
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- 第二数据结点,可不配置 -->
<property>
<name>dfs.secondary.http.address</name>
<value>192.168.1.152:50090</value>
</property>
4.修改mapred-site.xml
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<configuration>标签中添加如下内容:
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
5.修改yarn-site.xml
vim yarn-site.xml
<configuration>标签中添加如下内容:
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop.m1</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
6.格式化namenode(是对namenode进行初始化)
/bdl/hadoop2.6.4/bin/hdfs namenode -format
输出如下提示表示namenode格式化成功
三、配置其他slaver节点
1、如果是虚拟机需要变更IP和MAC地址
2、修改主机名
hostnamectl set-hostname hadoop.s1
3、在主节点hadoop.m1上配置slaves文件,设置好datanode:
vim /bdl/hadoop2.6.4/etc/hadoop/slaves,然后添加如下节点(去掉原先的localhost)
hadoop.s1
hadoop.s2
四、启动hadoop验证
启动hdfs:
/usr/shuyechao/hadoop2.6.5/sbin/start-dfs.sh
启动yarn:
/usr/shuyechao/hadoop2.6.5/sbin/start-yarn.sh
启动过程中多次输入连接密码,启动完成后jps查看各节点进程,另外需要注意关一下slaver的防火墙(system stop firewalld),不关的话主节点启动从节点的datanode和nodemanager启不起来。
防火墙:
查看防火墙状态:firewall-cmd –state
停止防火墙:systemctl stop firewalld.service
禁止开机启动:systemctl disable firewalld.service
Slave2,不关闭防火墙也可以通过master启动salve2
master节点截图:
slaver截图:
出现以上截图表示环境搭建ok,能正常启动hdfs和yarn。
五、配置master到slaver的免密登录
1.在hadoop.m1上生成免登录密钥:
ssh-keygen -t rsa或ssh-keygen(执行后按四下回车键)
2.将密钥复制到所有slaver和master自己(hadoop.m1、hadoop.s1、hadoop.s2):
ssh-copy-id hadoop.m1
ssh-copy-id hadoop.s1
ssh-copy-id hadoop.s2
然后验证一下(/usr/shuyechao/hadoop2.6.5/sbin/start-all.sh),不用输密码了,启动成功后访问HDFS管理页面http://主节点IP:50070(注意关闭防火墙或在防火墙增加访问端口,否则访问不了),hadoop任务的管理页面http://主节点IP:8088
查看防火墙开启的端口:firewall-cmd --list-port
开启端口:firewall-cmd --zone=public --add-port=80/tcp –permanent
重启防火墙:firewall-cmd –reload
如果遇到slave启动不成功或者发现不了从节点,先删除/bld/appdata/hadoop重新format一下即可。(也有可能是防火墙的问题)
成功后界面如下: