• 安装Zookeeper集群


    Zookeeper集群的安装教程

    安装前说明:

    1、 zookeeper对内存的消耗比较大,在安装zookeeper的时候要安装在内存比较大的机器中。

    2、 zookeeper安装需要是基数台机器,因为zookeeper默认半数以上(不包含半数)的机器正常运行时正常使用,低于半数(不包含半数)就不能正常使用,试想偶数台机器肯定会出现等于半数的情况。

    例:

    当有四台机器组成的zookeeper集群,宕机一台,剩下三台大于半数可用,宕机两台,剩下两台,非半数以上,zookeeper集群不可用。

    当有三台机器组成的zookeeper集群,宕机一台,剩下两台大于半数可用,宕机两台,剩下一台非半数以上,zookeeper集群不可用。

    由此可以看出四台zookeeper集群和三台zookeeper集群效果一样,宕机两台,集群均会废掉,用四台还浪费资源,对不对,最佳实践就是用三台机器,总结的来说就是用基数台机器。

    3、 下面将安装三台机器的zookeeper,分别为slave1、slave2、slave3,只演示一台,其他安装相同,安装Hadoop的时候可以多台机器一键启动,这里zookeeper只能逐台手动启动

    安装步骤:

    1、 切换到hadoop用户,上传zookeeper安装包

    2、 解压安装包,重命名解压后的目录

    [plain] view plain copy
     
    1. [hadoop@slave1 ~]$ tar -zxvfzookeeper-3.4.5.tar.gz  
    2. [hadoop@slave1 ~]$ mv zookeeper-3.4.5zookeeper  

     

    3、 修改环境变量

    切换回到root用户

    [plain] view plain copy
     
    1. [root@slave1 ~]# vim /etc/profile  


    打开profile文件,配置zookeeper的环境变量

    [plain] view plain copy
     
    1. ZOOKEEPER_HOME=/home/hadoop/zookeeper  
    2. export PATH=$PATH:$ZOOKEEPER_HOME/bin  



    重新编译profile文件

    [plain] view plain copy
     
    1. [root@slave1 ~]# source /etc/profile  


    配置、编译完成后切换到hadoop用户

    4、 修改zookeeper配置文件

    进入zookeeper配置文件目录conf:

    [plain] view plain copy
     
    1. [hadoop@slave1 ~]$ cd zookeeper/conf  


    目录下有一个zoo_sample.cfg文件,将该文件改名为zoo.cfg,在文件的最后添加下面的内容:

    [plain] view plain copy
     
    1. dataDir=/home/hadoop/zookeeper/data  
    2. dataLogDir=/home/hadoop/zookeeper/log  
    3. server.1=slave1:2888:3888  
    4. server.2=slave2:2888:3888  
    5. server.3=slave3:2888:3888  



    5、 回到zookeeper安装目录,创建上一步配置的data和log目录,并给目录755权限:

    [plain] view plain copy
     
    1. [hadoop@slave1 zookeeper]$ mkdir -m 755 data  
    2. [hadoop@slave1 zookeeper]$ mkdir -m 755 log  


    6、 进入data目录,创建一个myid文件,并在文件内写入该台机器对应的id:

    在第四步的配置中已经设置了slave1机器的id为1,slave2的机器为2,slave3的机器为3,现在我们配置的是slave机器,自然是在slave1中添加一个1,没有整个文件就一个字符“1”;

    [plain] view plain copy
     
    1. [hadoop@slave1 zookeeper]$ cd data  
    2. [hadoop@slave1data]$ touch myid  
    3. [hadoop@slave1 data]$ vim myid  


    到此为止slave1中的zookeeper就安装成功了,按同样的步骤安装另外几台机器。

    这里教大家一个技巧slave1中安装好并配置好了zookeeper,可以直接将安装好的zookeeper发送到其余的机器中,使用scp命令。

    [plain] view plain copy
     
    1. scp –r /home/hadoop/zookeeper hadoop@slave2:/home/hadoop  


    这样就可以将slave1中安装好的zookeeper发送到slave2机器中了,记得这里发送完成后要到slave2机器中将myid文件中的1改为slave2对应的id,这里为2.切换到root用户在添加zookeeper和重新编译一下profile文件。

    slave3机器也相同,不赘述。

    7、 到此位置3台机器中的zookeeper都已经安装结束。快动手开始自动集群。集群启动结束记得使用jps命令查看一下zookeeper是否正常启动。

    slave1机器:

    [plain] view plain copy
     
    1. [hadoop@slave1conf]$ zkServer.sh start  
    2. JMXenabled by default  
    3. Usingconfig: /home/hadoop/zookeeper/bin/../conf/zoo.cfg  
    4. Startingzookeeper ... /home/hadoop/zookeeper/bin/zkServer.sh: line 103: [:/tmp/zookeeper: binary operator expected  
    5. STARTED  
    6. [hadoop@slave1conf]$ jps  
    7. 1642QuorumPeerMain  
    8. 1668 Jps  
    9. [hadoop@slave1 conf]$  


    slave2机器:

    [plain] view plain copy
     
    1. [hadoop@slave2data]$ zkServer.sh start  
    2. JMXenabled by default  
    3. Usingconfig: /home/hadoop/zookeeper/bin/../conf/zoo.cfg  
    4. Startingzookeeper ... /home/hadoop/zookeeper/bin/zkServer.sh: line 103: [:/tmp/zookeeper: binary operator expected  
    5. STARTED  
    6. [hadoop@slave2data]$ jps  
    7. 1649 Jps  
    8. 1618QuorumPeerMain  
    9. [hadoop@slave2 data]$  


    slave3机器:

    [plain] view plain copy
     
    1. [hadoop@slave3data]$ zkServer.sh start  
    2. JMXenabled by default  
    3. Usingconfig: /home/hadoop/zookeeper/bin/../conf/zoo.cfg  
    4. Startingzookeeper ... /home/hadoop/zookeeper/bin/zkServer.sh: line 103: [:/tmp/zookeeper: binary operator expected  
    5. STARTED  
    6. [hadoop@slave3data]$ jps  
    7. 1671 Jps  
    8. 1646 QuorumPeerMain  
    9. [hadoop@slave3 data]$  


    好了,三台机器成功启动。大功告成!!!

  • 相关阅读:
    jquery--blur()事件,在页面加载时自动获取焦点
    jquery三级联动
    工具集
    兼容各个浏览器:禁止鼠标选择文字事件
    jquery 事件委托(利用冒泡)
    小功能1:多种方法实现网页加载进度条
    JavaSE| 泛型
    SSM整合
    Redis数据库 02事务| 持久化| 主从复制| 集群
    Hadoop| MapperReduce02 框架原理
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/7260190.html
Copyright © 2020-2023  润新知