近一直在看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的更多相关文章

  1. Centos 7环境下安装配置Hadoop 3.0 Beta1简记

    前言 由于以前已经写过一篇Centos 7环境下安装配置2.8的随笔,因此这篇写得精简些,只挑选一些重要环节记录一下. 安装环境为:两台主机均为Centos 7.*操作系统,两台机器配置分别为: 主机 ...

  2. CentOS 7.4 下安装部署Nagios监控系统详细攻略(三)

    Nagios是一个流行的电脑系统和网络监控程序,它检测主机和服务,当异常发生和解除时能提醒用户.它是基于GPLv2开发的开源软件,可免费获得及使用. nagios工作原理 nagios的功能是监控服务 ...

  3. Centos 7环境下安装配置MySQL 5.7

    安装步骤为: 1.由于Centos 7版中已经移除MySQL rpm,因此需要到其官方网站上下载rpm,下载完成后,使用以下命令,来安装MySQL的rpm配置. rpm -ivh *****[注释:* ...

  4. windows环境下安装部署并启用zkui的web图形界面

    在此之前的工作:不是本机部署的三个服务器最为伪集群的zookeeper环境,并将三个为服务启动起来. 然后才有了下面的工作. 1. 首先,zkui项目地址:https://github.com/Dee ...

  5. CentOS 7.x下安装部署MySQL 8.0实施手册

    MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 一.  Mysql8.0版本相比之前版本的一些特性 1) ...

  6. centos 7环境下安装jdk

    在此之前已经安装了xshell并能传输文件. 1.下载对应版本的jdk:jdk-8u191-linux-x64.tar.gz 2.上传到centos的目录下 3.解压jdk的gz包,命令: tar - ...

  7. centos,linux环境下安装JDK1.8完整

    进入oracle官网下载安装包,cetos一般选择xx-xx-linux-x64.tar.gz.获取到地址后可以点击下载,也可以使用wget命令下载. 在得到下载好的文件后下面就可以开始安装了.比如我 ...

  8. centos 7环境下安装rabbitmq

    以 前在windows 7下面成功安装过rabbitmq,但是在windows 10下面安装失败,各种问题,各种解决方法都试过,还是不成功,最终放弃治疗. 后来经人指点,在linux下安装rabbit ...

  9. Centos 7 环境下安装 RabbitMQ 3.6.10

    一.单机安装 在Centos7系统下部署(阿里云服务),使用yum安装 hostnamectl set-hostname rabbit01 #永久修改 1.1安装Erlang,因为RabbitMQ 是 ...

随机推荐

  1. yalmip安装

    1,将yalmip解压,在matlab中添加路径. 2,yalmiptest测试是否安装成功.

  2. 微信小程序使用weui扩展组件踩坑

    最近在做微信小程序,引入weui的时候踩坑了好久,这里记录一下遇到的问题. 微信官方文档给了两种weui引入方式: 通过 useExtendedLib 扩展库 的方式引入,这种方式引入的组件将不会计入 ...

  3. [炼丹术]DeepLabv3+训练模型学习总结

    DeepLabv3+训练模型学习总结 一.DeepLabs3+介绍 DeepLabv3是一种语义分割架构,它在DeepLabv2的基础上进行了一些修改.为了处理在多个尺度上分割对象的问题,设计了在级联 ...

  4. 转 Autofac怎么依赖注入ASP.NET MVC5类的静态方法

    之前我有介绍过怎么在ASP.NET mvc5中实现的Controller的依赖注入.一般是通过Contrller的构造函数的参数或者属性来注入,但是这有一个共同点就是调用这个类的方法一般都是实例方法, ...

  5. docker 搭建php 开发环境 添加扩展redis、swoole、xdebug

    docker-compose搭建lnmp 先决条件 首先需要安装docker 安装docker-compost 1.创建lnmp工作目录 #创建三个目录 mkdir lnmp && c ...

  6. Java应用层数据链路追踪(附优雅打印日志姿势)

    我是3y,一年CRUD经验用十年的markdown程序员‍常年被誉为优质八股文选手 今天来聊些大家都用得上的东西:数据链路追踪.之前引入了系统的监控来快速定位应用操作系统上的问题,而业务问题呢?在这篇 ...

  7. laravel 返回统一的json数据

    laravel 在Api接口开发中,可以使用 response()->json(["code"=>200,"msg"=>"ok&qu ...

  8. linux中文件颜色,蓝色,白色等各自代表的含义

    linux中文件颜色,蓝色,白色等各自代表的含义 绿色文件---------- 可执行文件,可执行的程序 红色文件-----------压缩文件或者包文件 蓝色文件----------目录 白色文件- ...

  9. Kotlin笔记小结(For Java Developer)

    这篇文章为kotlin学习记录,主要针对的是自己的知识盲区,不适用于新手. 文中所有demo均来自于kotlin官网 类型 整形 Type Size (bits) Min value Max valu ...

  10. 采用 DIV+CSS 布局网页练习

    实验四:采用 DIV+CSS 布局网页练习 实验目的: 熟悉 DIV+CSS 布局网页的方法 实验要求: 1.制作一个完整网页和一个 css 文件: 2.在网页中采用 DIV+CSS 布局 4 个以上 ...