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软件为企业提升数据分析效率
可视化BI软件经过几十年的不断发展,已成为大型企业进行商业决策不可缺少的工具.在BI软件问世之前,由于做数据分析可视化的时间较长.人力成本较高,企业一直处于忽视的状态.可视化BI软件的出现极大地提高 ...
- 2021年国内外五大BI厂商_商业智能工具推荐
每家公司对于BI工具的使用都有自己的特点和期望,所以当面对国内外那么多的BI厂商时,大家可能会觉得难以选择.今天我将会为大家介绍国内外五大BI厂商,对于它们做出一些分析,让大家更了解这些BI厂商. ...
- C语言memcpy()函数和memmove()函数
C语言memcpy()函数和memmove()函数 关于 memcpy() 函数,请先看链接. memcpy() 函数和 memmove() 函数的函数原型如下: void* memcpy(void ...
- 【C# 线程】优先级反转与优先级继承
什么是优先级反转(翻转)优先级反转,是指在使用信号量时,可能会出现的这样一种不合理的现象,即: 高优先级任务被低优先级任务阻塞,导致高优先级任务迟迟得不到调度.但其他中等优先级的任务却能抢到CP ...
- C# 开始支持动态化编程
在.NET 4.0的运行时进行动态编程时,我们引入了一个新功能:动态语言运行时.可以这样理解,CLR的目的是为静态类型的编程语言提供一个统一的框架或编程模型,而DLR便是在.NET平台上为动态语言提供 ...
- RabbitMQ安装以及简单操作应用(针对Windows和C#)
1.RabbitMQ安装 1.1下载并安装Erlang https://www.erlang.org/downloads 一直点next就安装好了.我直接使用了默认的安装目录.否则的话,应该需要配置一 ...
- 怎样快速对二进制和十进制进行互转化——IP地址规划与设计总结
转至:https://blog.csdn.net/erlian1992/article/details/47342189 最近一直在看全国计算机三级网络技术这本书,看到第二章的时候,不免会遇到计算机中 ...
- Java课程设计---创建数据库工具类
1.传统的数据库操作 package com.java.mysql; import java.sql.Connection; import java.sql.DriverManager; import ...
- Qt:QThread
0.说明 QThread提供了一种与平台无关的线程管理方法. 一个QThread对象管理一个线程.QThread通过run()方法启动线程.默认情况下,run()方法通过exec()启动一个事件循环, ...
- SpringBoot 搭建基于 MinIO 的高性能存储服务
1.什么是MinIO MinIO是根据GNU Affero通用公共许可证v3.0发布的高性能对象存储.它与Amazon S3云存储服务兼容.使用MinIO构建用于机器学习,分析和应用程序数据工作负载的 ...