Kafka依赖Zookeeper,虽然Kafka自带zookeeper,但是建议单独部署,所以先部署Zookeeper。

测试环境

citus1,citus2,citus3三台机器。对主机名和ip在/etc/hosts文件中进行映射自行完成。

部署zookeeper

Zookeeper版本:zookeeper-3.4.6

1.解压缩,修改配置

cp zookeeper-3.4.6/conf/zoo_sample.cfg zookeeper-3.4.6/conf/zoo.cfg

vi zoo.cfg中修改配置,没有的添加:

  1. tickTime=
  2. dataDir=/var/lib/zookeeper
  3. clientPort=
  4. initLimit=
  5. syncLimit=
  6. server.=citus1::
  7. server.=citus2::
  8. server.=citus3::

2.分发其他机器

  1. scp -r zookeeper-3.4. citus2:/opt/
  2. scp -r zookeeper-3.4. citus3:/opt/

3.设置myid

  1. [root@citus1 opt]# mkdir /var/lib/zookeeper
  2. [root@citus1 opt]# echo "" > /var/lib/zookeeper/myid
  3. [root@citus2 opt]# mkdir /var/lib/zookeeper
  4. [root@citus2 opt]# echo "" > /var/lib/zookeeper/myid
  5. [root@citus3 opt]# mkdir /var/lib/zookeeper
  6. [root@citus3 opt]# echo "" > /var/lib/zookeeper/myid

4.启动zookeeper

  1. [root@citus1 zookeeper-3.4.]# bin/zkServer.sh start
  2. JMX enabled by default
  3. Using config: /opt/zookeeper-3.4./bin/../conf/zoo.cfg
  4. Starting zookeeper ... STARTED
  5. [root@citus2 zookeeper-3.4.]# bin/zkServer.sh start
  6. JMX enabled by default
  7. Using config: /opt/zookeeper-3.4./bin/../conf/zoo.cfg
  8. Starting zookeeper ... STARTED
  9. [root@citus3 zookeeper-3.4.]# bin/zkServer.sh start
  10. JMX enabled by default
  11. Using config: /opt/zookeeper-3.4./bin/../conf/zoo.cfg
  12. Starting zookeeper ... STARTED

5.查看状态

  1. [root@citus1 zookeeper-3.4.]# bin/zkServer.sh status
  2. ZooKeeper JMX enabled by default
  3. Using config: /opt/zookeeper-3.4./bin/../conf/zoo.cfg
  4. Mode: follower
  5. [root@citus1 zookeeper-3.4.]# bin/zkServer.sh status
  6. ZooKeeper JMX enabled by default
  7. Using config: /opt/zookeeper-3.4./bin/../conf/zoo.cfg
  8. Mode: leader
  9. [root@citus1 zookeeper-3.4.]# bin/zkServer.sh status
  10. ZooKeeper JMX enabled by default
  11. Using config: /opt/zookeeper-3.4./bin/../conf/zoo.cfg
  12. Mode: follower

部署kafka

1.解压缩,修改配置

  1. tar -xzvf kafka_2.-0.10.2.1.tgz -C /opt
  2. vi /opt/kafka_2.-0.10.2.1/config/server.properties

修改zookeeper配置如下:

Broker.id为当前机器在集群中的唯一标识,每台服务器的broker.id都不能相同。

2.从citus1上分发其他机器

  1. scp -r kafka_2.-0.10.2.1/ citus2:/opt
  2. scp -r kafka_2.-0.10.2.1/ citus3:/opt

3.修改配置

citus2上修改broker.id为1

citus3上修改broker.id为2

4.启动kafka

每台机器都执行:

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

5.测试

新建一个topic:

  1. ./bin/kafka-topics.sh --zookeeper citus1:,citus2:,citus3: --topic test --replication-factor --partitions --create

查看当前topic:

  1. ./bin/kafka-topics.sh --zookeeper citus1:,citus2:,citus3: --list

在一个节点创建一个producer:

  1. ./bin/kafka-console-producer.sh --broker-list citus1:,citus2:,citus3: --topic test

在另外一个节点创建consumer:

  1. ./bin/kafka-console-consumer.sh --zookeeper citus1:,citus2:,citus3: --from-beginning -topic test

在producer端输入信息,在consumer端能接收到信息。

