热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

搭建集群常用脚本

rsync同步工具,编写xsync脚本yuminstall-yrsynchostname处理:vimetchosts127.0.0.1localho




rsync同步工具,编写xsync脚本

yum install -y rsync

hostname处理:
vim /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.81 server81
192.168.0.82 server82
192.168.0.83 server83
~

编写脚本:

#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi
#2. 遍历集群所有机器, 修改为自己的主机名
#for host in managerhd.bigdata masterhd.bigdata workerhd.bigdata
for host in server81 server82 server83
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

设置免登录

cd ~/.ssh
ssh-keygen -t rsa

输入该命令后会有提示,一直回车即可
如果提示 【-bash: cd: .ssh: 没有那个文件或目录】 直接 ssh-keygen -t rsa 生成密钥就行

server82节点的公钥拷贝
[root@server82 .ssh]# ssh-copy-id -i server82

server83 节点的公钥拷贝
[root@server83 .ssh]# ssh-copy-id -i server83

免密码登录已经设定完成,注意第一次ssh登录时需要输入密码,再次访问时即可免密码登录


集群服务器,批操作脚本


  1. zookeeper 脚本:

在这里插入图片描述

#!/bin/bash
# zookeeper集群命令
if [ $# == 0 ]
then
echo " Not Arguement! | start | stop | status"
exit;
fi
case $1 in
"start")
for i in server81 server82 server83
do
echo ------------- zookeeper $i start ------------
ssh $i "source /etc/profile;/opt/components/zookeeper/zookeeper-3.8.0/bin/zkServer.sh start /opt/components/zookeeper/zookeeper-3.8.0/conf/zoo.cfg"
done
;;
"stop")
for i in server81 server82 server83
do
echo ------------- zookeeper $i stop ------------
ssh $i "source /etc/profile;/opt/components/zookeeper/zookeeper-3.8.0/bin/zkServer.sh stop "
done
;;
"status")
for i in server81 server82 server83
do
echo ------------- zookeeper $i status ------------
ssh $i "source /etc/profile;/opt/components/zookeeper/zookeeper-3.8.0/bin/zkServer.sh status "
done
;;
esac

  1. Kafka 脚本

#!/bin/bash

# kafka集群命令
if [ $# == 0 ]
then
echo " Not Arguement! | start | stop | status "
exit;
fi
case $1 in
"start")
for i in server81 server82 server83
do
echo ------------- kafka $i start ------------
ssh $i "source /etc/profile;/opt/components/kafka/kafka_2.13-3.2.1/bin/kafka-server-start.sh -daemon /opt/components/kafka/conf/server.properties"
done
;;
"stop")
for i in server81 server82 server83
do
echo ------------- kafka $i stop ------------
ssh $i "source /etc/profile;/opt/components/kafka/kafka_2.13-3.2.1/bin/kafka-server-stop.sh "
done
;;
"status")
for i in server81 server82 server83
do
echo ------------- kafka $i status ------------
ssh $i "source /etc/profile;jps | grep Kafka "
done
;;
esac

  1. 通用脚本

#!/bin/bash
if [ $# == 0 ]
then
echo " Not Arguement! "
exit;
fi
for host in server81 server82 server83
do
echo =============== $host ===============
#在shell脚本写的ssh到 其他节点的时候 默认时不加载配置文件。 linux并不能去找到java中的jps命令。解决可以 先source一下
ssh $host "source /etc/profile;$1"
done






推荐阅读
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 本文介绍了使用SSH免密登录的步骤,包括生成公私钥、传递公钥给被登录机、修改文件权限的操作。同时提醒用户注意私钥的传递方式,建议使用U盘等离线方式传递。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • 本文详细介绍了在Linux虚拟化部署中进行VLAN配置的方法。首先要确认Linux系统内核是否已经支持VLAN功能,然后配置物理网卡、子网卡和虚拟VLAN网卡的关系。接着介绍了在Linux配置VLAN Trunk的步骤,包括将物理网卡添加到VLAN、检查添加的VLAN虚拟网卡信息以及重启网络服务等。最后,通过验证连通性来确认配置是否成功。 ... [详细]
  • PatchODAX8: ... [详细]
  • 第四讲ApacheLAMP服务器基本配置Apache的编译安装从Apache的官方网站下载源码包:http:httpd.apache.orgdownload.cgi今 ... [详细]
  • 原文地址http://balau82.wordpress.com/2010/02/28/hello-world-for-bare-metal-arm-using-qemu/最开始时 ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • 在单位的一台4cpu的服务器上部署了esxserver,挂载了6个虚拟机,目前运行正常。在安装部署过程中,得到了cnvz.net论坛精华区 ... [详细]
  • Telnet的使用(Telnet远程连接Linux)
    一、环境描述:客户端:Win10操作系统 ... [详细]
author-avatar
小猪jieao_229
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有