模板虚拟机百度网盘下载地址
链接:https://pan.baidu.com/s/1UUoA2iGyrBo8jwH2qPFGMg
提取码:yyds
1 安装模板虚拟机,
ip地址为192.168.233.128 , 主机名称 hadoop100 , 内存4G,硬盘50G
1.1 测试网络联通情况
1.2 安装epel-release
Extra Packages for Enterprise Linux是为 红帽系的操作系统提供额外的软件包,适用于RHEL,CentOS和Scientific Linux。 相当于是一个软件仓库,大多数rpm包在官方repository中是找不到的
yum install -y epel-release
1.3关闭防火墙,关闭防火墙开机自启
systemctl stop firewalld
systemctl disable firewalld.service
在企业开发时,通常单个服务器的防火墙关闭的时候,公司整体会对外设置非常安全的防火墙
1.4 在/opt 目录下创建文件夹,并修改所属主和所属组
在/opt目录下创建module, software文件夹
#创建文件夹
mkdir /opt/module
mkdir /opt/software
cd /opt/
ll
1.5 卸载虚拟机自带的JDK
如果虚拟机是最小化安装不需要执行这一步
rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
# rpm -qa : 查询所安装的所有rpm安装包
# grep -i : 忽略大小写
# xargs -nl: 表示每次只传递一个参数
# rpm -e -nodeps: 强制卸载软件
1.6 重启虚拟机
reboot
2 克隆三台模板虚拟机
-
关闭虚拟机
-
右键找到管理点击克隆
-
克隆时选择完整克隆
-
修改虚拟机名称
2.1 修改克隆的虚拟机
#查看ip 如果ip地址冲突就需要修改下对于的ip地址
ip addr
#修改主机名称 修改后保存
#设置每个机器自己的hostname
hostnamectl set-hostname xxx
#配置网络互通
echo "192.168.233.128 hadoop100" >> /etc/hosts
echo "192.168.233.132 hadoop101" >> /etc/hosts
echo "192.168.233.133 hadoop102" >> /etc/hosts
#重启虚拟机
reboot
3 编写集群分发脚本
# 进入root目录创建bin文件夹
mkdir bin
# 创建集群分发脚本 复制脚本内容到xsync
vim xsync
脚本内容
#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi
#2. 遍历集群所有机器
for host in hadoop100 hadoop101 hadoop102
do
echo ==================== $host ====================
#3. 遍历所有目录,挨个发送
for file in $@
do
#4 判断文件是否存在
if [ -e $file ]
then
#5. 获取父目录
pdir=$(cd -P $(dirname $file); pwd)
#6. 获取当前文件的名称
fname=$(basename $file)
ssh $host "mkdir -p $pdir"
rsync -av $pdir/$fname $host:$pdir
else
echo $file does not exists!
fi
done
done
#添加执行权限
chmod 777 xsync
4 配置无密登录
配置三台服务器无密登录
4.1 hadoop100生成密钥
#执行命令 后三次回车即可
ssh-keygen -t rsa
# 进入到当前用户下的.ssh目录可以看到密钥对
cd /root/.ssh
4.2 进行注册认证
#在hadoop100上执行 第一次需要输入密码 依次执行到 101 102
ssh-copy-id hadoop100
ssh-copy-id hadoop101
ssh-copy-id hadoop102
# 成功后会多一个认证文件
4.3 在hadoop101上执行上面步骤
#生成密钥
ssh-keygen -t rsa
#依次注册
ssh-copy-id hadoop100
ssh-copy-id hadoop101
ssh-copy-id hadoop102
5 安装JDK
5.1 卸载原有的JDK(3台节点)
这里因为我的模板问题需要先把/etc/sudoers第108行注释掉
sudo rpm -qa | grep -i java | xargs -n1 sudo rpm -e --nodeps
5.2 安装JDK
链接:https://pan.baidu.com/s/1aDyiKZYhpI2u9faCr2ryBQ
提取码:yyds
- 将JDK上传到/opt/software/文件夹中
- 解压到 /opt/module/目录下
tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
- 配置环境变量
#复制jdk所在的目录路径
[root@hadoop100 software]# cd /opt/module/
[root@hadoop100 module]# ll
total 0
drwxr-xr-x. 7 10 143 245 Apr 2 2019 jdk1.8.0_212
[root@hadoop100 module]# cd jdk1.8.0_212/
[root@hadoop100 jdk1.8.0_212]# pwd
/opt/module/jdk1.8.0_212
# 创建配置信息
vim /etc/profile.d/my_env.sh
#复制以下内容
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
#使环境变量生效
source /etc/profile.d/my_env.sh
5.3 分发到hadoop101 hadoop102
# 三台服务器都安装 rsync
yum install rsync -y
#进入到jdk所在的目录 执行命令同步jdk
cd /opt/module
xsync jdk1.8.0_212/
# 分发配置文件,如果不是root用户的话 需要加 sudo
xsync /etc/profile.d/my_env.sh
# 使环境变量生效
source /etc/profile.d/my_env.sh