分布式安装部署

配置系统环境变量等
/etc/profile
export JAVA_HOME=/opt/app/jdk1.8.0_181
#export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin export ZOOKEEPER_HOME=/opt/app/zookeeper-3.4.10
export PATH=$PATH:${ZOOKEEPER_HOME}/bin
/etc/hosts
192.168.8.101 ip101
192.168.8.102 ip102
192.168.8.103 ip103
开启防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
systemctl status firewalld.service #查看firewall的状态
1.集群规划

在ip101、ip102和ip103三个节点上部署Zookeeper。

2.解压安装

(1)解压Zookeeper安装包到/opt/app/目录下

$ tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/app/

(2)同步/opt/app/zookeeper-3.4.10目录内容到ip102、ip103

$ xsync zookeeper-3.4.10/

3.配置服务器编号

(1)在/opt/app/zookeeper-3.4.10/这个目录下创建zkData

$ mkdir -p zkData

$ mkdir -p logs

(2)在/opt/app/zookeeper-3.4.10/zkData目录下创建一个myid的文件

touch myid

添加myid文件,注意一定要在linux里面创建,在notepad++里面很可能乱码

(3)编辑myid文件

$ vi myid


在文件中添加与server对应的编号:

101

(4)拷贝配置好的zookeeper到其他机器上

$ xsync myid

并分别在ip102、ip103上修改myid文件中内容为102、103

4.配置zoo.cfg文件

(1)重命名/opt/app/zookeeper-3.4.10/conf这个目录下的zoo_sample.cfg为zoo.cfg

$ mv zoo_sample.cfg zoo.cfg

(2)打开zoo.cfg文件

vim zoo.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/app/zookeeper-3.4.10/zkData
dataLogDir=/opt/app/zookeeper-3.4.10/logs
clientPort=2181 #集群增加如下配置
server.1=ip101:2888:3888
server.2=ip102:2888:3888
server.3=ip103:2888:3888

(3)同步zoo.cfg配置文件

$ xsync zoo.cfg

(4)配置参数解读

server.A=B:C:D。

A是一个数字,表示这个是第几号服务器;

集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,

Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。

B是这个服务器的ip地址;

C是这个服务器与集群中的Leader服务器交换信息的端口;

D是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。

5.集群操作

(1)分别启动Zookeeper

[ip101] $ bin/zkServer.sh start

[ip102]$ bin/zkServer.sh start

[ip103]$ bin/zkServer.sh start

(2)查看状态

[ip101]# bin/zkServer.sh status

JMX enabled by default

Using config: /opt/app/zookeeper-3.4.10/bin/../conf/zoo.cfg

Mode: follower

**[ip102]# bin/zkServer.sh status

JMX enabled by default

Using config: /opt/app/zookeeper-3.4.10/bin/../conf/zoo.cfg

Mode: leader **

[ip103]# bin/zkServer.sh status

JMX enabled by default

Using config: /opt/app/zookeeper-3.4.10/bin/../conf/zoo.cfg

Mode: follower

