前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据环境部署之分发脚本

大数据环境部署之分发脚本

作者头像
码客说
发布2022-11-14 14:58:12
3450
发布2022-11-14 14:58:12
举报
文章被收录于专栏:码客

安装依赖

代码语言:javascript
复制
yum install -y rsync

创建脚本

创建脚本

代码语言:javascript
复制
mkdir /data/tools/bigdata/mysh/
vi /data/tools/bigdata/mysh/distribution.sh

内容如下

代码语言:javascript
复制
#!/bin/bash

#集群节点间文件或文件夹分发脚本
USAGE="使用方法:sh distribution.sh /home/test.txt or sh distribution.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 "----------------------------------------------------------------------------------------"

修改权限

代码语言:javascript
复制
chmod 777 /data/tools/bigdata/mysh/distribution.sh

配置环境变量

添加环境变量

代码语言:javascript
复制
cd /etc/profile.d/

创建配置文件

代码语言:javascript
复制
vi /etc/profile.d/mysh.sh

加入:

代码语言:javascript
复制
export MYSH_HOME=/data/tools/bigdata/mysh/ 
export PATH=$MYSH_HOME:$PATH

配置立即生效

代码语言:javascript
复制
source /etc/profile

查看MYSH_HOME

代码语言:javascript
复制
echo $MYSH_HOME

使用

注意

分发前要保证目标所在路径的父路径是存在的

目标安装rsync

代码语言:javascript
复制
ssh hadoop02 "yum install -y rsync"
ssh hadoop03 "yum install -y rsync"

目标创建文件夹

代码语言:javascript
复制
ssh hadoop02 "mkdir -p /data/tools/bigdata/"
ssh hadoop03 "mkdir -p /data/tools/bigdata/"

分发Zookeeper

代码语言:javascript
复制
distribution.sh $ZK_HOME

分发Hadoop

代码语言:javascript
复制
distribution.sh $HADOOP_HOME

分发Flink

代码语言:javascript
复制
distribution.sh $FLINK_HOME

分发配置文件

代码语言:javascript
复制
distribution.sh /etc/profile.d
ssh hadoop02 "source /etc/profile"
ssh hadoop03 "source /etc/profile"

Bash文字样式

示例

代码语言:javascript
复制
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表示下划线), 接着是要彩色显示的文字串
  • 设置结束标志\033[0m

前景色和背景色的颜色对应的编号(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 正常
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装依赖
  • 创建脚本
  • 配置环境变量
  • 使用
  • Bash文字样式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档