安装依赖
创建脚本
创建脚本
1 2
| mkdir /data/tools/bigdata/mysh/ vi /data/tools/bigdata/mysh/ha-fenfa.sh
|
增量同步
内容如下
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
USAGE="使用方法:sh ha-fenfa.sh /home/test.txt or sh ha-fenfa.sh /data/tools/bigdata/hadoop-2.7.7" if [ $# -ne 1 ];then echo $USAGE exit 1 fi
FDNAME=$(basename $1)
PDIR=$(cd -P $(dirname $1);pwd)
USER=$(whoami)
NODES=("hadoop02" "hadoop03")
for NODE in ${NODES[*]};do echo "--------分发至$NODE--------" ssh $NODE " if [ -d $PDIR ];then . /etc/profile else mkdir $PDIR fi" rsync -av $PDIR/$FDNAME $USER@$NODE:$PDIR done echo "----------------------------------------------------------------------------------------" echo -e "--------\033[5;32m $PDIR/$FDNAME 分发完成! \033[0m--------" echo "----------------------------------------------------------------------------------------"
|
修改权限
1
| chmod 777 /data/tools/bigdata/mysh/ha-fenfa.sh
|
镜像同步
1
| rsync -avzP --delete $FLINK_HOME/lib root@hadoop02:$FLINK_HOME
|
上面的脚本可改为
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
USAGE="使用方法:sh ha-fenfa.sh /home/test.txt or sh ha-fenfa.sh /data/tools/bigdata/hadoop-2.7.7" if [ $# -ne 1 ];then echo $USAGE exit 1 fi
FDNAME=$(basename $1)
PDIR=$(cd -P $(dirname $1);pwd)
USER=$(whoami)
NODES=("hadoop02" "hadoop03")
for NODE in ${NODES[*]};do echo "--------分发至$NODE--------" ssh $NODE " if [ -d $PDIR ];then . /etc/profile else mkdir $PDIR fi" rsync -avzP --delete $PDIR/$FDNAME $USER@$NODE:$PDIR done echo "----------------------------------------------------------------------------------------" echo -e "--------\033[5;32m $PDIR/$FDNAME 分发完成! \033[0m--------" echo "----------------------------------------------------------------------------------------"
|
配置环境变量
添加环境变量
创建配置文件
1
| vi /etc/profile.d/mysh.sh
|
加入:
1 2
| export MYSH_HOME=/data/tools/bigdata/mysh/ export PATH=$MYSH_HOME:$PATH
|
配置立即生效
查看MYSH_HOME
使用
注意
分发前要保证目标所在路径的父路径是存在的
目标安装rsync
1 2
| ssh hadoop02 "yum install -y rsync" ssh hadoop03 "yum install -y rsync"
|
目标创建文件夹
1 2
| ssh hadoop02 "mkdir -p /data/tools/bigdata/" ssh hadoop03 "mkdir -p /data/tools/bigdata/"
|
分发Zookeeper
分发Hadoop
1
| ha-fenfa.sh $HADOOP_HOME
|
分发Flink
分发配置文件
1 2 3
| ha-fenfa.sh /etc/profile.d ssh hadoop02 "source /etc/profile" ssh hadoop03 "source /etc/profile"
|
Bash文字样式
示例
1 2 3
| echo -e "\E[31;43m\033[4m 我是文字 \033[0m"
echo -e "--------\033[5;32m 分发完成! \033[0m--------"
|
首先解释\E[,\033[和m
\E[和m之间是颜色的控制字符串
3是前景色控制,后面跟的是颜色值(0-9),
4是背景色控制,后面跟的是颜色值(0-9),
前景色和背景色设定之间使用;分隔开。
\033[和m之间是样式控制串
\033[后面跟样式值(上面的例子中是4表示下划线),
接着是要彩色显示的文字串
前景色和背景色的颜色对应的编号(0-9)
- 0 black
- 1 red
- 2 green
- 3 yellow
- 4 blue
- 5 magenta(洋红色)
- 6 cyan(青色)
- 7 gray
- 8 white
- 9 white
样式控制数字编号为(1-9)
- 1 淡些、粗些
- 4 下划线
- 5 在CentOS上没效果 在Ubuntu上是闪烁
- 7 反相(颠倒前景色和背景色)
- 9 删除线
- 2,3,6,8 正常