01-虚拟机准备工作

1、虚拟机准备

1.1 创建虚拟机

内存设置为2G起步,处理器要求不高设置为1Core,硬盘80G(考虑到未来会有hdfs的存储以及其他数据)

1.2 网络设置

1.2.1 修改ip为静态ip

vi /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="ef58ce15-e145-4b22-ac28-4194e4345195"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="10.144.144.101"
PREFIX="24"
GATEWAY="10.144.144.2"
DNS1="10.144.144.2"

直接复制文本替换即可

1.2.2 修改主机名

vi /etc/hostname

修改为: bigdata101

1.2.3 修改hosts

vi /etc/hosts

添加如下内容:

10.144.144.101 bigdata101
10.144.144.102 bigdata102
10.144.144.103 bigdata103

1.2.4 修改 windows hosts 文件

修改 C:\Windows\System32\drivers\etc\hosts 文件,添加如下内容:

# 大数据虚拟机配置
10.144.144.101 bigdata101
10.144.144.102 bigdata102
10.144.144.103 bigdata103

1.2.5 开启 SSH

  1. 先检查有没有安装ssh服务: rpm -qa | grep ssh
  2. 如果没有安装ssh服务就安装: yum install openssh-server
  3. ssh 配置开启: vi /etc/ssh/sshd_config

  1. 开启ssh服务: /bin/systemctl start sshd.service

1.2.6 关闭防火墙

  1. 查看防火墙状态:systemctl status firewalld
  2. 关闭防火墙:systemctl stop firewalld
  3. 禁用防火墙: systemctl disable firewalld

具体关于NAT网络部分的内容,参考另一篇文章

1.3 安装 vim

yum install vim

1.4 创建普通用户

# 1. 创建 bigdata 用户
useradd bigdata
# 2. 设置 bigdata 用户的密码,设置为 123456
passwd bigdata
# 3. 更改权限组
 vim /etc/sudoers

1.5 创建软件上传目录和解压目录

# 1. 进入目录
cd /opt/
# 2. 创建目录
mkdir software
mkdir module
# 3. /opt/ 目录下的所有内容设置为 bigdata 用户组,-R 递归
chown bigdata:bigdata -R /opt/

1.6 编写 xsync 脚本

  • 进入 /home/bigdata/ 目录,创建 bin 目录

  • cd bin/ 目录,编写 xsync 脚本
#!/bin/bash

#1. 判断参数个数
if [ $# -lt 1 ]; then
    echo Not Enough Arguement!
    exit
fi
#2. 遍历集群所有机器
for host in bigdata101 bigdata102 bigdata103; 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 +x xsync

  • 配置环境变量,使该脚本可以在任何地方调用到:

sudo vim /etc/profile.d/my_env.sh , 写入如下内容

# 加载 /home/bigdata/bin 下的所有脚本
export PATH=$PATH:/home/bigdata/bin

重新加载环境变量文件: source /etc/profile.d/my_env.sh

1.7 安装 rsync 依赖

sudo yum install rsync

1.8 卸载自带的 JDK

sudo rpm -qa | grep -i java | xargs -n1 sudo rpm -e --nodeps

1.9 从bigdata101克隆两台主机

要先关闭掉 bigdata101 ,然后再克隆。

1.10 修改 bigdata102 配置

  • vim /etc/sysconfig/network-scripts/ifcfg-ens33 配置 ip 为 10.144.144.102
  • vim /etc/hostname 为 bigdata102

1.11 修改 bigdata103 配置

修改内容同上bigdata102,略。

1.12 免密登录配置

  • bigdata@bigdata101: 生成密钥 ssh-keygen -t rsa,敲击三次回车即可
  • 进入目录:/home/bigdata/.ssh
  • 将公钥拷贝到要免密登录的目标机器上
[bigdata@bigdata101 .ssh]$ ssh-copy-id bigdata101
[bigdata@bigdata101 .ssh]$ ssh-copy-id bigdata102
[bigdata@bigdata101 .ssh]$ ssh-copy-id bigdata103
  • 切换成 root 用户后,cd , 再执行一遍 ssh-keygen -t rsa 命令
  • 进入目录:cd /root/.ssh,再拷贝一份密钥到目标机器上
[root@bigdata101 .ssh]# ssh-copy-id bigdata101
[root@bigdata101 .ssh]# ssh-copy-id bigdata102
[root@bigdata101 .ssh]# ssh-copy-id bigdata103
  • 登录 bigdata@bigdata102 机器,进入目录:/home/bigdata/.ssh,先执行 ssh-keygen -t rsa 生成bigdata102的密钥
  • 也执行一遍到目标的密钥拷贝
[bigdata@bigdata102 .ssh]$ ssh-copy-id bigdata101
[bigdata@bigdata102 .ssh]$ ssh-copy-id bigdata102
[bigdata@bigdata102 .ssh]$ ssh-copy-id bigdata103
  • 登录 bigdata@bigdata103 机器,进入目录:/home/bigdata/.ssh,先执行 ssh-keygen -t rsa 生成bigdata103的密钥
  • 最后执行一遍到目标的密钥拷贝
[bigdata@bigdata103 .ssh]$ ssh-copy-id bigdata101
[bigdata@bigdata103 .ssh]$ ssh-copy-id bigdata102
[bigdata@bigdata103 .ssh]$ ssh-copy-id bigdata103
  • 测试
posted @ 2022-05-12 00:22  LoremMoon  阅读(119)  评论(0编辑  收藏  举报