搭建Spark集群详细步骤(2)

构建Spark集群(2)

构建spark集群经典4部曲:

1.搭建hadoop单机和伪分布式环境
2.构造分布式hadoop集群
3.构造分布式spark集群
4.测试spark集群

第二步 构造分布式hadoop集群

2.1在VMWare中准备第二、三台虚拟机

通过克隆的方式,在VMWare中创建三台虚拟机,分别命名为Master、Slave1、Slave2
在构建第二三台虚拟机的时候,使用相同的root超级用户的方式登录

2.2按照配置伪分布式模式的方式配置新创建运行Ubuntu系统的机器

2.3配置Hadoop分布式集群环境

(1)在/etc/hostname 中修改主机名并在/etc/hosts 中配置主机名和 IP 地址的对应关系:
我们把Master节点作为主节点,首先通过ifconfig查看ip地址(172.16.106.130)
然后在/etc/hostname中修改主机名vim /etc/hostname
修改为Master,保存退出,
之后通过hostname命令查看主机名,发现还没有更改
这里写图片描述
重启电脑,已经修改成功
这里写图片描述
通过命令vim /etc/hosts打开文件,此时我们发现文件中只有 Ubuntu 系统的原始 ip(127.0.0.1)地址和主机名(localhost) 的对应关系:
我们在/etc/hosts 中配置主机名和 IP 地址的对应关系:
这里写图片描述
修改之后保存退出。
之后使用ping命令看一下主机名和 IP 地址只见的转换关系是否正确:
屏幕快照 2018-07-05 上午8.50.51
可以看到主机‘Master’对应ip地址‘172.16.106.130’。

我们把第二三台机器作为从节点,按照上面的操作,分别查看他们的ip地址,修改主机名:

第二台:Slave1(172.16.106.131)
第三台:Slave2(172.16.106.132)

在Slave1中配置主机名和ip地址的对应关系
vim /etc/hosts
这里写图片描述
ping一下Master节点,发现网络访问没问题
这里写图片描述
在Slave2上进行相同的操作,然后分别测试其是否能和Master、Slave1通信。
在Master节点上配置主机名和ip地址的对应信息,把Slave1和Slave2的信息加上,然后测试网络是否互通。
(2)SSH无密码验证配置
首先尝试在没有进行配置的情况下,是否可以进行访问。
这里写图片描述
产生警告,但是可以访问,有时会出现需要输入密码的情况。
按照前面的配置,我们已经分布在 Master、Slave1、Slave2 这三台机器上的/root/.ssh/ 目录下生成一个私钥 id_rsa 和一个公钥 id_rsa.pub。
此时把 Slave1 的 id_rsa.pub 传给 Master,如下所示:
这里写图片描述
然后把Slave2的id_rsa.pub传给Master,如下所示:
这里写图片描述
在Master上检查公钥是否已经传输过来。
这里写图片描述
Master节点上综合所有公钥
这里写图片描述
将master节点的所有公钥信息复制到slave1和slave2的.ssh目录下
scp authorized_keys root@Slave1:/root/.ssh/authorized_keys
scp authorized_keys root@Slave2:/root/.ssh/authorized_keys
之后再次使用ssh登录Slave1和Slave2,不再有警告
(3)修改Master,Slave1,Slave2配置文件:
首先,修改Master的core-site.xml文件,将localhost改为Master。
原:
这里写图片描述
更改后:
这里写图片描述
之后将Slave1和Slave2的core-site.xml中的localhost修改为Master

其次,修改mapred-site.xml,将localhost更改为Master,新版本的hadoop中没有mapred-site.xml,可以将mapred-site.xml.template复制一份:
cp mapred-site.xml.template mapred-site.xml

最后,修改hdfs-site.xml,将“dfs.replication”值由 1 改为 3,这样我们的数据就会有 3 份副本:

配置slave文件(计算节点),三个机器都要进行同样的操作,在hadoop下的/etc/hadoop目录中:
vim slaves
修改为如下内容:

Master
Slave1
Slave2

主机节点既作为控制节点,也作为计算节点,数据副本3份。
(4)测试分布式环境
删除之前构建伪分布式环境时,tmp文件下的内容
rm -rf tmp/*
rm -rf /tmp/hadoop*
三台机器都要进行同样的操作。
之后再Master节点上,格式化hdfs

cd bin/   #进入hadoop文件夹下的bin目录下
hdfs namenode -format   #格式化
cd ../sbin/     #进入sbin目录下
./start-dfs.sh  #启动集群

分别在三台机器上通过jps命令,查看进程启动情况。
Master:
这里写图片描述
可以看到,master既作为namenode又作为datanode。

Slave1:
这里写图片描述
有datanode进程。

Slave2:
这里写图片描述
有datanode进程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aidanmomo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值