iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >shell脚本中一键部署zookeeper集群服务的方法
  • 325
分享到

shell脚本中一键部署zookeeper集群服务的方法

摘要

目录一键部署ZooKeeper集群服务1. 编写脚本情况分析2. 脚本代码部分3. 实验测试部分一键部署zookeeper集群服务 1. 编写脚本情况分析 Zookeeper是一个开源的分布式的,为分布式框架提供协调服务

目录

一键部署zookeeper集群服务

1. 编写脚本情况分析

  • Zookeeper是一个开源分布式的,为分布式框架提供协调服务的Apache项目
  • Zookeeper适合安装奇数台服务器
  • 脚本完成后将会产生:一个领导者(Leader) ,多个跟随者(Follower) 组成的集群。
  • 此脚本默认的安装包为:apache-zookeeper-3.5.7-bin.tar.gz,如果使用其他版本,自行修改部分代码。

2. 脚本代码部分

#!/bin/bash
#一键部署zookeeper集群服务器脚本
# 判断/opt目录下是否有指定安装包
if [ -e /opt/apache-zookeeper-3.5.7-bin.tar.gz ];then
    continue
else
    echo -e '\033[35m /opt目录中没有安装包[apache-zookeeper-3.5.7-bin.tar.gz]\033[0m'
    exit
fi
# 配置yum本地源
yumm (){
        if ls /etc/yum.repos.d/ | grep repo.bak &> /dev/null
        then
            mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo.bak/
        else
            mkdir /etc/yum.repos.d/repo.bak/
            mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo.bak/
        fi
        echo -e "[local]\nname=local\nbaseurl=file:///mnt\nenable=1\ngpGCheck=0" > /etc/yum.repos.d/local.repo
        if df -h | grep /dev/sr0 &> /dev/null
        then
            umount /dev/sr0
            mount /dev/cdrom /mnt &> /dev/null
        else
            mount /dev/cdrom /mnt &> /dev/null
            if [ $? -ne 0 ]
            then
                echo "光盘不存在,检查是否加载镜像,状态是否已连接!"
                exit
            fi
        fi
}
yumm
if yum clean all &> /dev/null
then
    if yum makecache &> /dev/null
    then
        echo "yum本地源配置完成!可以正常安装程序!"
    else
        echo "yum缓存建立失败!"
    fi
else
    echo "yum缓存清除失败......"        
fi
read -p "当前服务器的myid为:" num
read -p "输入要设置的zookeeper服务器1的ip:" ip1
read -p "输入要设置的zookeeper服务器2的ip:" ip2
read -p "输入要设置的zookeeper服务器3的ip:" ip3
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
cd /opt/
tar zxvf apache-zookeeper-3.5.7-bin.tar.gz
mv apache-zookeeper-3.5.7-bin /usr/local/zookeeper-3.5.7 &> /dev/null
cd /usr/local/zookeeper-3.5.7/conf/ 
/usr/bin/cp zoo_sample.cfg zoo.cfg
sed -i '12 s/tmp\/zookeeper/usr\/local\/zookeeper-3.5.7\/data/' /usr/local/zookeeper-3.5.7/conf/zoo.cfg
sed -i '13c dataLogDir=\/usr\/local\/zookeeper-3.5.7\/logs' /usr/local/zookeeper-3.5.7/conf/zoo.cfg
sed -i '15c server.1='$ip1':3188:3288' /usr/local/zookeeper-3.5.7/conf/zoo.cfg
sed -i '16c server.2='$ip2':3188:3288' /usr/local/zookeeper-3.5.7/conf/zoo.cfg
sed -i '17c server.3='$ip3':3188:3288' /usr/local/zookeeper-3.5.7/conf/zoo.cfg
mkdir /usr/local/zookeeper-3.5.7/data &> /rxLmUdev/null
mkdir /usr/local/zookeeper-3.5.7/logs &> /dev/null
echo $num > /usr/local/zookeeper-3.5.7/data/myid
echo '#!/bin/bash
#chkconfig:2345 20 90
#description: Zookeeper Service Control Script
ZK_HOME='/usr/local/zookeeper-3.5.7'
case $1 in
start)
echo "-----zookeeper启动-----"
$ZK_HOME/bin/zkServer.sh start
;;
stop)
echo "----zookeeper停止-------"
$ZK_HOME/bin/ zkServer.sh stop
;;
restart)
echo "----zookeeper重启-------"
$ZK_HOME/bin/zkServer.sh restart
;;
status)
echo  "-----zookeeper状态------"
$ZK_HOME/bin/zkServer.sh status
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
esac' > /etc/init.d/zookeeper
chmod +x /etc/init.d/zookeeper
chkconfig --add zookeeper
echo "所有服务执行完脚本后执行 service zookeeper start 开启服务"
echo "所有服务执行完脚本后执行 service zookeeper status 查看状态"

3. 实验测试部分

1.在三台服务器的/opt目录下放入指定zookeeper安装包apache-zookeeper-3.5.7-bin.tar.gz和一键部署脚本。

shell脚本中一键部署zookeeper集群服务的方法

2.执行脚本,输入myid和服务器IP

shell脚本中一键部署zookeeper集群服务的方法

3.验证结果

shell脚本中一键部署zookeeper集群服务的方法

