900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 如何构建虚拟机Hadoop集群 搭建3台ubuntu虚拟机集群

如何构建虚拟机Hadoop集群 搭建3台ubuntu虚拟机集群

时间:2021-08-13 15:51:43

相关推荐

如何构建虚拟机Hadoop集群 搭建3台ubuntu虚拟机集群

如何构建虚拟机Hadoop集群,搭建3台ubuntu虚拟机集群

克隆集群机器

通过虚拟机搭建Hadoop集群,发现使用的VMware workstation 15 player版本没有克隆功能,于是找到了手动克隆方法:

参考:/weixin_44763047/article/details/111772941

搭建集群

一台Ubuntu主机系统作Master(yjh-ubuntu),一台Ubuntu主机系统命名为slave01,一台Ubuntu主机系统命名为slave02。三台主机机器处于同一局域网下。这里使用三台主机搭建分布式集群环境,更多台机器同样可以使用如下配置。

输入命令,分别更改主机名称

sudo vim /etc/hostname

1) 网络配置

在主机上添加网卡,一张设置为NAT模式,一张设置为主机模式

主机分配的IP地址如果不固定,需要改成静态(一台有问题,三台都要改)。

输入 ifconfig 指令(以master主机为例)。

其IP地址为:192.168.72.130

输入命令修改节点IP映射

sudo vim /etc/hosts

192.168.72.130 yjh-ubuntu

192.168.72.131 slave01

192.168.72.132 slave02

在其余两个主机上重复修改后重启生效.

三台电脑主机的用户名均为hadoop.三台机器可以ping双方的ip来测试三台电脑的连通性。

在master主机上的中运行ping 192.168.72.132,测试能连接到slave02节点:

2) 配置ssh免密码连入

因为Ubuntu中默认没有安装SSH服务,所以我们先要执行三步使其生效(三台都要):

sudo apt-get install openssh-server #安装服务,一路回车 sudo /etc/init.d/ssh restart #启动服务 sudo ufw disable #关闭防火墙

执行以下命令看是否成功运行,如果成功的话,出现两个进程

ps -e | grep ssh

在master节点生成SSH公钥,公钥储存在/home/hadoop/.ssh

cd ~/.ssh# 如果没有该目录,先执行一次ssh localhost rm ./id_rsa* # 删除之前生成的公匙(如果有) ssh-keygen -t rsa # 一直按回车就可以

让master 节点可以无密码 SSH 本机,在 master 节点上执行

cat ./id_rsa.pub >> ./authorized_keys

完成后可执行 ssh master验证一下(需要输入 yes,成功后执行 exit 返回原来的终端)

ssh yjh-ubuntu

接着在 master 节点将上公匙传输到 slave01节点,过程中需要输入 slave01 节点的密码,传输100%以后就是传过去了:

scp ~/.ssh/id_rsa.pub hadoop@slave01:/home/hadoop/

接着在 slave01节点上,把公钥加入授权

mkdir ~/.ssh # 如果不存在该文件夹需先创建,若已存在则忽略 cat ~/id_rsa.pub >> ~/.ssh/authorized_keysrm ~/id_rsa.pub # 用完就可以删掉了

对 slave02 重复上面俩步,这样 master 节点就可以无密码登陆2个 slave 节点了

ssh slave01 #可以用来检验是否能成功登陆,exit退出

3) 配置分布式集群环境

需要修改/usr/local/hadoop/hadoop-2.10.1/etc/hadoop中的5个配置文件。

slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml

1、slaves

此文件记录的是将要作为 Datanode 节点的名字。将 slave01,slave02 主机名字加入进去,如果想让 yjh-ubuntu 节点作为 Namenode 的同时也作为 Datanode,可以保留 localhost。(我这里保留)

2、core-site.xml

改为如下配置:

3、hdfs-site.xml

这文件记录备份相关。dfs.replication 一般设为 3,我们有2个 slave 节点,因此可以将 dfs.replication 的值设为 2

改为如下配置:

4、mapred-site.xml

可能默认文件名为 mapred-site.xml.template ,此时需要重命名

mv mapred-site.xml.template mapred-site.xml

改为如下

5、yarn-site.xml改为如下配置:

配置好以后,将master 节点上的/usr/local/hadoop/hadoop-2.10.1/etc/hadoop文件夹复制到剩余节点上。

在 master 节点执行:

cd /usr/localsudo rm -r ./hadoop/tmp# 删除 Hadoop 临时文件 cd hadoop/hadoop-2.10.1 sudo rm -r ./logs # 删除日志文件#去到/usr/localsudo tar -zcf ~/hadoop.yjh-ubuntu.tar.gz ./hadoop # 先压缩再复制 cd ~#跳转到有压缩包的路径下 scp ./hadoop.yjh-ubuntu.tar.gz slave01:/home/hadoop#发送到slave01节点,其他salve节点也要执行

在剩余 salve 节点上执行(以slave01为例):

在sudo rm -r /usr/local/hadoop # 删掉旧的(如果存在) sudo tar -zxf ~/hadoop.yjh-ubuntu.tar.gz -C /usr/local sudo chown -R hadoop /usr/local/hadoop

4) 启动 Hadoop

首次启动 Hadoop 需要将 master 节点格式化:

在hdfs namenode -format # 首次运行需要执行初始化,之后不需要

启动

start-all.sh mr-jobhistory-daemon.sh start historyserver

通过命令 jps 可以查看各个节点的启动进程

jps

master 有 NameNode、ResourceManager、SecondrryNameNode、JobHistoryServe

以上进程缺少任意一个都表示有错。

Slave02节点

在 master 节点查看 DataNode 是否正常启动。以我为例,Live datanodes 为 2,与 slave 数量一致,集群启动成功。

hdfs dfsadmin -report

可以通过 Web 页面看到查看 DataNode 和 NameNode 的状态:http://yjh-ubuntu:50070/

可选:

关闭Hadoop

cd /usr/local/hadoop stop-all.sh

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。