参考:
细细品味Kafka_Kafka简介及安装_V1.3http://www.docin.com/p-1291437890.html
 
一. 准备工作:
    1. 准备3台机器,IP地址分别为:192.168.3.230(233,234)
    2. 下载kafka稳定版本,我的版本为:Scala 2.11  - kafka_2.11-0.9.0.0.tgz
        http://kafka.apache.org/downloads.html
    3. 分别解压放入到想安装的目录下,我的目录为:/home/rasa 解压命令为:
        tar -xzf *.tgz
 
二、搭建zookeeper集群
    1.进入解压后的目录/home/rasa/kafka_2.11-0.9.0.0
    2. 进入config目录下,修改zookeeper.properties文件(所有机器相同)
        tickTime
        dataDir =/data/zookeeper/
        clientPort
        initLimit
        syncLimit
        server.1 =192.168.3.230:2888:3888
        server.2 =192.168.3.233:2888:3888
        server.3 =192.168.3.234:2888:3888
 
    3.在dataDir目录/data/zookeeper/下写一个myid文件,命令如下:
        echo 1 >myid
        注意:这个id是zookeeper的主机标示,每个主机id不同第二台是2 第三台是3。
 
    4.逐次启动3台机器的zookeeper 构成一个集群:
        > bin/zookeeper-server-start.sh config/zookeeper.properties &
        由于ZooKeeper集群启动的时候,每个结点都试图去连接集群中的其它结点,先启动的肯定连不上后面还没启动的,所以打印出来的部分的异常是可以忽略的。集群在选出一个Leader后,最后稳定了。其他结点可能也出现类似问题,属于正常。
 
三、搭建kafka集群
    1.进入config目录,修改server.properties(逐个机器修改)
        broker.id (其他机器为 2/3)
        port
        zookeeper.connect= 192.168.3.230:2181,192.168.3.233:2181,192.168.3.234:2181
        log.dirs =/home/rasa/kafka-logs
        host.name =192.168.3.230
        advertised.host.name =192.168.3.230
    2.启动每台服务器的kafka:
        > bin/kafka-server-start.sh config/server.properties &
 
四、测试集群
    1.创建一个topic
        > bin/kafka-topics.sh --create --zookeeper 192.168.3.230:2181 --replication-factor 3 --partitions 1
            --topic test-topic
 
    2.查看创建的topic
        > bin/kafka-topics.sh --describe --zookeeper 192.168.3.230:2181 --topic test-topic
            Topic:test-replicated-topic    PartitionCount:1    ReplicationFactor:3    Configs:
            Topic: test-replicated-topic    Partition: 0    Leader: 1    Replicas: 1,2,0    Isr: 1,2,0
 
     3.查看topic列表
          > bin/kafka-topics.sh --list --zookeeper 192.168.3.230 :2181 
    test
    test-topic
    查看列表及具体信息
          > bin/kafka-topics.sh --zookeeper localhost --describe
 
    4.查看集群情况:
        >bin/kafka-topics.sh --describe --zookeeper 192.168.3.233:2181 --topic test-topic
        >bin/kafka-topics.sh --describe --zookeeper 192.168.3.234:2181 --topic test-topic
        发现都能看到test-topic。
 
     5.生产消息
          > bin/kafka-console-producer.sh --broker-list 192.168.3.234:9092 -topic test-topic
     6.消费消息
          > bin/kafka-console-consumer.sh --zookeeper 192.168.3.234:2181 --from-beginning --topic test-topic
 
 

