栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

shell脚本使用

shell脚本使用

1. 同步脚本 —xsync
#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
  echo Not Enough Arguement!
  exit;
fi
#2. 遍历集群所有机器
for host in bigdata001.com bigdata002.com bigdata003.com
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
1.1 赋值权限:
[root@bigdata001 bin]# chmod 777 xsync
1.2 使用
[root@bigdata001 module]# xsync bigdatarealtime/
==================== bigdata001.com ====================
sending incremental file list

sent 259 bytes  received 18 bytes  554.00 bytes/sec
total size is 112,524,502  speedup is 406,225.64
==================== bigdata002.com ====================
sending incremental file list
bigdatarealtime/
bigdatarealtime/rt_applog/
bigdatarealtime/rt_applog/Flink-wudl-mock-logger-1.0-SNAPSHOT-jar-with-dependencies.jar
bigdatarealtime/rt_applog/application.yml
bigdatarealtime/rt_applog/gmall2020-mock-log-2020-12-18.jar

sent 112,552,360 bytes  received 85 bytes  75,034,963.33 bytes/sec
total size is 112,524,502  speedup is 1.00
==================== bigdata003.com ====================
The authenticity of host 'bigdata003.com (192.168.1.128)' can't be established.
ECDSA key fingerprint is SHA256:nuBNEaeMRCpZ+wpRfnielQ8IHtxjR5N6d/9YVvh6PHA.
ECDSA key fingerprint is MD5:cb:f7:35:82:a3:30:57:53:07:ff:54:44:c8:d2:c6:59.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'bigdata003.com' (ECDSA) to the list of known hosts.
sending incremental file list
bigdatarealtime/
bigdatarealtime/rt_applog/
bigdatarealtime/rt_applog/Flink-wudl-mock-logger-1.0-SNAPSHOT-jar-with-dependencies.jar
bigdatarealtime/rt_applog/application.yml
bigdatarealtime/rt_applog/gmall2020-mock-log-2020-12-18.jar

sent 112,552,360 bytes  received 85 bytes  75,034,963.33 bytes/sec
total size is 112,524,502  speedup is 1.00


2. 集群启动java jar 包脚本
#!/bin/bash
JAVA_BIN=/opt/module/jdk1.8.0_144
APPNAME=Flink-wudl-mock-logger-1.0-SNAPSHOT-jar-with-dependencies.jar
 
case $1 in
 "start")
   {
    for i in bigdata001.com bigdata002.com bigdata003.com
    do
     echo "========: $i==============="
    ssh $i  "$JAVA_BIN -Xms32m -Xmx64m  -jar /opt/module/bigdatarealtime/rt_applog/$APPNAME >/dev/null 2>&1  &"
    done
  };;
  "stop")
  { 
    for i in  bigdata001.com bigdata002.com bigdata003.com
    do
     echo "========: $i==============="
     ssh $i "ps -ef|grep $APPNAME | grep -v grep|awk '{print $2}'| xargs kill" >/dev/null 2>&1
    done
  };;
   esac
2.1 赋值权限
chmod 777  logger.sh
2.2 使用

./logger.sh start / stop

[root@bigdata001 bin]# ./logger.sh  start
========: bigdata001.com===============
========: bigdata002.com===============
========: bigdata003.com===============
[root@bigdata001 bin]# 

3. zookeeper 集群启动脚本
#! /bin/bash

case $1 in
"start"){
	for i in bigdata001.com bigdata002.com bigdata003.com
	do
		ssh $i "/opt/module/zookeeper-3.4.10/bin/zkServer.sh start"
	done
};;
"stop"){
	for i in bigdata001.com bigdata002.com bigdata003.com
	do
		ssh $i "/opt/module/zookeeper-3.4.10/bin/zkServer.sh stop"
	done
};;
"status"){
	for i in bigdata001.com bigdata002.com bigdata003.com
	do
		ssh $i "/opt/module/zookeeper-3.4.10/bin/zkServer.sh status"
	done
};;
esac
3.1 赋值权限
chmod 777  zk.sh
3.2 使用
./zk.sh start /stop
[root@bigdata001 bin]# ./zk.sh start
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@bigdata001 bin]# 

=========================================================================================================

4. kafka 集群启动
#! /bin/bash
case $1 in
"start"){
        for i in bigdata001.com bigdata002.com bigdata003.com
        do
                echo " --------启动 $i Kafka-------"
                # 用于KafkaManager监控
                ssh $i "export JMX_PORT=9988 && /opt/module/kafka_2.11-0.11.0.2/bin/kafka-server-start.sh -daemon /opt/module/kafka_2.11-0.11.0.2/config/server.properties "
        done
};;
"stop"){
        for i in bigdata001.com bigdata002.com bigdata003.com
        do
                echo " --------停止 $i Kafka-------"
                ssh $i "/opt/module/kafka_2.11-0.11.0.2/bin/kafka-server-stop.sh stop"
        done
};;
esac
4.1 赋值权限
chmod 777  kf.sh
4.2 使用

./kf.sh start/stop

[root@bigdata001 bin]# ./kf.sh start
 --------启动 bigdata001.com Kafka-------
 --------启动 bigdata002.com Kafka-------
 --------启动 bigdata003.com Kafka-------
[root@bigdata001 bin]# 

========================================================================================================

5.
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/304406.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号