数据学习从0到1 构建分布式Hadoop学习环境

88 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第17天 juejin.cn/post/716729… 集群规划

伪分布集群搞定了以后我们来看一下真正的分布式集群是什么样的

看一下这张图,图里面表示是三个节点,左边这一个是主节点,右边的两个是从节点,hadoop集群是支持主从架构的。

不同节点上面启动的进程默认是不一样的。

下面我们就根据图中的规划实现一个一主两从的hadoop集群

环境准备:三个节点

bigdata01 192.168.197.101

bigdata02 192.168.197.102

bigdata03 192.168.197.103

注意:每个节点的基础环境都要先配置好,先把ip、hostname、firewalld、ssh免密码登录、JDK这些基础环境配置好

配置hosts

分别修改bigdata01、bigdata03、bigdata03 hosts文件

集群时间同步

三台机器都要同步:注意 ,时间同步是重要概念

默认是没有ntpdate命令的,需要使用yum在线安装,

执行命令 yum install -y ntpdate

三台都要下载

然后手动执行ntpdate -u ntp.sjtu.edu.cn 确认是否可以正常执行

在三台节点上都和sjtu时间进行同步

完成bigdata01到02和03号机的免密

首先在bigdata01机器上执行下面命令,将公钥信息拷贝到两个从节点

然后在bigdata02和bigdata03上执行

cat ~/authorized_keys >> ~/.ssh/authorized_keys

验证效果看看是否可以从bigdata01免密登录到bigdata02和03

提问:是否用必要实现从节点之间免密?

答:没必要,主节点能够登录从节点即可

主节点配置Hadoop

core-site.xml

hdfs-site.xml

mapred-site.xml

yarn-site.xml

workers

配置biadata02 bigdata03

start-dfs.sh/stop-dfs.sh 增加配置

切换至/data/soft/hadoop-3.2.0/sbin目录下

新增配置

start-yarn.sh/stop-yarn.s… 增加配置

发送Hadoop到02、03机器

注意这里要确保02、03机器都有jdk环境并且以及配置环境变量

scp -rq /data/soft/jdk1.8/ bigdata03:/data/soft/

scp -rq /data/soft/jdk1.8/ bigdata02:/data/soft/

scp -rq /data/soft/ hadoop-3.2.0 bigdata02:/data/soft/

scp -rq /data/soft/ hadoop-3.2.0 bigdata03:/data/soft/

这里远程发送需要等待一段时间

在01节点格式化Namenode

bin/hdfs namenode -format

启动集群

在01上群起

看到图示说明一主两从启动完毕

为虚拟机添加快照保存节点

Hadoop官网搭建指南

hadoop.apache.org/docs/stable…

配置Hadoop的客户端节点

在实际工作中不建议直接连接集群中的节点来操作集群,直接把集群中的节点暴露给普通开发人员是不安全的

建议在业务机器上安装Hadoop,只需要保证业务机器上的Hadoop的配置和集群中的配置保持一致即可,这样就可以在业务机器上操作Hadoop集群了,此机器就称为是Hadoop的客户端节点

Hadoop的客户端节点可能会有多个,理论上是我们想要在哪台机器上操作hadoop集群就可以把这台机器配置为hadoop集群的客户端节点。