kafka1:Kafka集群部署步骤的更多相关文章

  1. Kafka集群部署以及使用

    Kafka集群部署 部署步骤 hadoop102 hadoop103 hadoop104 zk zk zk kafka kafka kafka http://kafka.apache.org/down ...

  2. kafka 集群部署 多机多broker模式

    kafka 集群部署 多机多broker模式 环境IP : 172.16.1.35   zookeeper   kafka 172.16.1.36   zookeeper   kafka 172.16 ...

  3. Zookeeper+Kafka集群部署(转)

    Zookeeper+Kafka集群部署 主机规划: 10.200.3.85  Kafka+ZooKeeper 10.200.3.86  Kafka+ZooKeeper 10.200.3.87  Kaf ...

  4. 3、Kafka集群部署

    Kafka集群部署 1)解压安装包 [ip101]$ tar -zxvf kafka_2.11-0.11.0.0.tgz -C /opt/app/ 2)修改解压后的文件名称 [ip101]$ mv k ...

  5. Zookeeper+Kafka集群部署

    Zookeeper+Kafka集群部署 主机规划: 10.200.3.85  Kafka+ZooKeeper 10.200.3.86  Kafka+ZooKeeper 10.200.3.87  Kaf ...

  6. Kafka集群部署 (守护进程启动)

    1.Kafka集群部署 1.1集群部署的基本流程 下载安装包.解压安装包.修改配置文件.分发安装包.启动集群 1.2集群部署的基础环境准备 安装前的准备工作(zk集群已经部署完毕)  关闭防火墙 c ...

  7. solr 集群(SolrCloud 分布式集群部署步骤)

    SolrCloud 分布式集群部署步骤 安装软件包准备 apache-tomcat-7.0.54 jdk1.7 solr-4.8.1 zookeeper-3.4.5 注:以上软件都是基于 Linux ...

  8. SolrCloud 分布式集群部署步骤

    https://segmentfault.com/a/1190000000595712 SolrCloud 分布式集群部署步骤 solr solrcloud zookeeper apache-tomc ...

  9. 分布式消息系统之Kafka集群部署

    一.kafka简介 kafka是基于发布/订阅模式的一个分布式消息队列系统,用java语言研发,是ASF旗下的一个开源项目:类似的消息队列服务还有rabbitmq.activemq.zeromq:ka ...

随机推荐

  1. 浅析SQL Server中的执行计划缓存(上)

    简介 我们平时所写的SQL语句本质只是获取数据的逻辑,而不是获取数据的物理路径.当我们写的SQL语句传到SQL Server的时候,查询分析器会将语句依次进行解析(Parse).绑定(Bind).查询 ...

  2. Android学习路线(二十一)运用Fragment构建动态UI——创建一个Fragment

    你能够把fragment看成是activity的模块化部分.它拥有自己的生命周期,接受它自己的输入事件,你能够在activity执行时加入或者删除它(有点像是一个"子activity&quo ...

  3. lshw-查看系统硬件信息

    lshw是系统日常使用会比较常用到的命令,一般是用它来查看新硬件的信息. 跟觉man,lshw会读取的文件有: /usr/local/share/pci.ids /usr/share/pci.ids ...

  4. openSession() 与 getCurrentSession() 有何不同和关联呢?

    在 SessionFactory 启动的时候, Hibernate 会根据配置创建相应的 CurrentSessionContext ,在getCurrentSession() 被调用的时候,实际被执 ...

  5. 如何为Drupal缓存对象指定缓存类?

    什么意思?意思是说,假如你有这样的需求,需要将cache_page缓存到数据库,其它的都缓存到memcache,这该怎么办? 看看_cache_get_object()的实现你就会知道上面的问题该怎么 ...

  6. 关于同一线程两次调用EnterCriticalSection的测试

    #include "stdafx.h" #include <iostream> using namespace std; #include <windows.h& ...

  7. JBoss jar包冲突及jar加载顺序

    http://blog.163.com/javaee_chen/blog/static/17919507720116149511489/将一个完整的.war包部署到Jboss容器中,启动后报如下错误: ...

  8. Mysql 中 trim 的用法

    需求:去掉contract字段值中的% update gsfrankfurt set contract = trim(both "%" from contract);

  9. C# EF更新当前实体报错 ObjectManager无法管理具有相同键值的多个对象

    原因: ObjectManager已经在跟踪此对象 更新实体前判断 if (db.Entry<T>(t).State != EntityState.Modified) db.Entry&l ...

  10. 企业信息系统集成框架(设计思路)C模式

    1.客户端.h文件 #pragma once #include<stdlib.h> //A程序员定义接口形式和调用模式 //初始化句柄 typedef int(*Init_Socket)( ...