阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu 14.04 下 Storm集群节点管理脚本示例

214次阅读
没有评论

共计 2517 个字符,预计需要花费 7 分钟才能阅读完成。

Ubuntu 14.04 下 Storm 集群节点管理脚本示例

需求:

  • 实现 nimbus 机脚本控制 supervisor 节点机的开、关、查看

实现思路:

  1. 实现集群各节点间的网络通信和域名解析
  2. 建立各节点间的互信机制
  3. 脚本控制

具体细节:

  1. 实现集群各节点间的网络通信和域名解析(网络配置 &bind9)
  2. 建立各节点间的互信机制(linux 无秘钥登录技术)
    服务器:
    A 控制节点 (即 nimbus 机)
    B 被控制节点
    C 被控制节点
  3. 脚本控制

准备:

# 编写 supervisors.txt 配置文件供脚本扫描使用
supervisor01
supervisor02
supervisor03
...
supervisor51

batch_scp.sh
主体控制脚本

#!/bin/bash
#
# create by zhangqingli
# date 2016/9/23DI
#
# 批量分发 supervisor_shutcls.sh 脚本
#
USER=ubuntu
LOCAL_DIR=/home/ubuntu/supervisor_manager/shell.bak/supervisor_shutcls.sh
SCP_DIR=/home/ubuntu/supervisor_shutcls.sh
while read line
do
scp $LOCAL_DIR $USER@$line:$SCP_DIR
ssh -n $USER@$line chmod +x $SCP_DIR
done < supervisors.txt

batch_shutcls.sh
和被控节点的 supervisor_shutcls.sh 配合使用,先执行 batch_scp.sh 将主控节点的 supervisor_shutcls.sh 文件分发到各被控节点

#!/bin/bash
#
# create by zhangqingli
# date 2016/9/23DI
#
# 批量关闭 supervisor 服务
#
USER=ubuntu
CMD="/home/ubuntu/supervisor_shutcls.sh"
while read line
do
ssh -n $USER@$line $CMD
done < supervisors.txt

supervisor_shutcls.sh
文件被分发存放在各被控节点

#!/bin/bash
#
# create by kinglyjn
# date 2016/9/23DI
#
# 关闭 supervisor 服务,清除 supervisor 之前的运行文件
#
STORM_LOCAL=/home/ubuntu/storm-local
ip=`ifconfig eth0 | grep 'inet addr' | awk '{print $2}' | awk -F: '{print $2}'`
hostname=`hostname`
echo "========================================[$ip $hostname]========================================"
# 关闭 supervisor 服务器 java 进程
echo ">>killall -9 java"
killall -9 java
# 查看 java 进程状态
echo ">>ps -ef |grep java|grep -v grep"
ps -ef |grep java|grep -v grep
echo ">>mv storm_local/* to tmp"
cd $STORM_LOCAL
mv supervisor /tmp/supervisor_$(date +%Y-%m-%d-%H-%M-%S)
mv workers /tmp/workers_$(date +%Y-%m-%d-%H-%M-%S)
mv nohup.out /tmp/nohup.out_$(date +%Y-%m-%d-%H-%M-%S)
echo ">>ls strom_local/*"
ls $STORM_LOCAL
echo -e "\n\n"

batch_startup.sh

#!/bin/bash
#
# create by zhangqingli
# date 2016/9/23DI
#
# 启动 supervisor 服务
#
USER=ubuntu
CMD="nohup storm supervisor >/dev/null 2>&1 &"
while read line
do
echo ">>attempt to start $line ..."
ssh -n $USER@$line $CMD
done < supervisors.txt
echo ">>done!"

batch_status.sh

#!/bin/bash
#
# create by zhangqingli
# date 2016/9/23DI
#
# 查看 supervisor 服务进程 和 服务器端口进程
#
USER=ubuntu
CMD1="jps -m"
CMD2="sudo netstat -lntp"
while read line
do
ip=`ssh -n $USER@$line "ifconfig eth0 | grep'inet addr'| awk'{print $2}'| awk -F:'{print $2}'"`
hostname=`ssh -n $USER@$line "hostname"`
echo "========================================[$ip $hostname]========================================"
ssh -n $USER@$line $CMD1
echo $line
ssh -n $USER@$line $CMD2
echo $line
echo -e "\n"
done < supervisors.txt

Storm 的安装步骤 http://www.linuxidc.com/Linux/2016-08/134184.htm

Kafka-Storm 集成部署 http://www.linuxidc.com/Linux/2016-03/129063.htm

Storm 在 Ubuntu 环境下的单机部署 http://www.linuxidc.com/Linux/2016-03/129060.htm

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-12/138258.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2517字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中