Zookeeper集群方式安装的更多相关文章

  1. ZooKeeper 集群的安装、配置---Dubbo 注册中心

    ZooKeeper 集群的安装.配置.高可用测试 Dubbo 注册中心集群 Zookeeper-3.4.6 Dubbo 建议使用 Zookeeper 作为服务的注册中心. Zookeeper 集群中只 ...

  2. Dubbo入门到精通学习笔记(十三):ZooKeeper集群的安装、配置、高可用测试、升级、迁移

    文章目录 ZooKeeper集群的安装.配置.高可用测试 ZooKeeper 与 Dubbo 服务集群架构图 1. 修改操作系统的/etc/hosts 文件,添加 IP 与主机名映射: 2. 下载或上 ...

  3. Zookeeper 集群的安装及高可用性验证已完成!

    安装包 kafka_2.12-0.10.2.0.tgz zookeeper-3.3.5.tar.gz Java 环境 Zookeeper 和 Kafka 的运行都需要 Java 环境,Kafka 默认 ...

  4. Zookeeper集群的安装和使用

    Apache Zookeeper 由 Apache Hadoop 的 Zookeeper 子项目发展而来,现已经成为 Apache 的顶级项目,它是一个开放源码的分布式应用程序协调服务,是Google ...

  5. zookeeper集群的安装

    顾名思义zookeeper就是动物园管理员,他是用来管hadoop(大象).Hive(蜜蜂).pig(小猪)的管理员, Apache Hbase和 Apache Solr 的分布式集群都用到了zook ...

  6. ZooKeeper集群的安装、配置、高可用测试

    Dubbo注册中心集群Zookeeper-3.4.6 Dubbo建议使用Zookeeper作为服务的注册中心. Zookeeper集群中只要有过半的节点是正常的情况下,那么整个集群对外就是可用的.正是 ...

  7. zookeeper集群的安装和配置

    Zookeeper的目的是封装好复杂易出错的关键服务,将简单易用的接口和性能高效.功能稳定的系统提供给用户.Zookeeper有两种运行模式,单机模式(Standalone)和集群模式(Distrib ...

  8. 大数据集群环境 zookeeper集群环境安装

    大数据集群环境 zookeeper集群环境准备 zookeeper集群安装脚本,如果安装需要保持zookeeper保持相同目录,并且有可执行权限,需要准备如下 编写脚本: vi zkInstall.s ...

  9. zookeeper集群环境安装配置

    众所周知,Zookeeper有三种不同的运行环境,包括:单机环境.集群环境和集群伪分布式环境 在此介绍的是集群环境的安装配置 一.下载: http://apache.fayea.com/zookeep ...

随机推荐

  1. Java 基础 引用数据类型 ArrayList集合

    引用数据类型(类) 分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类.Random类. 我们可以把类的类型为两种: 第一种,Java为我们提供好的类,如Scanner类, ...

  2. 19-Python3 函数

    def area(width,heigh): return width*heigh def print_wecome(name): print('welcome',name) print('Runoo ...

  3. VS中去掉空格虚点

    Ctrl + R+W 可以在VS中添加或移除 空格虚点.

  4. itemscope itemtype="http://schema.org/AggregateRating"

    Review Canonical URL: http://schema.org/Review Thing > CreativeWork > Review A review of an it ...

  5. nginx 日志详解及自定义日志配置

    nginx的log日志分为access log 和 error log 其中access log 记录了哪些用户,哪些页面以及用户浏览器.ip和其他的访问信息 error log 则是记录服务器错误日 ...

  6. JAVA8方法引用

    方法引用:若Lambda方法体已经实现,我们可以使用方法引用* 主要有三种语法格式:* 对象::实例方法名* 类::实例方法名* 类::静态方法名** 注意:Lambda体中调用的方法的参数列表与返回 ...

  7. 搭建私有仓库Harbor

    搭建Harbor企业级docker仓库   搭建Harbor企业级docker仓库 一.Harbor简介 1.Harbor介绍 Harbor是一个用于存储和分发Docker镜像的企业级Registry ...

  8. MongoDB--$project和$push的区别

    正文开始前,首先需要表名几条定义: 聚合(aggregate)是基于数据处理的聚合管道,每个文档通过一个由多个阶段(stage)组成的管道,可以对每个阶段的管道进行分组.过滤等功能,然后经过一系列的处 ...

  9. Php 通过curl提交post内容为 Json的请求

    <?php $data = array("cNos" => array("1064917432615","1064917432615&qu ...

  10. sqlserver Distributed Transaction 分布式事务

    在webapi+ef+sqlserver开发项目时,利用transcope实现应用层级的事务时,偶尔会报分布式事务错误,而且很而复现,特别蛋疼.现将自己的解决方法初步整理下. 分析原因:搭建repos ...