觉得有帮助的,请多多支持博主,点赞关注哦~
文章目录
Hadoop完全分布式集群搭建
一、新建虚拟机
没啥说的,注意分区即可,我这里是演示,配置不高。
- /boot:300M足够
- /swap:一般为内存的两倍,2048M
- /home:2000M足够
- /:剩余空间
二、规划集群与服务
1、逻辑结构
2、物理结构
3、总结构
-
192.168.153.134:Hadoop01(主节点):
包括NameNode、DataNode、ResourceManager、NodeManager、JobHistoryServer
-
192.168.153.135:Hadoop02(从节点):
包括SecondaryNameNode、DataNode、NodeManager
-
192.168.153.136:Hadoop03(从节点):
包括NameNode、DataNode
三、配置集群
1、主节点基础网络配置
1)配置固定ip地址
2)配置主机名
3)配置主机名和ip地址映射
4)关闭防火墙
5)ping:宿主机和insternt,保证网络通讯正常
1.1、配置固定ip地址
# 配置固定ip
vi /etc/sysconfig/network-scripts/ifcfg-ens33
# 参考配置
IPADDR=192.168.153.134
NETMASK=255.255.255.0
GATEWAY=192.168.153.2
DNS1=114.114.114.114
DNS2=8.8.8.8
1.2、修改主机名
# 一、
# 修改network,修改主机名
vi /etc/sysconfig/network
# 参考配置
NETWORKING=yes
HOSTNAME=hadoop01
# 二、
# 修改主机名
vi /etc/hostname
# 参考配置
hadoop01
1.3、配置dns
# 修改resolv.conf,配置dns
vi /etc/resolv.conf
# 参考配置
nameserver 114.114.114.114
nameserver 8.8.8.8
1.4、配置 ip 地址和主机名映射
# 配置 ip 地址和主机名映射
vi /etc/hosts
# 参考配置
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.153.134 hadoop01
192.168.153.135 hadoop02
192.168.153.136 hadoop03
1.5、关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
# 相关命令
查看防火墙状态:firewall-cmd --state
关闭防火墙: systemctl stop firewalld.service
开启防火墙: systemctl start firewalld.service
禁止防火墙开机启动:systemctl disable firewalld.service
1.6、重启网卡
service network restart
2、新建用户及权限配置
2.1、创建目录
# -p递归创建,在存放临时文件的opt文件夹中分别创建software和model
mkdir -p /opt/software
mkdir -p /opt/model
2.2、创建用户组和用户
以后操作需要使用新建用户操作,不要直接使用root用户。
# 创建用户组 -g:指定组id
groupadd -g 1111 hadoopenv
# 创建用户 -m:自动创建家目录 -u:指定用户id -g:指定所属组
useradd -m -u 1111 -g hadoopenv hadoopenv
# 修改用户密码
passwd hadoopenv
# 可以查看组和用户
cat /etc/group
cat /etc/passwd
2.3、修改权限
需要给新建用户赋予root权限,才能完成一系列操作。
# 首先查看一下配置文件权限为440
ll /etc/sudoers
# 440是不能修改的,需要修改文件权限大一些,777,反正一会儿要改回来
chmod 777 /etc/sudoers
# 修改配置文件
vi /etc/sudoers
# 加入,可以使用G直接查看文末,进行添加
hadoopenv ALL=(ALL) NOPASSWD:ALL
# 将文件权限改回440,安全
chmod 440 /etc/sudoers
2.4、切换用户
# 切换到刚创建的用户
su hadoop01
# 进入opt目录
cd /opt
# 使用sudo进行目录拥有者修改
# sudo就是root权限
# 可以使用id修改
sudo chown -R 1111:1111 model
# 也可以使用名称修改
sudo chown -R 1111:1111 software
3、配置安装JDK
3.1、安装jdk
# 进入software目录
cd /opt/software
# 上传本地文件命令:rz
# 如果无法使用,则需要安装:sudo yum install lrzsz -y
rz
# 解压jdk到model目录下,-C:指定目录
tar -zxvf jdk -C ../model
# 进入model目录
cd ../model
# 修改jdk名称
mv jdk jdk1.8
3.2、配置环境变量并检查
# 配置环境变量
sudo vim /etc/profile
# 参考配置:
# 可以使用G,到末尾添加
export JAVA_HOME=/opt/model/jdk1.8
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
# 使配置文件生效
source /etc/profile
# 查看配置是否成功
java -version
echo $JAVA_HOME
which java
4、根据主节点hadoop01克隆两份系统
将hadoop01先关机,然后鼠标右击管理->克隆->创建完整克隆->填写名称、选择存放位置即可
5、修改各个从节点网络配置
# 修改两个从节点ip分别为
192.168.153.135
192.168.153.136
# 修改两个主机名分别为
hadoop02
hadoop03
# 重启
reboot
# 连接Xshell
6、主从节点实现免密登录
6.1、生成密钥
# 三台机器都要操作
[hadoopenv@hadoop01 ~]$ ssh-keygen -t rsa
6.2、复制公钥
# 将 hadoop01 的公钥写到本机和远程机器的 ~/ .ssh/authorized_keys 文件中(另外两台机器上需要做同样的动作)
[hadoopenv@hadoop01 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop01
[hadoopenv@hadoop01 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop02
[hadoopenv@hadoop01 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop03
6.3、验证免密登录
ssh hadoop01
ssh hadoop02
ssh hadoop03