配置工作
关闭防火墙
bash
systemctl stop firewalld
systemctl disable firewalld.service #禁止开机自启动
IP设置
cpp
vim /etc/sysconfig/network-scripts/ifcfg-ens33
将动态ip获取BOOTPROTO="dhcp"改为静态static
添加IP地址IPADDR=192.168.10.100
网关GATEWAY=192.168.10.2
域名解析器DNS1=192.168.10.2
设置主机名并hosts映射
bash
vim /etc/hostname
bash
vim /etc/hosts
添加
192.168.10.100 hadoop1
192.168.10.101 hadoop2
192.168.10.102 hadoop3
创建用户并授权
bash
useradd yunwei
passwd 773828xh
bash
vim /etc/sudoers
在%wheel下面一行添加
yunwei ALL=(ALL) NOPASSWD:ALL
安装hadoop
bash
tar -zxvf hadoop-3.2.0.tar.gz -C /opt/module/
配置环境变量
bash
进入hadoop安装目录
cd hadoop-3.2.0
pwd 获取绝对路径
/opt/module/hadoop-3.2.0
vim /etc/profile.d/my_env.sh
增加
#HADOOP_HOME
export HADOOP_HOME =/opt/module/hadoop-3.2.0
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
#别忘了source生效
SSH配置免密登录
bash
#集群所有机器上生成公钥和私钥
ssh-keygen -t rsa
#公钥拷贝给集群所有机器
ssh-copy-id hadoop1
ssh-copy-id hadoop2
ssh-copy-id hadoop3
就可以ssh xxx免密登录了
时钟同步
三台机器都做
bash
crontab -e
* * * * * /usr/sbin/ntpdate -u ntp.aliyun.com > /var/null 2>&1
编写集群分发脚本
bash
cd /home/myxsync
mkdir bin
vim xsync
#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi
#2. 遍历集群所有机器
for host in hadoop1 hadoop2 hadoop3
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
将脚本所在目录添加到环境变量