zoukankan      html  css  js  c++  java
  • zookeeper 安装及集群

    一、zookeeper介绍

            zookeeper是一个中间件,为分布式系统提供协调服务,可以为大数据服务,也可以为java服务。

            分布式系统,很多计算机组成一个整体,作为一个整体一致对外并处理同一请求,内部每台计算机都可以相互通信,客户端到服务器端的依次请求到响应结束会经历多个计算机。

    特性:一致性。数据一致性,数据按照顺序分批入库,

                原子性:事务要么成功要么失败

                单一试图:客户端连接集群人一个节点,数据都是一致的。

                可靠性:每次对zk操作状态都会保存在服务端

                实时性:客户端可以独到zk服务端最新数据

    二、环境安装 

     本博主安装环境:linux ,centos6.7, jdk1.8,zookeeper3.4.9 

        java环境的jdk的安装

        安装之前可以先卸载掉

        查看系统的jdk rpm 版本:rpm -qa | grep jdk

        卸载原有的:

        yum remove java-1.6.0-openjdk

        yum remove java-1.7.0-openjdk

        下载安装新的1.8的JDK:

        官网上下载jdk-8u171-linux-i586.rpm,并拷贝的linux的home文件夹下

         cd /home

         cp jdk-8u171-linux-i586.rpm /usr/loacal/jdk1.8

          rpm   -ivh  jdk-8u171-linux-i586.rpm

    命令: rpm   -ivh   package.ix86.rpm  的意思如下:

    在上面的命令中,package是个假定的名字,ix86是这个包为特定的CPU做了优化处理的意思。例如,package可能是ldconfig-1.9.5-14,而ix86是i386这样的。  

    “-i”参数指明是要安装这个package,而“-v”这个参数则使输出信息增加,“-h”表示在安装过程中显示hashes作为在安装过程的一个进度条。  

    java -version 查看安装成功。

    三、zookeeper 安装及集群 

    我们在linux上创建三个虚拟机,如下:

    从上到下对应的ip地址分别是

    192.168.10.185,192.168.10.174,192.168.10.127

    首先在127上进行安装。

    1. 从官网下载并上传zookeeper-3.4.9.tar.gz 到linux的home目录下,在usr/local下面创建zookeeper文件夹,拷贝zookeeper3.4.9.tar.gz到zookeeper文件夹下。

    2.解压 tar -zxvf zookeeper3.4.9.tar.gz,解压完成如下:


    3.配置相应配置文件

        1)进行zoo.cfg配置

    解压后zookeeper文件夹下出现解压后的文件夹zookeeper-3.4.9。在zookeeper下创建data文件夹作为数据目录。

    cd zookeeper-3.4.9/conf  修改zoo_sample.cfg文件名为zoo.cfg并vim进行编辑配置


    集群配置信息格式为:server.id=host:port:port

    其中,id被称为Server ID,用来标识该机器在集群中的机器序号,两个port是用来系统间通信的。

    同时,在每台zookeeper机器上,我们都需要在数据目录dataDir指定的目录下创建一个myid文件,该文件只有一行内容,并且只是一个数字,即是对应的每台机器的Server ID——id。需要注意的是每台机器的myid文件中的数字不同,id的范围是1~255。

        2)进行myid文件配置

    进入dataDir目录下,vim myid ,然后写入id即可在dataDir下面创建了一个写入id的myid文件。

    这样一台机器配置就完成了,然后为他两台机器配置zoo.cfg(完全相同)和myid(id号不同)。

    四、启动服务,可以按顺序启动


    启动成功。

    四、集群验证

            验证集群是否成功,在相应bin目录下输入 ./zkServer.sh status 命令,但是在查看状态时却  Error contacting service.it is probably not running


    网上原因有可能有如下几种:

    • 原因一:防火墙拦截,需要关闭防火墙
    • 原因二:缺少 zookeeper 集群所需的文件(如缺少myid文件,本博主不缺)
    • 原因三:zoo.cfg 配置文件中指向的路径错误(本博主检查也完全正确)
    • 原因四:zookeeper 客户端端口被占用(这个可以通过命令查看,本博主确定没有运行相关占用端口的程序)

    经过排除,本博主锁定原因一,

    解决:关闭三台机器的防火墙 命令:service iptables stop,如下:


    然后再次查看状态

    192.168.10.127


    192.168.10.174


    192.168.10.185


    至此,zookeeper集群成功。

     

     

  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    AngularJS学习笔记1
    实习第2天
    转:JavaScript事件冒泡简介及应用
    icon font字体图标字库汇总
    Express4--说明
  • 原文地址:https://www.cnblogs.com/xiaoyao-001/p/9184785.html
Copyright © 2011-2022 走看看