集群分发xsync xcall kafka启动脚本命令,命令方式安装epel源
2024-09-08 17:33:54
安装epel库源
yum install epel-release -y --nogpgcheck
yum install glances
安装开始
建立hosts 白名单
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.7.61 test1
192.168.7.62 test2
192.168.7.63 test3
在test1 机器上,生成ssh公钥私钥
ssh-keygen
一路空格后,产生的文件在 /root/.ssh/下
将公钥考到客户机的指定目录/.ssh/ 下,并改名authorized_keys,依次做各个客户机
cd /root/.ssh
scp id_rsa.pub root@test2:/root/.ssh/authorized_keys
对于本机,用 ssh-copy-id test1 来生成本机的免密登录
ssh-copy-id test1
之后,测试 ssh test2 不用输密码,就可以了。
------------- 多台互免 ----------------
多台服务器之间,相互免密, https://blog.csdn.net/qq_32641659/article/details/87875147
在各个电脑上,执行ssh-keygen
拷贝其他电脑上的 id_rsa.pub 文件内容,添加到第一台的 authorized_keys 里面,然后将 authorized_keys 分发到各个电脑上同名目录下。
安装 rsync,各个客户机都要装。
yum install -y rsync
编写xsync脚本在 /sbin/目录下,注意改机器名字,后加777 权限
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if [ $pcount -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi #2. 遍历集群所有机器
# 也可以采用:
# for host in test{1.2. ..4};
for host in test1 test2 test3
do
echo ==================== $host ====================
#3. 遍历所有目录,挨个发送
for file in $@
do
#4 判断文件是否存在
if [ -e $file ]
then
#5. 获取父目录
pdir=$(cd -P $(dirname $file); pwd)
echo pdir=$pdir #6. 获取当前文件的名称
fname=$(basename $file)
echo fname=$fname #7. 通过ssh执行命令:在$host主机上递归创建文件夹(如果存在该文件夹)
ssh $host "mkdir -p $pdir" #8. 远程同步文件至$host主机的$USER用户的$pdir文件夹下
rsync -av $pdir/$fname $USER@$host:$pdir
else
echo $file does not exists!
fi
done
done
在 sbin目录下编写 xcall脚本,注意改机器名字,后加777 权限
#!/bin/bash for host in test1 test2 test3
do
echo =============== $host ===============
ssh $host jps
done
vim zk 多服务器启动停止状态 脚本,注意需要改服务器名字。
case $1 in "start"){
for i in test1 test2 test3
do
echo ---------------- zookeeper $i 启动 -----------------
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start"
done
}
;;
"stop"){
for i in test1 test2 test3
do
echo --------------- zookeeper $i 停止 ------------------------
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"
done }
;;
"status"){ for i in test1 test2 test3
do
echo --------------- zookeeper $i 状态 -------------------
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status"
done }
;;
esac
启动kafka的脚本
#!/bin/bash case $1 in
"start") for i in test1 test2 test3
do
echo "---------------- 启动 $i kafka -----------------------"
ssh $i "/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties"
done ;;
"stop") for i in test1 test2 test3
do
echo "---------------- 停止 $i kafka -----------------------"
ssh $i "/opt/module/kafka/bin/kafka-server-stop.sh"
done ;; esac
最新文章
- 尝试解析js面试题(一)【转发】
- 转:入门Webpack,看这篇就够了
- Struts2(1) —— 概述
- python 获取控制台输入
- Unity3D 的摄像机
- MyBatis学习总结_09_使用MyBatis Generator自动创建代码
- stringUtils是apache下的Java jar补充包
- innodb master主线程
- Misha and Changing Handles
- mysql基本介绍
- JDK8源码阅读之Collection及相关方法
- CNN解析和模型分析
- 基于服务器的AAA配置实验(Cisco PT)
- eclipse 部署项目
- 【进阶1-1期】理解JavaScript 中的执行上下文和执行栈(转)
- 2018牛客网暑假ACM多校训练赛(第六场)I Team Rocket 线段树
- windows怎么与虚拟机linux共享
- window.location详解
- c#while循环注意continue的地方
- logstash-1-安装配置
热门文章
- VM中centos7创建后无法上网问题
- Markdown格式文档图片设置居右
- API 文档
- python读取Excel整列或整行数据
- 肖sir ___性能测试____多线程
- vite中使用img标签
- element ui中table动态列切换时,表格样式变形
- Linxu后台运行Java的jar包
- Burp学院-信息泄露
- 链接mysql数据库报错:2003-cant connect to Mysql server on ‘localhost’(10038)