搭建kafka集群

                 创建kafka集群    

      集群规划:1)由于我们使用的是自己的zookeeper进行节点之间的通信,搭建kafka前,zookeeper集群运行。在搭                              建kafka之前,我让hadoop集群和zookeeper集群都运行。

                      2)十二个节点全部用上,由于kafka没有主节点,topic是随机分配的。

  搭建前:上网查看资料可以知道,kafka的搭建并不麻烦。麻烦的是调优。

                   搭建kafka需要配置的有:                

                       1)环境变量        KAFKA_HOME     PATH

                        2)kafka的配置文件server.properties    需要配置broker.id、hostname、log.dirs、zookeeper.connect

  

  开始搭建: 

            1、下载kafka压缩文件,并重命名  
         tar xfz kafka_2.11-0.8.2.2.tgz                          #这里我解压到/usr/local/下
                 mv kafka_2.11-0.8.2.2 kafka-2.11                    #重命名

            2、配置文件
     1)在文件server.properties里修改
   broker.id=       #整数,建议根据ip区分。只要集群中这个数不重复就行了,
 m1、m2、rm1、rm2、d1、d2、d3、d4、d5、d6、s1、s2分别对应
 1        2       3        4       5     6      7      8      9     10   11  12
 
       log.dirs=/usr/local/kafka-2.11/kafka-data    #建立文件夹kafka-data,并在这指明其路径
      host.name=m1    #在不同的节点上写不同的名字,eg:在节点m1上写m1
     advertised.host.name=m1  #在不同的节点上写不同的名字,eg:在节点m1上写m1


socket.send.buffer.bytes=1048576      #socket的发送缓冲区,原来为100*1024
  socket.receive.buffer.bytes=1048576    #socket的接收缓冲区,原来为100*1024
socket.request.max.bytes=104857600    #这个值没变,以后需要调的话再说

zookeeper.connect=d1:2181,d2:2181,d3:2181,d4:2181,d5:2181

注意:更改不同的节点的broker.id和hostname

           2)启动kafka

           在每台机器上执行: bin/kafka-server-start.sh -daemon config/server.properties &
   尾部加上&的作用是可以启动完之后直接按 回车 退出,继续下一步操作。

 关闭kafka
    在每台机器上执行: bin/kafka-server-start.sh  config/server.properties &

    3) 创建topic
    
 bin/kafka-topics.sh --create --zookeeper d3:2181,d1:2181,d2:2181,d4:2181,d5:2181 --replication-factor 1 --partitions 1 --topic test
 
         4)   查看Topic
       bin/kafka-topics.sh --list --zookeeper d3:2181,d1:2181,d2:2181,d4:2181,d5:2181
     
         5)  producer发送消息(假设我们在m1上,开一个终端,发送消息至kafka(m1模拟producer))
             bin/kafka-console-producer.sh --broker-list m1:9092 --topic test    ##这里的m1可以是任何节点名称

    在发送消息的终端输入:Hello Kafka      
         6)consumer接收消息 (假设我们在m2上,开一个终端,显示消息的消费(m2模拟consumer))
      bin/kafka-console-consumer.sh --zookeeper d3:2181,d1:2181,d2:2181,d4:2181,d5:2181 --topic test --from-beginning
  


“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”                2016.07.27

    kafka集群已经搭建好,今天改了配置两个地方,一个是hostname等号后面换成了主机的IP,另一个advertised.host.name=的值也是换成了对应的主机IP


   另外,producer发送消息,通过更改指令中的 m1:9092,已经可以工作。


“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“‘’”   

            2016.07.28

         今天早上起来发现昨天kafka集群的进程全部死掉。

在网上查找相关资料,有个这样一个“在控台启动了kafka之后,关闭控台后,集群就也关闭了“”  

            答案是:开启kafka的命名中加上 -daemon 就行了,即

            bin/kafka-server-start.sh   -daemon  config/server.properties &

            ok ,刚才重启了下终端,jps查看进程。kafka进程还在。问题解决



   又来问题了,我之前一直是在创建topic,但是从没有删除过,删除命令我并不知道,查了下

           删除命令是bin/kafka-topics.sh --zookeeper d1:2181,d2:2181,d3:2181,d4:2181,d5:2181 --topic topicname  --delete 

      但是呢,出现这样的提示

      Topic  test is marked for deletion.    #这里test是我创建的topic名字

   Note: This will have no impact if delete.topic.enable is not set to true.


   解决办法:通过在配置文件sever.property中添加delete.topic.enable=true,然后重启kafka集群,就可以了完全删除   了。查看topic时,已经不能看到删除的topic了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值