到此这篇关于shell脚本之一键部署zookeeper集群服务的文章就介绍到这了,更多相关shell脚本部署zookeeper集群内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

--结束END--

本文标题: shell脚本中一键部署zookeeper集群服务的方法

本文链接: https://www.lsjlt.com/news/21626.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • shell脚本中如何一键部署zookeeper集群服务
    这篇文章主要介绍“shell脚本中如何一键部署zookeeper集群服务”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“shell脚本中如何一键部署zookeeper集群服务”文章能帮助大家解决问题。...
    99+
    2023-06-30
  • mysql中pxc集群部署的方法是什么
    Percona XtraDB Cluster (PXC) 是一个基于Galera Replication的MySQL集群解决方案,它...
    99+
    2024-04-09
    mysql
  • 基于Centos7系统一键部署EFK服务的脚本分享
    本篇内容介绍了“基于Centos7系统一键部署EFK服务的脚本分享”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!架构EFK采用集中式的日志管...
    99+
    2023-06-16
  • Python自动化脚本部署服务器的方法
    本篇内容主要讲解“Python自动化脚本部署服务器的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python自动化脚本部署服务器的方法”吧! 1. 前言日常编写的 Python ...
    99+
    2023-06-15
  • Java O2OA 服务器集群部署配置的方法是什么
    这篇文章主要介绍“Java O2OA 服务器集群部署配置的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java O2OA 服务器集群部署配置的方法是什么”文章能帮助大家解决问题。主机信息...
    99+
    2023-06-04
  • 如何编写一键备份gitolite服务器的Shell脚本
    这篇文章主要介绍“如何编写一键备份gitolite服务器的Shell脚本”,在日常操作中,相信很多人在如何编写一键备份gitolite服务器的Shell脚本问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何编...
    99+
    2023-06-09
  • Spring Boot打包不同环境配置与Shell脚本部署的方法教程
    这篇文章主要介绍“Spring Boot打包不同环境配置与Shell脚本部署的方法教程”,在日常操作中,相信很多人在Spring Boot打包不同环境配置与Shell脚本部署的方法教程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作...
    99+
    2023-06-16
  • 幻兽帕鲁服务器一键部署的方法是什么
    幻兽帕鲁服务器一键部署的方法通常有以下几种: 使用服务器管理面板:一些服务器管理面板(如cPanel、Plesk等)提供了一键部署...
    99+
    2024-04-09
    幻兽帕鲁服务器 服务器
  • Shell脚本一次读取文件中一行的方法有哪些
    这篇文章主要讲解了“Shell脚本一次读取文件中一行的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Shell脚本一次读取文件中一行的方法有哪些”吧!写法一:代码如下:#!/bin...
    99+
    2023-06-09
  • 分布式实时计算中Java关键字的集群部署及其优化方法是什么?
    随着互联网的高速发展和数据的呈指数级增长,对于实时计算的需求也越来越迫切。而分布式实时计算就是解决大数据实时计算的一种有效方式。在分布式实时计算中,Java关键字的集群部署及其优化方法是非常重要的。 一、Java关键字在分布式实时计算中的...
    99+
    2023-06-07
    关键字 分布式 实时
  • Docker中部署mysql服务的方法是什么
    本文小编为大家详细介绍“Docker中部署mysql服务的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Docker中部署mysql服务的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢...
    99+
    2024-04-02
  • Shell中调用、引用、包含另一个脚本文件的方法有哪些
    本篇内容介绍了“Shell中调用、引用、包含另一个脚本文件的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!脚本 first (测试...
    99+
    2023-06-09
  • 基于rsync写脚本实现多节点多服务器文件一键同步的方法
    目录集群脚本分发scp基本语法简单操作rsync基本语法简单操作xsync需求实现SSH 无密码登录免登陆原理操作步骤集群脚本分发 在处理 Linux 集群的时候,常常会涉及到集群内...
    99+
    2024-04-02
  • java调用远程服务器的shell脚本以及停止的方法实现
    最近接了个需求,要求远程调shell脚本,你没听错!!!需求就一句话,咱是谁,咱是优秀的开发选手。考虑再三,有两种实现方式: 方案一:脚本所在服务器安装一个客户端,也就是自己写的一个...
    99+
    2024-04-02
  • 本地编译打包项目部署到服务器且启动的方法是什么
    这篇文章主要讲解了“本地编译打包项目部署到服务器且启动的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“本地编译打包项目部署到服务器且启动的方法是什么”吧!一、idea打包项目第一步...
    99+
    2023-07-05
  • 部署应用到阿里云服务器中的重要性及实现方法
    本文将介绍部署应用到阿里云服务器中的重要性以及如何实现这一过程。通过部署应用到阿里云服务器,可以提升应用的性能、可靠性和安全性,并且能够更好地满足用户的需求。 1. 部署应用到阿里云服务器的意义部署应用到阿里云服务器是一种将应用程序和相关资...
    99+
    2024-01-21
    阿里 性及 器中
  • 在Linux中创建自定义脚本和创建systemd服务单元文件的方法是什么
    今天就跟大家聊聊有关在Linux中创建自定义脚本和创建systemd服务单元文件的方法是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言systemd是Linux操作系统的系统...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作