大数据笔记-zookeeper集群搭建

第一步:环境准备
~~>前提:
    在原有一台基础之上,在创建两台虚拟机(点击管理克隆即可,复制两份出来)
    192.168.8.101    LENOVO01
    192.168.8.102    LENOVO02
    192.168.8.103    LENOVO03
        
        修改主机名
            vim /etc/sysconfig/network
            HOSTNAME=LENOVO01
            
            同时在这三台其中的/etc/hosts文件中把
            192.168.8.101    LENOVO01
            192.168.8.102    LENOVO02
            192.168.8.103    LENOVO03                

                
        修改网卡
          定制ip地址                    
    思路:
        clone之前:
           将systemctl disable mariadb.service ~>将mysql db的开启启动屏蔽掉
           
         clone之后:
           systemctl enable mariadb.service  ~>将LENOVO01上的mysql db的开启启动启用
           
       ①基于LENOVO01这台机器,clone两份(LENOVO02,LENOVO03)。
       vim /etc/sysconfig/network-scripts/ifcfg-ens33
       ②修改clone后的机器的ip地址以及主机名。
       
            vim /etc/sysconfig/network-scripts/ifcfg-eth0
              

DEVICE="eth0"
     BOOTPROTO=static
     IPV6INIT="yes"
     NM_CONTROLLED="yes"
     ONBOOT="yes"
     TYPE="Ethernet"
     UUID="8481efb8-9387-41a6-9c37-fbb554af7a78"
/* uuid记得更为不同的编号*/
     IPADDR=192.168.8.101
     NETMASK=255.255.255.0
     GATEWAY=192.168.8.2
     DNS1=8.8.8.8       


             修改ip后,让ip生效:service network restart
             或者重启虚拟机: reboot
             
             vim  /etc/sysconfig/network
             
             vim  /etc/hosts
                添加三个ip地址与主机名的映射关系,目的:集群中的机器通过该配置文件中的信息可以察觉到对方的存在。(如:LENOVO01~>LENOVO02)
    

~~>因为要执行分布式集群的安装,所以需要将原来的部署重新升级来做
        将LENOVO01机器上面的hadoop和zookeeper的数据安装删除即可,
        rm -rf /opt/hadoop
        rm -rf /opt/zookeeper
        
        清除之前hadoop的数据文件
        rm -rf /opt/hadoop-repo/name/*
        rm -rf /opt/hadoop-repo/data/*
        rm -rf /opt/hadoop-repo/tmp/*
        rm -rf /opt/hadoop-repo/secondary  (分布式集群中,NameNode没有小秘了!没有SecondaryNameNode进程,需要删除该目录)
______________________________

~~~~~~>配置各个机器间的免密码登录
    在三台机器上面都生成相应的密码
        ssh-keygen -t rsa
    拷贝LENOVO01的密钥到其它两台机器上面,同时将LENOVO02和LENOVO03自己密钥交给自己进行管理
        
    在LENOVO02上面的操作: (希望LENOVO02机器能够启动LENOVO03上相应的进程,需要配置自己到自己,自己到LENOVO03的免密码登录)
        ssh-keygen -t rsa
        ssh-copy-id -i root@LENOVO02
        ssh-copy-id -i root@LENOVO03
          目的:让LENOVO02机器上的用户root可以免密码登录自己LENOVO02和另外一台机器LENOVO03
        
    在LENOVO03上面的操作:(LENOVO03只需要免密码登录自己即可)
        ssh-keygen -t rsa
        ssh-copy-id -i root@LENOVO03
        
    在LENOVO01上面的操作:
       ssh-copy-id -i root@LENOVO01
       ssh-copy-id -i root@LENOVO02
       ssh-copy-id -i root@LENOVO03    
        
        经验之谈:使用wq来强制保存vi编辑器编辑的文件
        
        总结:
           免密码登录:
             LENOVO01~>LENOVO01,LENOVO02,LENOVO03
             LENOVO02~>LENOVO02,LENOVO03
             LENOVO03~>LENOVO03
--------
    将LENOVO01上面的jdk同步到LENOVO02和LENOVO03上面的/opt目录下面
        通过scp远程拷贝的命令:
        scp -r /opt/jdk root@LENOVO02:/opt/
        scp -r /opt/jdk root@LENOVO03:/opt/
        
        同时将环境变量文件也拷贝到LENOVO02和LENOVO03上面的/etc/profile.d目录下面
        scp /etc/profile.d/bigdata.sh root@LENOVO02:/etc/profile.d/
        scp /etc/profile.d/bigdata.sh root@LENOVO03:/etc/profile.d/
        
        为了让LENOVO02和LENOVO03上面的jdk生效,执行以下动作
            source /etc/profile.d/bigdata.sh                     
                   
第二步:配置ZK,在LENOVO01上面进行配置,同步到其它两台机器(同步:scp 跨越多台机器拷贝)
    1°、解压:tar -zxvf zookeeper-3.4.6.tar.gz
    2°、在conf目录下创建一个配置文件zoo.cfg
        dataDir=/opt/zookeeper/data
        新增如下内容
        server.101=LENOVO01:2888:3888
        server.102=LENOVO02:2888:3888
        server.103=LENOVO03:2888:3888
        
        server----》zk服务器
        说明:约定~>ip地址最后一段作为集群中zk的唯一标识
            101/102/103    ---->zk集群中每一台zk的id标识
            LENOVO01/2/3--->zk集群中的每一台zk的主机名或者ip地址
            2888        ----->集群间各个server之间通信的端口
            3888        ----->选举leader的通信端口
          
        
    3°、在/opt/zookeeper目录下创建一个data目录,用于存放zk数据
    4°、在data目录下绑定当前机器的zk-id(在myid下存储当前机器的唯一标识)
        touch data/myid
        将LENOVO01对应的zk-id添加进data/myid文件
                
        
    5°、将LENOVO01配置好的整个目录拷贝到LENOVO02和LENOVO03中去
        scp -r /opt/zookeeper root@LENOVO02:/opt
        scp -r /opt/zookeeper root@LENOVO03:/opt
        
    6°、根据在zoo.cfg中的配置,修改data/myid文件中的对应id值
        其中LENOVO02----->102
        其中LENOVO03----->103
        
    7°、分别在LENOVO01~LENOVO03的机器上面启动zk服务
        zkServer.sh start
        启动之后可以通过zkServer.sh status查看每一台zk的角色
        有一个leader和两个follower            

要达到的效果:
   ①在任意一台zookeeper server中,通过客户端连接,在其上手动创建一个znode,观察其余两台server中是否出现了同样的znode 
      zkCli.sh  -server  LENOVO01:2181
      
   ②这三台zookeeper server中,杀死leader所对应的进程(zkServer.sh stop),另外两台follower的server必然重新选举出新的leader,另外一台就是follower    

你可能感兴趣的:(安装教程)