集群搭建

集群搭建:

1,创建 atguigu 用户

useradd atguigu

passwd atguigu

2,设置 hostname

hostnamectl --static set-hostname hadoop102

3,关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

4,设置 ip

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

修改:

BOOTPROTO=static

ONBOOT=yes

添加

IPADDR=192.168.1.102

GATEWAY=192.168.1.2

DNS1=192.168.1.2

DNS2=114.114.114.114

5,设置映射

vim /etc/hosts

192.168.1.102 hadoop102

192.168.1.103 hadoop103

192.168.1.104 hadoop104

6,创建文件夹,并修改权限

mkdir /opt/software

mkdir /opt/module

chown atguigu:atguigu /opt/software

chown atguigu:atguigu /opt/module

7,设置 sudo 权限为免密:

atguigu ALL=(ALL) NOPASSWD: ALL

-------复制虚拟机-------

8,修改 ip 以及 hostname

修改 ip:

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

IPADDR=192.168.1.103

IPADDR=192.168.1.104

修改 hostname:

hostnamectl --static set-hostname hadoop103

hostnamectl --static set-hostname hadoop104

9,所有 root 以及 atguigu 都要设置 ssh 免密

ssh-keygen

root 用户:

ssh-copy-id root@hadoop102

atguigu 用户:

ssh-copy-id atguigu@hadoop102

10,安装 vim

11,设置命令行界面(设置为 3)

systemctl get-default //获取当前的启动项

systemctl set-default multi-user.target

12,设置分发脚本

12.1,安装 rsync

sudo yum install -y rsync
12.2,xsync 脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#! /bin/bash
#1、判断是否传入待同步的文件/目录
if [ $# -lt 1 ]
then
echo "必须传入一个文件/目录"
exit
fi
#2、遍历待同步的多个文件/目录
for fileOrDir in $@
do
#3、判断当前待同步的文件/目录是否存在
#-d: 判断是否为目录
#-f: 判断是否为文件
#-e: 判断是否存在
if [ -e $fileOrDir ]
then
#4、获取待同步的文件/目录的父目录、文件名/最后一个目录名
pdir=$(cd $(dirname $fileOrDir);pwd)
fname=$(basename $fileOrDir)
for host in hadoop102 hadoop103 hadoop104
do
echo "===============$host===================="
#5、在其他机器上创建父目录
ssh $host "mkdir -p $pdir"
#6、同步文件/目录
rsync -av $pdir/$fname $host:$pdir
done
fi
done
# cd /opt/module/xx
#xsync a.txt /opt/module/xx/b.txt

-av 打印进度

12.3,在 home 家目录下创建一个 bin 目录并编写脚本(平时用于分发 atguigu 账号下的文件,如:module 或者 software 文件夹下的)

cd ~

mkdir bin

vim xsync

chmod +x xsync
12.4,将文件复制一份到 root 用户的/bin 目录下(平时用于分发 root 账号下的文件,如:/etc/profile.d/my_env.sh)

sudo cp /home/atguigu/bin/xsync /bin/

13,安装 lrzsz,用于传输文件

sudo yum install lrzsz
使用 rz 命令上传文件,sz 文件名 命令下载文件

安装 JDK

1,检查 Linux 中是否存在 jdk,如果存在就将其移除

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

2,将文件上传至 software 文件夹,并解压至 module 文件夹,并改名为 java

tar -zxvf /opt/software/jdk-8u212-linux-x64.tar.gz /opt/module/

mv /opt/module/jdk1.8.0_212 java

3,设置环境变量

export JAVA_HOME=/opt/module/java

export PATH=$PATH:$JAVA_HOME/bin

4,分发 java 文件

xsync /opt/module/java/

5,分发全局配置文件

sudo xsync /etc/profile.d/my_env.sh

注意:source 一下

source /etc/profile.d/my_env.sh

注意:不要在 root 用户连接的情况下,使用 sudo 去连接 atguigu 用户然后再进行操作 atguigu 这个用户