初识zookeeper以及安装和集群部署

 
 
一、Zookeeper单体版安装
    在安装zookeeper之前要先安装jdk环境,具体在linux环境安装jdk1.8请参照linux笔记。
    1.在/usr/local/zoo 文件夹下执行命令 wget http://apache.fayea.com/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5.tar.gz 下载zookeeper压缩包,并执行tar -zxvf 进行解压。
    2.初次使用zookeeper需要将conf文件夹下的zoo_sample.cfg修改为zoo.cfg。
    3.在zookeeper安装目录下建立一个文件夹data。
    4.修改zoo.cfg文件中的dataDir为data的路径,保存退出。
    5.启动zookeeper,zkServer.sh.
    (遇到的问题,在bin目录下执行zkServer.sh start提示我命令不存在???
    原因是zookeeper没有配置环境变量,可以选择配置环境变量或者使用命令./zkServer.sh start)
    (修改之后。。。。命令好使了,但是启动失败,连原因都没有,查看zookeeper目录下的logs发现报错:Error: Could not find or load main class org.apache.zookeeper.server.quorum.QuorumPeerMain
)    这里注意一个大坑:
    在zookeeper3.5.5版本中,官网下载有两个文件:
要选择第一个压缩包下载,第二个压缩包是源码包,第一个压缩包下载后按照正常步骤就可以运行起来,太坑了。
二、zookeeper操作常用命令
    1.启动服务
    ./zkServer.sh start
    2.服务状态
    ./zkServer.sh staus
    3.停止服务
    ./zkServer.sh stop
    4.重启服务器
    ./zkServer.sh restar
    5.连接服务器
    ./zkCli.sh -timeout 0 -r -server ip:port 
三、zookeeper集群部署
    1.修改虚拟机的IP地址为静态IP,否则搭建zookeeper集群会因为IP地址发生变化而报错。
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
  只能存在一个ifcfg-ens33 文件   例如: ifcfg-ens33 / ifcfg-ens32 /ifcfg-ens33.bck     多余的文件必须删除
    修改如下:
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=static               #这里修改为static,代表是静态的IP
    IPADDR=192.168.162.128      #添加自定义IP地址
    NETMASK=255.255.255.0   #添加子网掩码
    GATEWAY=192.168.162.2   #添加网关
    DNS1=192.168.162.2        #添加DNS1可以与网关一致
    DNS2=8.8.8.8                 #添加DNS2 
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=ens33
    UUID=48f38312-9b20-431c-b873-f71c64f1f1f8
    DEVICE=ens33
    ONBOOT=yes
    2.配置host文件 (选配)
    vim etc/host
    增加如下内容:
    192.168.162.128 vm01
    192.168.162.129 vm02
    192.168.162.130 vm03
    将IP地址与别名进行绑定,这里有个问题,配置了host之后ping不同,采用IP就好使,这个根据实际情况看吧。
 
    3.修改zoo.cfg文件
    增加如下内容
    server.1=vm01:2888:3888
    server.2=vm02:2888:3888
    server.3=vm03:2888:3888
    公式:server.ID=host文件中设置的名称,如果没设置为IP:集群内通信的端口:选举投票的端口
    4.在data文件夹下建myid文件,里面内容与ID相同
    
    5.关闭防火墙
    systemctl status firewalld  查看防火墙状态
    systemctl stop firewalld 停止防火墙
    systemctl disable firewalld 禁止使用防火墙
    6.分别启动三台虚拟机的zookeeper服务
  

