zoukankan      html  css  js  c++  java
  • 利用VMware在centOS虚拟机上安装Zookeeper

      为了搭建zookeeper 服务,需要找一台服务器,本着不为公司添麻烦的心理,所以呀 我就选择了搭建虚拟机,通过虚拟机搭建zookeeper。相信很多人在看别人的博客或者视频的时候,感觉别人一步一步的好顺当啊。基本上是看了之后就觉得别人行我也行。可实际自己弄的时候简直一步一个坑,我也是不能说一步一个坑那也是两三步一个坑吧。下面我就一步一步的来,给大家讲解我从搭建虚拟机到搭建zookeeper服务,期间遇到的各种各样的问题,以及解决办法。

      第一步:先在VMware 创建一个虚拟机,具体步骤不再赘述,只说一下我遇到的问题。

        问题1.创建的centos虚拟机无法打开(打开就是黑屏状态,没有任何反应)

          因为我第一遍创建虚拟机的时候选择的自定义,后面 我的解决方式是在创建新的虚拟机的时候 模式选择要选择 “典型” ,然后就好了,具体原因未知。

      第二步:然后我们输入ip查询命名 ip addr  也可以输入 ifconfig查看ip,但此命令会出现3个条目,centos的ip地址是ens33条目中的inet值。

        

        发现 ens33 没有 inet 这个属性,那么就没法通过IP地址连接虚拟机。

        接着来查看ens33网卡的配置: vi /etc/sysconfig/network-scripts/ifcfg-ens33   注意vi后面加空格

        

        从配置清单中可以发现 CentOS 7 默认是不启动网卡的(ONBOOT=no)。

         把这一项改为YES(ONBOOT=yes),

         

        然后按 Esc 退出  再出入命令 :wq  再按Enter即可  (备注 :wq 是保存然后退出的意思 后面会专门讲下vi)

         然后重启网络服务: sudo service network restart  ,正常应该出现类似下面这个图

        

      第三步:本机IP和虚拟主机IP 互ping,看看是否互通。如果不通请检查虚拟机的防火墙是否关闭,下面是对应的命令

        

    systemctl status firewalld   //查看防火墙状态
    
    
    systemctl stop firewalld   //关闭防火墙

      如果防火墙关闭了,却发生  本机能ping通虚拟机,虚拟机却不能ping通本机。

      那么去 控制面板 --》网络和 Internet --》网络连接VMnet8 网络启用起来,然后再尝试互ping . 互通之后继续第四步

      第四步:安装JDK  设置环境变量 下面是对应的各个命令

        

    //查看java jdk 是否安装
         java -version
    
    // 安装jdk
    yum install java-1.8.0-openjdk
    
    //设置环境变量 ,注意目录要设置成你安装的目录
    
    export JAVA_HOME=/usr/java

      第五步:下载zookeeper ,并安装

    官网:https://zookeeper.apache.org
    
    下载ZooKeeper,地址:http://mirrors.hust.edu.cn/apache/zookeeper/

       第六步:通过xshell 上传zookeeper 包  到上传到/usr/local下 ,  rz -y    zookeeper-3.4.14.tar.gz

        再次报错: rz:未找到命令

        解决方式:    

    yum -y install lrzsz

       解压zookeeper

      

    tar -zxvf zookeeper-3.4.14.tar.gz

      第七步 :配置Zookeeper 

    1. 在/usr/local下创建一个文件夹叫zookeeper,并在zookeeper文件夹下再创建两个文件夹data和dataLog。

      

      2.cd /usr/local/zookeeper-3.4.14/conf/ 下,可以自己创建一个zoo.cfg或者将zoo_sample.cfg修改为zoo.cfg:我这边新建了一个并设置以下参数:

      这部分参考了  https://blog.csdn.net/u010246789/article/details/52101026 

      他配了三个server  

          server.1=zookeeper1:2888:3888

          server.2=zookeeper2:2888:3888 

          server.3=zookeeper3:2888:3888

      我这主要是讲完整的从创建虚拟机到搭建zookeeper 这个过程,如果想搭建主从的zookeeper参考 这位博主的。

    tickTime=2000  
    dataDir=/usr/local/zookeeper/data
    clientPort=2181  
    initLimit=5  
    syncLimit=2  
    server.1=zookeeper1:2888:3888  

      3.在上面的dataDir目录下(即/usr/local/zookeeper/data)创建一个myid文件。将server.1对应的1写入myid中(server.2就是2):  echo 1 > /usr/local/zookeeper/data/myid

      4.修改/etc/hosts文件所以,否则计算机无法识别zookeeper1:比如 我这台机子的地址是192.168.44.135,所以需要在/etc/hosts中加入:

      

    192.168.44.135 zookeeper1

      第八步:启动zookeeper   

    //启动命令
    /usr/local/zookeeper-3.4.14/bin/zkServer.sh start
    
    //查看状态命令
    /usr/local/zookeeper-3.4.14/bin/zkServer.sh status
    
    //停止服务命令
    /usr/local/zookeeper-3.4.14/bin/zkServer.sh stop

     -----------------------------------------------------------------------------------------------------------------------------

      后记:如果是单机版,hosts文件只用配三个属性就可以了  

    tickTime=2000  
    dataDir=/usr/local/zookeeper/data
    clientPort=2181  

      另外如果zookeeper 如果启动失败,或者查看状态报下面这种错误,请检查防火墙是否关闭,端口是否被占用(netstat -tunlp|grep 2181) 

    /usr/local/apache-zookeeper-3.6.1-bin/bin/../conf/zoo.cfg
    Client port not found in static config file. Looking in dynamic config file.
    grep: : 没有那个文件或目录
    Client port not found. Terminating.

      

       

        

  • 相关阅读:
    《浪潮之巅》笔记之五
    《浪潮之巅》笔记之四
    《浪潮之巅》笔记之三
    《浪潮之巅》笔记之二
    《浪潮之巅》笔记之一
    basename、dirname、alias、date
    grep命令
    centos6下通用二进制格式安装MySQL过程
    在centos6中编译安装httpd-2.4/搭建LAMP
    在服务器端对sshd做白名单
  • 原文地址:https://www.cnblogs.com/yangjinwang/p/13095683.html
Copyright © 2011-2022 走看看