hadoop2.x上搭建zookeeper组件和kafka组件

前期工作:

    1.hadoop2.x集群首先要搭建好,我这里是分布式,三台虚拟机

    2.要进行时间同步(很重要),我这里用的是ntp服务

一、搭建zookeeper

  1.上传zookeeper安装包,并且将安装包解压到/opt/modules/目录下

  2.进入zookeerper目录,创建一个data文件夹,并在data文件夹里面创建一个myid文件,在myid文件中写入数字0

    命令是:mkdir   data

        cd     data

        touch   myid

        vi      myid

  3.编辑配置文件

     进入/zookeeper/conf/目录下

      将zoo_sample.cfg  重命名为 zoo.cfg,并将文件做以下修改:      

        dataDir=/opt/modules/zookeeper-3.4.5-cdh5.3.6/data  (这个是原有的,直接修改)

                               (下面三个是要添加的)
        server.0=hadoopNumber01.medal.com:2888:3888
        server.1=hadoopNumber02.medal.com:2888:3888
        server.2=hadoopNumber03.medal.com:2888:3888

  4.分发到其它两个虚拟机

    进入/opt/modules/目录下

    命令:

      cd  /opt/modules/

      scp   -r    zookeeper/    xunzhang@hadoopNumber02.medal.com:/opt/modules/ 

      scp   -r    zookeeper/    xunzhang@hadoopNumber03.medal.com:/opt/modules/ 

  5.修改myid文件

      在另外两台虚拟机上,将/opt/modules/zookeeper/data/myid文件中的数字0,分别改成1,2

  6.启动验证

      分别在三台虚拟机,zookeeper目录下,输入以下命令:

        bin/zkServer.sh start  

       三台启动完成后,在执行下面的命令

        bin/zkServer.sh status 

      如果状态是两个follower和一个leader,则表明安装成功

  至此,完成了zookeeper的搭建

二、搭建kafka

  在zookeeper搭建成功的前提下,我们就可以搭建kafka了

  1.首先我们在三台虚拟机上安装scala,这个比较简单,我在这里就简单的说一下步骤

    1>上传scala安装包,并进行解压

    2>配置环境变量

    注意:三台虚拟机都要做以上操作

  2.安装kafka

    1>上传kafka安装包,并将其解压到/opt/modules/目录下

    2>编辑配置文件

      进入kafka/config/目录下

        server.properties文件:修改两个地方

          broker.id=0       这里默认就行,另外两台虚拟机,分别是1和2

          zookeeper.connect=........

           这里填写你的zookeeper集群的ip地址,注意:一定得是ip地址,域名好像不可以,端口号是2181

           所以我的是:zookeeper.connect= 192.168.174.131:2181,192.168.174.132:2181,192.168.174.133:2181

      进入kafka/bin/目录下

        kafka-run-class.sh文件:删除一个地方       

          if [ -z "$KAFKA_JVM_PERFORMANCE_OPTS" ]; then
           KAFKA_JVM_PERFORMANCE_OPTS="-server  -XX:+UseCompressedOops -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:
          +CMSClassUnloadingEnabled -XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC -Djava.awt.headless=true"
          fi
        去掉-XX:+UseCompressedOops即可
    3>拷贝jar包到libs目录下
      将slf4j-1.7.6.zip上传到集群
      unzip slf4j-1.7.6.zip
      把slf4j中的slf4j-nop-1.7.6.jar复制到kafka的libs目录下面
 
    4>分发配置文件
      命令:
        进入/opt/modules/目录下
         scp  -r  kafka..../   xunzhang@hadoopNumber02.medal.com:/opt/modules/ 
         scp  -r  kafka..../   xunzhang@hadoopNumber03.medal.com:/opt/modules/
 
    5>修改另外两台虚拟机的配置文件
       进入kafka/config/目录下
         server.properties文件 
           broker.id=1
       在另外一台虚拟机上把broker.id=2,即可
  3.测试kafka集群
    
    1>在三台机器上的kafka目录下,分别执行以下命令:nohup bin/kafka-server-start.sh config/server.properties &
    2>cat    nohup.out
    3>在第一台虚拟机上开一个窗口(窗口1),并进入kafka目录下执行以下命令:
       bin/kafka-topics.sh --zookeeper 192.168.1.105:2181,192.168.1.106:2181,192.168.1.107:2181 --topic TestTopic --replication-factor 1 --partitions 1 --create        
       bin/kafka-console-producer.sh --broker-list 192.168.1.105:9092,192.168.1.106:9092,192.168.1.107:9092 --topic TestTopic
     在第一台虚拟机上另开一个窗口(窗口2)执行以下命令       
        bin/kafka-console-consumer.sh --zookeeper 192.168.1.105:2181,192.168.1.106:2181,192.168.1.107:2181 --topic TestTopic --from-beginning
      执行完后,在窗口1,输入hello world,看看在窗口2,是否出现hello world
     注意:这里的ip地址,是你zookeeper集群的ip
至此kafka集群搭建成功
 

      

原文地址:https://www.cnblogs.com/medal-li/p/7462715.html