初识zookeeper以及安装和集群部署的更多相关文章

  1. Hadoop及Zookeeper+HBase完全分布式集群部署

    Hadoop及HBase集群部署 一. 集群环境 系统版本 虚拟机:内存 16G CPU 双核心 系统: CentOS-7 64位 系统下载地址: http://124.202.164.6/files ...

  2. kafka单机版的安装、集群部署 及使用

    1.安装kafka(单机版) 1.1上传 kafka_2.11-2.0.0.tgz 到 /root/Downloads 1.2解压 tar 包 tar -zxvf kafka_2.11-2.0.0.t ...

  3. redis CentOS6.5安装及集群部署

    .下载redis source包 链接:https://pan.baidu.com/s/122ZCjNvjl9Jx6M2YsLrncw 密码:92ze 2.解压 tar -xzf redis-3.2. ...

  4. k8s1.9.0安装--完整集群部署

    三.完整集群部署 - kubernetes-with-ca 1. 理解认证授权 1.1 为什么要认证 想理解认证,我们得从认证解决什么问题.防止什么问题的发生入手.防止什么问题呢?是防止有人入侵你的集 ...

  5. k8s1.9.0安装--基础集群部署

    二.基础集群部署 - kubernetes-simple 1. 部署ETCD(主节点) 1.1 简介 kubernetes需要存储很多东西,像它本身的节点信息,组件信息,还有通过kubernetes运 ...

  6. zookeeper的安装及集群配置

    1.解压 2.修改配置文件 cp zoo_sample.cfg zoo.cfg vim zoo.cfg dataDir=/usr/local/zookeeperData 其余采用默认 参数说明: ti ...

  7. Centos7上安装Kubernetes集群部署docker

    一.安装前准备1.操作系统详情需要三台主机,都最小化安装 centos7.3,并update到最新 [root@master ~]# (Core) 角色 主机名 IPMaster master 192 ...

  8. RabbitMQ安装以及集群部署

    本次记录安装RabbitMQ的过程,只针对MAC下单机版安装.单机集群安装方法以及配置haproxy负载均衡. RabbitMQ单机版本安装 RabbitMQ单机集群安装方法(适合开发练习) Rabb ...

  9. Kubernetes全栈架构师(二进制高可用安装k8s集群部署篇)--学习笔记

    目录 二进制高可用基本配置 二进制系统和内核升级 二进制基本组件安装 二进制生成证书详解 二进制高可用及etcd配置 二进制K8s组件配置 二进制使用Bootstrapping自动颁发证书 二进制No ...

随机推荐

  1. 关于str的打印格式

    实际上一般的打印格式应该是这样的: %[(keyname)][flags][width][.precision]typecode (1) keyname: 用于打印Dict类型时做索引; (2) fl ...

  2. groupBy 后附加数量和每组百分比

    SELECT i_State, n, , ) rat FROM ( SELECT * FROM ( ) n FROM planinfo GROUP BY i_State ) t1 ) s ) t

  3. light oj 1422 区间dp

    #include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> ...

  4. PAT甲级——A1091 Acute Stroke【30】

    One important factor to identify acute stroke (急性脑卒中) is the volume of the stroke core. Given the re ...

  5. SpringBoot使用注解方式整合Redis

    1.首先导入使用Maven导入jar包 <dependency> <groupId>org.springframework.boot</groupId> <a ...

  6. MySQL-Utilities:mysqldbcompare及跳过复制错误

    mysqldbcompare也是MySQL-Utilities工具集的一个脚本.mysqldbcompare从两个数据库比较对象和数据的不同.数据库中的对象包括:表.视图.触发器.存储过程.函数和事件 ...

  7. MySQL Server Logs

    日志记录存储方式 #日志记录存储方式 mysql> show variables like 'log_output'; mysql> set global log_output='FILE ...

  8. Redis学习笔记01-分布式锁

    1.分布式锁的定义与理解 在并发任务中,当对数据执行修改和删除时为了防止多个任务同时拿到数据而产生的混乱,这时就要用到分布式锁来限制程序的并发执行. Redis分布式锁本质上要实现的目标就是在Redi ...

  9. 如何 在 jQuery 中的 $.each 循环中使用 break 和 continue

    jQuery中each类似于javascript的for循环 但不同于for循环的是在each里面不能使用break结束循环,也不能使用continue来结束本次循环,想要实现类似的功能就只能用ret ...

  10. 排列组合lucas模板

    //codeforces 559C|51nod1486 Gerald and Giant Chess(组合数学+逆元) #include <bits/stdc++.h> using nam ...