zoukankan      html  css  js  c++  java
  • Linux下ZooKeeper安装与启动

    Linux下ZooKeeper安装与启动

    前言

    Dubbo目前支持的注册中心有很多,其中包括有Multicast、Zookeeper、Redis、Simple等。不过Dubbo官方推荐注册中心的Zookeeper。本篇文章主要介绍,Linux下ZooKeeper的安装及操作。

    环境

    1. ZooKeeper 3.6.0

    2. Ubuntu 16.04

    下载

    ZooKeeper 官网

    下载地址

    安装

    1. 将下载好的安装包拷贝到Linux服务器上,或者直接在Linux服务器通过wget命令直接下载

    wget

    1. 下载完成后通过tar -xvf fileName 命令,将文件解压。
    2. 将解压后的文件夹移动至/usr/local/并通过mv OldName NewName重名为:zookeeper(个人习惯,以方便服务器上软件管理,此步骤可省略),效果如下:

    重命名

    1. 进入到ZooKeeper目录下,创建data文件夹

    创建data文件夹

    1. 进入到ZooKeeper的conf文件夹下,将zoo_sample.cfg复制并重命名为zoo.cfg

    复制并重命名

    1. 打开zoo.cfg文件,将dataDir指向改为上上一步创建的data文件夹的路径,修改后保存并退出。其他属性在非集群情况下通常无需修改,如下:

    更改文件路径

    tickTime:ZK中的一个时间单元。ZK中所有时间都是以这个时间单元为基础,进行整数倍配置的。

    initLimit:Follower在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。L允许F在 initLimit 时间内完成这个工作。通常情况下,我们不用太在意这个参数的设置。如果ZK集群的数据量确实很大了,F在启动的时候,从Leader上同步数据的时间也会相应变长,因此在这种情况下,有必要适当调大这个参数了。默认是:10 * tickTime

    syncLimit:在运行过程中,Leader负责与ZK集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。如果L发出心跳包在syncLimit之后,还没有从F那里收到响应,那么就认为这个F已经不在线了。默认是:5 * ticktime

    dataDir:存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里。ZK会在特定条件下会触发一次快照(snapshot),将当前服务节点的状态以快照文件的形式dump到磁盘上去,即snapshot文件。

    clientPort:客户端连接server的端口,即对外服务端口,一般设置为2181吧。

    集群模式下需在该配置文件中添加server.A=B:C:D

    A:其中 A 是一个数字,表示这个是服务器的编号;

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

    C:Leader选举的端口;

    D:Zookeeper服务器之间的通信端口。

    启动

    ZooKeeper的启动文件在ZooKeeper/bin目录下

    zkServer

    其中zkServer.cmd是Windows环境下ZK服务的启动文件,zkServer.sh是Linux环境下的启动文件,执行./zkServer.sh start出现如下日志,即表示启动成功。

    zkServer.sh start : 启动

    zkServer.sh status : 查看状态

    zkServer.sh stop : 停止

    启动ZooKeeper

    zkCli

    zkCli.sh是Linux环境下ZooKeeper客户端,想要用zkClient链接zookeeper,首先执行如下命令,连接到zookeeper server

    ./zkCli.sh -server localhost:2181
    

    zkCli

    连接成功之后,通过键入help命令,查看客户端所支持的所有命令。(只要输入任何zkCli不能识别的内容,都会出现所有命令)

    help

    客户端的一些使用,及集群下节点的操作,请自行百度!执行quit命令退出!

    结束语

    本人已开通公众号,欢迎大家前来灌水

    公众号

  • 相关阅读:
    2012年决胜HTML5 十四大Web预测盘点
    王海波:Discuz! X 社区功能架构
    史应生:Linux操作系统的性能优化技术
    虚拟还原原理解析
    金山张宴:PHP在金山游戏运营中的应用
    java方法的参数传递
    java逻辑连接词总结
    java名称命名规范
    java引用包的两种方式
    java信息的封装和隐藏
  • 原文地址:https://www.cnblogs.com/L-Wirepuller/p/12586313.html
Copyright © 2011-2022 走看看