模板虚拟机百度网盘下载地址

链接:https://pan.baidu.com/s/1UUoA2iGyrBo8jwH2qPFGMg

提取码:yyds

1 安装模板虚拟机,

ip地址为192.168.233.128 , 主机名称 hadoop100 , 内存4G,硬盘50G

1.1 测试网络联通情况

  • img

1.2 安装epel-release

Extra Packages for Enterprise Linux是为 红帽系的操作系统提供额外的软件包,适用于RHEL,CentOS和Scientific Linux。 相当于是一个软件仓库,大多数rpm包在官方repository中是找不到的

yum install -y epel-release

img

1.3关闭防火墙,关闭防火墙开机自启

systemctl stop firewalld
systemctl disable firewalld.service

在企业开发时,通常单个服务器的防火墙关闭的时候,公司整体会对外设置非常安全的防火墙

1.4 在/opt 目录下创建文件夹,并修改所属主和所属组

在/opt目录下创建module, software文件夹

#创建文件夹
mkdir /opt/module
mkdir /opt/software
cd /opt/
ll

img

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 克隆三台模板虚拟机

  • 关闭虚拟机

  • 右键找到管理点击克隆

  • 克隆时选择完整克隆

  • 修改虚拟机名称

img

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

img

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

img

img

4.2 进行注册认证

 #在hadoop100上执行 第一次需要输入密码 依次执行到 101 102
 ssh-copy-id hadoop100
 ssh-copy-id hadoop101
 ssh-copy-id hadoop102
 # 成功后会多一个认证文件

img

4.3 在hadoop101上执行上面步骤

#生成密钥
ssh-keygen -t rsa
#依次注册
 ssh-copy-id hadoop100
 ssh-copy-id hadoop101
 ssh-copy-id hadoop102

img

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

  1. 将JDK上传到/opt/software/文件夹中

img

  1. 解压到 /opt/module/目录下
tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/

img

  1. 配置环境变量
#复制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

img

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