在Ubuntu16.04中搭建hadoop2.8.0集群

因安装hadoop集群用了三台虚拟机,所以所需内存至少要8G如图所示:
在这里插入图片描述
一、下载hadoop
下载地址:http://archive.apache.org/dist/hadoop/common/hadoop-2.8.0/hadoop-2.8.0.tar.gz
二、安装个虚拟机并实现ssh免密登陆
2.1安装三台机器
使用Ubuntu16.04安装三台Linux,分别命名为master、slave1、slave2
在这里插入图片描述
安装好之后,使用ifconfig查看三台机器的ip,其对应关系分别是
192.168.46. 134 master
192.168.46. 135 slave1
192.168.46. 135 slave2
2.2安装Vmware tools
然后再每台机器中都安装Vmware tools,方便我们从桌面讲文件拉入虚拟机中,安装较为简单,科参考百度教程:
https://jingyan.baidu.com/article/20095761f65687cb0721b4ae.html
2.3、检查机器名称
为了后续操作发辫,确保机器的hostname是我们所需要的,使用hostname命令查看机器名称
在这里插入图片描述
如果不是可以改成自己所需的名称
hostname 所需名称
2.4、添加域名映射、固定IP和静态DNS
2.4.1、添加域名映射(三台机器相同)
进入sudo用户,修改这3台机器的/etc/hosts文件,在文件中添加以下内容(添加域名映射):
192.168.46. 134 master
192.168.46. 135 slave1
192.168.46. 135 slave2
在这里插入图片描述
如果没有vim可以进行下载,也可以使用vi
在这里插入图片描述
配置完成之后使用ping命令检查三台机器是否相互ping的通
在这里插入图片描述在这里插入图片描述
ping得通,说明机器是互联的,而且hosts配置也正确。
2.4.2、固定IP和静态DNS(以master为例,** slave1和slave2除了IP地址不同,其余设置一样

输入ifconfig获取master的ip和子网掩码
在这里插入图片描述
在编辑中选择虚拟网络编辑器,
在这里插入图片描述
选择NAT模式,点击NAT设置
在这里插入图片描述
可以看到网关
在这里插入图片描述
然后vim /etc/network/interfaces加入一下语句:
auto 接口名 #要设置的网卡
iface 接口名 inet static #设置静态IP;如果是使用自动IP用dhcp,后面的不用设置,一般少用
addressxxx.xxx.xxx.xxx #IP地址
netmaskxxx.xxx.xxx.xxx #子网掩码
gatewayxxx.xxx.xxx.xxx #网关
dns-nameservers:xxx.xxx.xxx.xxx #配置静态DNS
在这里插入图片描述
因为以前是dhcp解析,所以会自动分配dns服务器地址
而一旦设置为静态ip后就没有自动获取到的dns服务器了
要自己设置一个:
sudo vim /etc/resolv.conf
写上一个公网的DNS即可,nameserver xxx.xxx.xxx.xxx
在这里插入图片描述
注意:上面设置的文件重启后会覆盖,如果要持久的保存,需要修改:/etc/resolvconf/resolv.conf.d/base
改为如下内容:
nameserver xxx.xxx.xxx.xxx
然后重启网卡使其生效
/etc/init.d/networking restart
2.5、下载ssh
apt-get install ssh
2.6、给3台机器生成密钥文件
以master为例,执行命令,生成空字符串的秘钥(后面要使用公钥),命令是:
ssh-keygen -t rsa -P ''
因为是用sudo用户生成的,所以 密钥文件保存到了/root/.ssh目录中,可以使用命令查看,命令是ls /root/.ssh/
在这里插入图片描述
使用同样的方法再slave1和slave2中生成密钥
2.7、在master上创建authorized_keys文件
接下来要做的事情是在3台机器的/root/.ssh/目录下都存入一个内容相同的文件,文件名称叫authorized_keys,文件内容是我们刚才为3台机器生成的公钥。为了方便,我下面的步骤是现在master上生成authorized_keys文件,然后把3台机器刚才生成的公钥加入到这个master的authorized_keys文件里,然后在将这个authorized_keys文件复制到slave1和slave2上面。
首先使用命令,在master的/root/.ssh/目录中生成名为authorized_keys的文件,命令是:
touch /root/.ssh/authorized_keys
在这里插入图片描述
其次将master上的/root/.ssh/id_rsa.pub文件内容,slave1上的/root/.ssh/id_rsa.pub文件内容,slave2上的/root/.ssh/id_rsa.pub文件内容复制到master的authorized_keys文件中,复制好之后将master的authorized_keys文件的内容复制到slave1和slave2中
master中/root/.ssh/id_rsa.pub内容是:
在这里插入图片描述
slave1/root/.ssh/id_rsa.pub内容是:
在这里插入图片描述
slave2/root/.ssh/id_rsa.pub内容是:
在这里插入图片描述
合并后三台机器的/root/.ssh/authorized_keys文件的内容是
在这里插入图片描述
2.8、测试使用ssh进行无密码登陆
在master中:
使用ssh slave1
exit退出
在这里插入图片描述
按上述步骤在三台机器上都进行测试,确保ssh可以无密登陆
但是一定要注意的是,每次ssh完成后,都要执行exit,否则你的后续命令是在另外一台机器上执行的。
2.9、永久关闭防火墙
三、安装jdk和Hadoop
3.1、安装jdk
可参考博文:https://blog.csdn.net/pucao_cug/article/details/68948639
注:三台机器都要执行此操作
3.2、安装hadoop
3.2.1、上载文件并解压缩
在opt目录下新建一个hadoop的目录,并将下载得到的hadoop-2.8.0.tar上载到该目录下,进入该目录:cd /opt/hadoop
执行解压命令:tar -xzvf hadoop-2.8.0.tar.gz
注:三台机器都要执行此操作
3.2.2、配置hadoop
三台机器都要进行配置,且配置相同
首先,编辑 /opt/hadoop/hadoop-2.8.0/etc/hadoop/hadoop-env.sh文件,找到如下一行:
export JAVA_HOME=${JAVA_HOME}
将其修改成如图所示:
在这里插入图片描述
注:这里的/opt/java/jdk1.8.0_201就是jdk真是安装位置,需要根据真实情况更改。
其次,编辑/opt/hadoop/hadoop-2.8.0/etc/hadoop/core-site.xml文件,将下列内容嵌入configuration标签中,三台机器操作相同
hadoop.tmp.dir
/home/master/test**
fs.defaultFShdfs://cMaster:8020
如图所示:
在这里插入图片描述
编辑/opt/hadoop/hadoop-2.8.0/etc/hadoop/yarn-site.xml文件,将如下内容嵌入到此文件的configuration标签中,三台机器相同:
yarn.resourcemanager.hostnamemaster
yarn.nodemanager.aux-servicesmapreduce_shuffle
如图所示:
在这里插入图片描述
最后,将文件/opt/hadoop/hadoop-2.8.0/etc/hadoop/mapre-site.xml.template重命名为/opt/hadoop/hadoop-2.8.0/etc/hadoop/mapre-site.xml。接着编辑此文件,将如下内容嵌入configuration标签中,三台机器操作相同
mapreduce.framework.nameyarn
效果如图所示:
在这里插入图片描述
四、启动hadoop
4.1、在namenode上执行初始化
因为master是namenode,slave1和slave2都是datanode,所以只需对master进行初始化,也就是对hdfs进行格式化。
进入master中的/opt/hadoop/hadoop-2.8.0/bin目录,初始化运行脚本:
./hadoop namenode -format
稍等几秒,不报错的话,即可执行成功
4.2在namenode上执行启动命令
进入master的/opt/hadoop/hadoop-2.8.0/sbin目录,执行初始化脚本,也就是执行命令:
./start-all.sh
第一次执行上面的启动命令,会需要我们进行交互操作,在问答界面上输入yes回车
五、测试hadoop
haddoop启动了,需要测试一下hadoop是否正常。
master我们的namanode,该机器的IP是192.168.46.134,在本地电脑访问如下地址:

         http://192.168.46.134:50070/

自动跳转到了overview页面
如图:
在这里插入图片描述
下滑之后可以看到有三个节点存活
在这里插入图片描述
在这里插入图片描述
在本地浏览器里访问如下地址:

        http://192.168.46.134:8088/

自动跳转到了cluster页面
如图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值