centos 7环境下安装部署zookeeper
近一直在看zookeeper的知识,有所收获,打算写些一些关于zookeeper的博客,也当做是自己的复习和笔记。
在上一篇 博客中简单地介绍了centos 7 下如何安装jdk,这一篇将介绍如何在centos中安装zookeeper并做集群部署。
1、下载zookeeper安装包,百度一下zookeeper就可以找到了,建议使用stable版本,我使用的是版本是:zookeeper-3.4.10.tar.gz。
2、通过xshell等工具复制到虚拟机或服务器下,我存放的路径是:/opt/java/zookeeper-3.4.10.tar.gz。使用解压命令:tar -zxvf zookeeper-3.4.10.tar.gz
3、解压完后,会在/opt/java 下看到 /opt/java/zookeeper-3.4.10 这个文件夹,这个文件夹里面有很多内容,如下图:

在这里面,有两个文件夹需要注意,就是bin文件夹和conf文件夹。其中conf 存放的是zookeeper的配置文件,而bin则是存放zookeeper的shell命令形式的服务器和客户端脚本。
4、进入conf文件夹,有个 zoo_sample.cfg 文件,这个是zookeeper配置的示例配置。zookeeper的默认配置的是zoo.cfg。使用 cp zoo_sample.cfg zoo.cfg复制这个zoo_sample.cfg,vim zoo.cfg,打开后看到的内容如下:

5、克隆多个服务器,用于部署集群。vmware->虚拟机->管理->克隆,一直下一步即可。建议由一个有2n台server,1leader、2follower、1observer
6、使用命令:ip addr 查看每台服务器的ip,在每一台服务器的zoo.cfg中,添加下面的代码:
server.1=192.168.111.128:2888:3181
server.2=192.168.111.129:2888:3181
server.3=192.168.111.130:2888:3181
server.4=192.168.111.131:2888:3181:observer
其中,192.168.111.128、192.168.111.129、192.168.111.130、192.168.111.131,是部署的每一台服务器的ip,2888是用于leader 和follower、observer 之间进行通信的端口,3181 是用于leader选举的端口。这两个端口都是自定义的,只需要端口不被占用即可。zookeeper的client和server的端口是2181。
server.4=192.168.111.131:2888:3181:observer 这一行是用于标识192.168.111.131 这台服务器用于observer,这一行不一定需要有。如果需要部署observer,需要在192.168.111.131 的zoo.cfg 中增加一行:peerType=observer
7、zoo.cfg中同时定义了数据文件(快照)的存放路径:dataDir=/tmp/zookeeper。这个是可以自定义,也可以直接使用。进入/tmp/zookeeper 已经创建。
在/tmp/zookeeper中新建一个文件:myid,用于标识所在服务器在zookeeper集群中的唯一标识,这个文件只有一行数据,如下图所示:

这里的1,就是对面上面的server.1。当然,这里可以随意自定义id,建议是顺序的id。
8、进入zookeeper下的bin目录下,使用命令:sh zkServer.sh start 启动zookeeper,启动成功后如下图所示:

9、使用sh zkServer.sh status 查看启动的情况。刚开始的时候,可能不会马上看到有服务器被选举为leader,因为leader选举需要一点时间,leader 和follower、observer之间的数据同步也需要一点时间。正常后的启动情况如下图,可以看到有1leader 、2follower、1observer。




