一、虚拟机环境准备
- 单台虚拟机:内存4G,硬盘50G,安装必要环境
sudo yum install -y epel-release
sudo yum install -y psmisc nc net-tools rsync vim lrzsz ntp libzstd openssl-static tree iotop git
- 修改克隆虚拟机的静态IP
sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33
改成
BOOTPROTO=static
IPADDR=192.168.1.101
GATEWAY=192.168.1.2
DNS1=192.168.1.2
4.查看Linux虚拟机的虚拟网络编辑器,编辑->虚拟网络编辑器->VMnet8
- 查看Windows系统适配器VMware Network Adapter VMnet8的IP地址
- 修改主机名
(1)修改主机名称
sudo hostnamectl --static set-hostname hadoop101
(2)配置主机名称映射,打开/etc/hosts
sudo vim /etc/hosts
添加如下内容
192.168.1.100 hadoop100
192.168.1.101 hadoop101
192.168.1.102 hadoop102
192.168.1.103 hadoop103
192.168.1.104 hadoop104
192.168.1.105 hadoop105
192.168.1.106 hadoop106
192.168.1.107 hadoop107
192.168.1.108 hadoop108
(3)修改window的主机映射文件(hosts文件)
(a)进入C:\Windows\System32\drivers\etc路径
(b)打开hosts文件并添加如下内容
192.168.1.100 hadoop100
192.168.1.101 hadoop101
192.168.1.102 hadoop102
192.168.1.103 hadoop103
192.168.1.104 hadoop104
192.168.1.105 hadoop105
192.168.1.106 hadoop106
192.168.1.107 hadoop107
192.168.1.108 hadoop108
7.关闭防火墙
sudo systemctl stop firewalld
sudo systemctl disabled firedwalld
- 创建用户
sudo useradd oodyp
sudo passwd 123456
- 重启虚拟机
reboot
- 配置oodyp用户具有root权限
visudo
修改/etc/sudoers文件,找到下面一行(91行),在root下面添加一行,如下所示:
输入 (:set nu) 出现行号方便快速定位
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
oodyp ALL=(ALL) NOPASSWD:ALL
- 在/opt目录下创建文件夹
(1)在/opt目录下创建module、software文件夹
sudo mkdir module
sudo mkdir software
(2)修改module、software文件夹的所有者
sudo chown oodyp:oodyp /opt/module /opt/software
(3)切换至oodyp用户
su - oodyp
su 用户名称 (功能描述:切换用户,只能获得用户的执行权限,不能获得环境变量)
su - 用户名称 (功能描述:切换到用户并获得该用户的环境变量及执行权限)#
二、安装JDK和Hadoop
1.卸载现有JDK
rpm -qa | grep -i java | xargs -n1 sudo rpm -e --nodeps
- 将JDK和Hadoop导入到opt目录下面的software文件夹下面
进入到 /opt/software目录下,点击取消按钮会出现一个新的窗口,直接把要上传的文件拖到这个窗口就可以上传文件到对应目录。
- 进入到/opt/software目录下查看是否上传成功
cd /opt/software
ll
4. 解压JDK和hadoop到/opt/module目录下
tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
- 添加到环境变量
打开/etc/profile.d/my_env.sh文件
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
6.让修改后的文件生效(可以使用$PATH看下有没有生效,没有在执行下面的语句)
source /etc/profile
- 测试是否安装成功
java -version
hadoop version
hadoop checknative 检查本地库文件,最后一个可以为false
- 重启(如果Hadoop命令不能用再重启)
sync (sync 指令会将存于 buffer 中的资料强制写入硬盘中)
sudo reboot
三、编写集群分发脚本xsync
- 在/home/oodyp/bin这个目录下存放的脚本,oodyp用户可以在系统任何地方直接执行
- 在/home/oodyp目录下创建xsync文件
#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi
#2. 遍历集群所有机器
for host in hadoop102 hadoop103 hadoop104