此做法无实际意义,只是用来学习搭建过程和了解hadoop相关配置。
版本:Ubuntu16.04 hadoop2.7.2(一台电脑开三台虚拟机完全分布式)
主结点:192.168.150.112 Caxiongyu1
从结点:192.168.150.113 Caixiongyu2
192.168.150.114 Caixiongyu3
添加用户hadoop
为新用户添加权限:
安装JDK及配置环境变量:
/etc/profiel文件
测试安装是否成功:
查看并设置NAT(方便之后设置静态IP):
16.04设置NAT静态IP参考的http://www.linuxdiyf.com/linux/20707.html。
设置静态IP地址,16.04版本的上网查了下网卡名称不是eth0而是ens33:
设置DNS:
测试是否能ping 通外网:
测试能否相互ping 通:
第三台ping 前两台:
第一台ping 后两台:
第二台ping 第一台和第三台:
复制节点到另外两台。并为另外两台设置相应的静态IP地址。
这里我分别设置为192.168.150.112和192.168.150.113和192.168.150.114。
各自修改 /etc/hostsname(如下图是主节点)
修改 /etc/hosts
安装SSH:
建立无密码登录:
cp id_rsa.pub authorized_keys
复制公钥给主机1(两台都同样操作):
改权限后复制到authorized_keys中去:
复制完后
从主结点复制给其他结点:
主机无密码SSH登录:
若SSH只能无密码登陆其中几台,则有可能是因为SSH安装目录的权限问题,用chown改变目录用户权限就可以解决。
下载hadoop2.7.2(在主节点)
tar–zxvf Hadoop-2.7.2解压
修改配置文件hadoop-env.sh、yarn-en.sh、yarn-site.xml、hdfs-site.xml、core-site.xml
在主节点创建文件夹:
/home/hadoop/dfs
/home/hadoop/dfs/data
/home/hadoop/dfs/name
/home/hadoop/tmp
~/桌面/hadoop/logs
~/桌面/Hadoop/slaves文件的配置:
配置hadoop
复制到另外两台:
scp -r /home/hadoop/桌面/hadoopCaixiongyu2:/home/hadoop/桌面
scp -r /home/hadoop/桌面/hadoopCaixiongyu3:/home/hadoop/桌面
然后把环境变量复制过去:
格式化:(期间有许多xml文件容易设置错误,修改一下就成功了。)
./bin/Hadoop namenode -formate
启动hadoop:
在主节点:
从节点:
跑实例:
1.在 hadoop 目录下创建 localfile 目录 ,保存本地的 文件, mkdir localfile
2.创建 文件 word-count 文件 ,输入 文件内容 viword-count
原文件:
3.创建 远程 文件目录: hadoopfs -mkdir test-examples
4.将 word-count3 文件上传
5.执行自带例子:保存在word-count-result4
查看输出结果:
查看集群状态: