文章目录
- 说明
- 分享
- 环境
- 创建同步工具
- 编写脚本
- 设置为系统命令
- 安装jdk
- 总结
说明
搭建好集群虚拟机,新建同步工具并安装jdk,同步工具方便管理集群,某些操作和一条命令,同步所有节点,增加集群操作效率。
分享
- 大数据博客列表
- 开发记录汇总
- 个人java工具库 项目https://gitee.com/wangzonghui/object-tool
- 包含json、string、集合、excel、zip压缩、pdf、bytes、http等多种工具,欢迎使用。
环境
- jdk java 8.201
创建同步工具
- 同步工具是将制定文件后文件夹发送到其他服务器项目位置,同步目录时只同步修改文件,相同文件不同步。将该脚本制作为系统命令,方便使用。
编写脚本
- 安装同步工具rsync:
sudo yum install rsync
,以hadoop102
作为主控节点,创建同步工具,也可根据需要为每个节点创建同步工具。 - 编写同步脚本,保存在用户工作目录bin目录下,创建目录
mkdir ~/bin
,创建同步文件:vi ~/bin/xsync
。
#!/bin/bash
source ~/.bash_profile
#1. 判断参数个数
if [ $# -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi
#2. 遍历集群所有机器
for host in hadoop102 hadoop103 hadoop104
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 ~/bin/xsync
设置为系统命令
-
将用户 bin 目录注册为用户命令:
vi ~/.bash_profile
,填入内容:PATH=$PATH:/home/wang/bin
- 如果用户不是wang,用户名是什么填什么,根据实际情况,也可以通过如下方式查看:
cd ~/bin && pwd
- 如果用户不是wang,用户名是什么填什么,根据实际情况,也可以通过如下方式查看:
-
测试任意目录运行xsync
安装jdk
-
在hadoop102操作,上传jdk安装包:
jdk-8u201-linux-x64.tar.gz
到目录:/opt/software
-
解压安装包到目录
/opt/module
命令:tar -zxvf jdk-8u201-linux-x64.tar.gz -C /opt/module
- 编辑文件:
vi /etc/profile.d/my_env.sh
#JAVA_HOME export是全局变量 export JAVA_HOME=/opt/module/jdk1.8.0_201 export PATH=$PATH:$JAVA_HOME/bin
- 编辑文件:
-
验证jdk,查看版本:
java -version
-
在 hadoop102 使用同步工具为其他节点安装jdk
# 分发jdk
xsync /opt/module/jdk1.8.0_201
# 分发 配置文件,此处需要root权限,使用sudo
sudo xsync /etc/profile.d/my_env.sh
- 验证hadoop103、hadoop104 jdk安装是否安装成功:
java -version
总结
- 完成了虚拟机集群创建,同步脚本编写,jdk安装,下一篇安装hadoop。