10、安装的过程中,使用ip addr 可能会看不到ip地址,这个是因为centos 是默认不开启网络的,需要关闭网络防火墙后使用命令sudo service network restart重启网络 ,即可以查看到ip了
11、中途可能会碰到防火墙的问题,使用命令:systemctl disable firewalld.service #禁止firewall开机启动,然后再使用命令:systemctl stop firewalld.service #停止firewall ,重启reboot 即可
centos 7环境下安装部署zookeeper的更多相关文章
- Centos 7环境下安装配置Hadoop 3.0 Beta1简记
前言 由于以前已经写过一篇Centos 7环境下安装配置2.8的随笔,因此这篇写得精简些,只挑选一些重要环节记录一下. 安装环境为:两台主机均为Centos 7.*操作系统,两台机器配置分别为: 主机 ...
- CentOS 7.4 下安装部署Nagios监控系统详细攻略(三)
Nagios是一个流行的电脑系统和网络监控程序,它检测主机和服务,当异常发生和解除时能提醒用户.它是基于GPLv2开发的开源软件,可免费获得及使用. nagios工作原理 nagios的功能是监控服务 ...
- Centos 7环境下安装配置MySQL 5.7
安装步骤为: 1.由于Centos 7版中已经移除MySQL rpm,因此需要到其官方网站上下载rpm,下载完成后,使用以下命令,来安装MySQL的rpm配置. rpm -ivh *****[注释:* ...
- windows环境下安装部署并启用zkui的web图形界面
在此之前的工作:不是本机部署的三个服务器最为伪集群的zookeeper环境,并将三个为服务启动起来. 然后才有了下面的工作. 1. 首先,zkui项目地址:https://github.com/Dee ...
- CentOS 7.x下安装部署MySQL 8.0实施手册
MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 一. Mysql8.0版本相比之前版本的一些特性 1) ...
- centos 7环境下安装jdk
在此之前已经安装了xshell并能传输文件. 1.下载对应版本的jdk:jdk-8u191-linux-x64.tar.gz 2.上传到centos的目录下 3.解压jdk的gz包,命令: tar - ...
- centos,linux环境下安装JDK1.8完整
进入oracle官网下载安装包,cetos一般选择xx-xx-linux-x64.tar.gz.获取到地址后可以点击下载,也可以使用wget命令下载. 在得到下载好的文件后下面就可以开始安装了.比如我 ...
- centos 7环境下安装rabbitmq
以 前在windows 7下面成功安装过rabbitmq,但是在windows 10下面安装失败,各种问题,各种解决方法都试过,还是不成功,最终放弃治疗. 后来经人指点,在linux下安装rabbit ...
- Centos 7 环境下安装 RabbitMQ 3.6.10
一.单机安装 在Centos7系统下部署(阿里云服务),使用yum安装 hostnamectl set-hostname rabbit01 #永久修改 1.1安装Erlang,因为RabbitMQ 是 ...
随机推荐
- 数据分析六个步骤,一款BI工具即可全部搞定
数据分析是将大量的数据转化为有价值的信息,以求最大化地利用数据的功能,发挥数据的作用.数据分析的类型可以分为现状分析.原因分析.预测分析,按流程分为以下6个步骤: (1) 明确数据分析目的和思路 明确 ...
- 动态语言运行时(DLR)
前言 为了让C#.Visual Basic等.NET编程语言能具备动态编程语言的特性,.NET 4.0引入了一个"DLR(Dynamic Language Runtime:动态语言运行时)& ...
- 由浅入深--ORM简介
一.ORM简介 从传统的JDBC开始说起 下面是通过JDBC连接Oracle的步骤,如下代码所示: Connection conn = null; PreparedStatement stmt = n ...
- docker ——从docker容器的内部,连接本机的mysql
所以我有一个Nginx运行在一个docker容器,我有一个mysql运行在localhost,我想连接到我的Nginx内的MySql. MySql在localhost上运行,并且不将端口暴露给外部世界 ...
- JZ-023-二叉搜索树的后序遍历序列
二叉搜索树的后序遍历序列 题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则返回true,否则返回false.假设输入的数组的任意两个数字都互不相同. 题目链接: 二叉 ...
- LeetCode-071-简化路径
简化路径 题目描述:给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 '/' 开头),请你将其转化为更加简洁的规范路径. 在 Unix 风格的文件系统中,一个点(. ...
- 0x01 向日葵日志溯源
1.简介 向日葵工具具有linux桌面系统版本,在应急场景中,攻击者通过向日葵远控linux实现入侵是一种常见手法,通过分析向日葵的服务日志,可以分析出安全事件时间发生点前后有无向日葵远控的行为,但由 ...
- laravel7 webuploader上传图片
webuploader上传 前提工作: 1>了解 代码如下:1.app_path() app_path函数返回app目录的绝对路径: $path = app_path(); 你还可以使用app_ ...
- K3客户端远程组件注册“组件kdsvrmgr无法正常工作”解决办法
K3最近出现的了远程注册不通过,我们公司购买的是正版的软件.联系当地的技术人员搞了一周也没有处理掉,最后联系官方技术支持人员,3分钟不到解决此问题.
- 2022:checking for Python executable "python2" in the PATH
目录 一.node报错 说明 1.网上常用方法一(本博主环境无效) 2.网上常用方法二(本博主环境无效) 3.本博主使用方法(当前有效) 1.确保NodeJS环境安装没有问题,如果不会安装,请参考 构 ...