近一直在看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. 财务数据分析工具的选择:Excel还是大数据BI?

    ​财务数据分析一般都采用什么工具?跟财务数据分析的哪些指标有关?要怎样展现财务数据间的紧密关联? 财务报表分析比较复杂,一般来说主要包括以下项目: 1. 趋势:在多个时间段内为财务报表中的关键项目创建 ...

  2. 广度优先搜索(BreadthFirstSearch)& 迪克斯特拉算法 (Dijkstra's algorithm)

    BFS可回答两类问题: 1.从节点A出发,有前往节点B的路径吗? 2.从节点A出发,前往节点B的哪条路径经过的节点最少? BFS中会用到"队列"的概念.队列是一种先进先出(FIFO ...

  3. dockerfile 使用 entrypoint,导致 docker 无法正确挂载的问题

    一开始 Dockerfile 如下: FROM golang:latest WORKDIR $GOPATH/src/hellodocker COPY . .RUN go build . EXPOSE ...

  4. 渗透测试中dns log的使用

    转至:https://www.cnblogs.com/rnss/p/11320305.html 一.预备知识 dns(域名解析): 域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问 ...

  5. 5个相见恨晚的Linux命令,每一个都非常实用

    转至:https://zhuanlan.zhihu.com/p/57866239 作为一个开发人员,经常要用到终端命令,最让人头疼的是记不住繁琐的参数.用谷哥度娘检索效率低下,通过man命令显示的结果 ...

  6. centos7 配置 zabbix 3 & apache , nginx 与php, mysql 的交互(基本)

    #yum install -y https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-server-mysql-3.0.0 ...

  7. Qt:QSqlQuery

    0.说明 QSqlQuery提供了执行SQL代码的方法. QSqlQuery封装了在QSqlDatabase中查询.检索数据的相关函数.它可以用来执行如SELECT.INSERT.UPDATE.DEL ...

  8. Java中的单利模式

    单利模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 这种模式涉及到一个单一的类,该类负责创 ...

  9. 前端好用API之getBoundingClientRect

    前情 在前端开发需求中,经常需要获取元素的尺寸位置相关的属性,以往的做法是调用不同api获取相关属性的. getBoundingClientRect介绍 getBoundingClientRect() ...

  10. JZ-064-滑动窗口的最大值

    滑动窗口的最大值 题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值.例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值 ...