Kafka部署的更多相关文章

  1. 大并发量订单处理的 KafKa部署

    大并发量订单处理的 KafKa部署总结 今天要介绍的是消息中间件KafKa,应该说是一个很牛的中间件吧,背靠Apache 与很多有名的中间件搭配起来用效果更好哦 ,为什么不用RabbitMQ,因为公司 ...

  2. 处理大并发量订单处理的 KafKa部署总结

    处理大并发量订单处理的 KafKa部署总结 今天要介绍的是消息中间件KafKa,应该说是一个很牛的中间件吧,背靠Apache 与很多有名的中间件搭配起来用效果更好哦 ,为什么不用RabbitMQ,因为 ...

  3. 基于Docker的Kafka部署

    一 准备 1.1 安装docker-dompose #部署 sudo curl -L "https://github.com/docker/compose/releases/download ...

  4. Kafka 部署完在服务器端可以访问,而在外部其它电脑访问不了

    Kafka 部署完在服务器端可以访问,而在外部其它电脑访问不了 原因:config/server.properties的listeners和advertised.listeners 不配置的话默认的l ...

  5. Kafka部署与代码实例(转)

    来自:http://doc.okbase.net/QING____/archive/19447.html 也可参考: http://blog.csdn.net/21aspnet/article/det ...

  6. Linux中kafka部署和集群

    1.下载kafka安装包kafka_2.12-1.1.0. tar -xzvf kafka_2.11-0.8.2.1.tgz #解压 mv kafka_2.11-0.8.2.1 /usr/local/ ...

  7. Kafka 部署指南-好久没有更新博客了

    最近到了一家新公司,很多全新技术栈要理解.每天都在看各类 English Offcial Document,我的宗旨是我既然看懂了,就写下来分享,这是第一篇. 基本需求: 1.已有 zookeeper ...

  8. Kafka部署篇

    目录 安装 下载与安装 配置 启停操作 验证 基本操作 创建topic 列出现有的topic 查看topic的详细信息 增加topic的partition数量 修改一个topic的副本数 删除一个to ...

  9. Kafka部署安装

    一.环境准备 1.jdk 8+ 2.zookeeper 3.kafka 说明:在kafka较新版本中已经集成了zookeeper,所以不用单独安装zookeeper,只需要在kafka文件目录中启动z ...

随机推荐

  1. 自定义View相关的博客收藏

    颜色: http://android.jobbole.com/83283/ 坐标: http://android.jobbole.com/83276/ 流程介绍: http://android.job ...

  2. ArrayList(1.8)

    public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess ...

  3. LFTP 4.6.2 发布,命令行 FTP 工具。这个东东可以用来做插件

    直击现场  这个东东可以用来做插件 LFTP 4.6.2 发布,新增特征如下: * new command "edit" instead of the edit alias.* n ...

  4. Qt使Release版本可调试

    只需在pro文件中加入 QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO QMAKE_LFLAGS_RELEASE = $$ ...

  5. 命令行版扫雷(vc08)

    复制代码模拟鼠标各种按键 左键 翻开右键 标雷左右键 翻开周围 先判断当前点是否为已翻开的点 时间地雷计数器清屏 展开 大于8时不管 小于等于8时翻开本身 为0时翻开周围的输出 同雷数图雷区判断 判断 ...

  6. Qt之QSS(QTreeView)

    check 是选中 前面的指示器的状态 select 是选中 项目 item 的状态. http://blog.csdn.net/u011012932/article/details/52606662

  7. dpkg:处理 xxx (--configure)时出错解决方案

    出现问题如下: 正在设置 nfs-common (1:1.2.2-4ubuntu5) ... dpkg:处理 nfs-common (--configure)时出错:  子进程 已安装 post-in ...

  8. bootstrap模态框篇【遇到的问题】

    <div class="modal fade" tabindex="-1" role="dialog">  <div cl ...

  9. (Demo分享)利用JavaScript(JS)实现一个九宫格拖拽功能

    利用JavaScript(JS)实现一个九宫格拖拽功能   Demo实现了对任意方格进行拖拽,可以交换位置,其中Demo-1利用了勾股定理判断距离! Demo-1整体思路: 1.首先div实现自由移动 ...

  10. WebService跨域配置、Ajax跨域请求、附开发过程源码

    项目开发过程中需要和其他公司的数据对接,当时我们公司提供的是WebService,本地测试,都是好的,Ajax跨域请求,就报错,配置WebService过程中,花了不少功夫,入不少坑,不过最终问题还是 ...