1.从http://kafka.apache.org/下载kafka安装包;
2.tar zxvf kafka_2.8.0.tar.gz,修改配置文件conf/server.properties:
broker.id=0;host.name=10.100.5.9;zookeeper.connect=10.100.5.9:2181可逗号分隔配置多个

3.启动服务:bin/zkServer.sh start; bin/kafka-server-start.sh config/server.properties &

4.创建topic主题:
bin/kafka-create-topic.sh --zookeeper 10.100.5.9:2181 --replica 3 --partition 1 --topic mykafka

//启动报错Unrecognized VM option '+UseCompressedOops'
查看 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

5.测试主题:
bin/kafka-list-topic.sh --zookeeper 10.100.5.9:2181

6.生产者发送消息:
bin/kafka-console-producer.sh --broker-list 10.100.5.9:9092 --topic mykafka

7.消费者接收消息:
bin/kafka-console-consumer.sh --zookeeper 10.100.5.9:2181 --topic mykafka --from-beginning

8.多broker测试
之前是一台机器上当做一个node,现在尝试在一台机器上放3个node,即broker
修改配置文件
# cp config/server.properties config/server-1.properties
# cp config/server.properties config/server-2.properties

config/server-1.properties:
    broker.id=1
    port=9093
    log.dir=/tmp/kafka-logs-1
 
config/server-2.properties:
    broker.id=2
    port=9094
    log.dir=/tmp/kafka-logs-2

启动broker1和broker2

# JMX_PORT=9997 bin/kafka-server-start.sh config/server-1.properties &
# JMX_PORT=9998 bin/kafka-server-start.sh config/server-2.properties &

创建一个topic

# bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 3 --partition 1 --topic my-replicated-topiclist一下

# bin/kafka-list-topic.sh --zookeeper localhost:2181

topic: my-replicated-topic    partition: 0    leader: 2    replicas: 2,0,1    isr: 2,0,1
topic: test    partition: 0    leader: 0    replicas: 0    isr: 0partition:同一个topic下可以设置多个partition,将topic下的message存储到不同的partition下,目的是为了提高并行性

leader:负责此partition的读写操作,每个broker都有可能成为某partition的leader

replicas:副本,即此partition在那几个broker上有备份,不管broker是否存活

isr:存活的replicas

最新文章

  1. uicode编码解码
  2. 如何将github上的 lib fork之后通过podfile 改变更新源到自己fork的地址
  3. mysql 存储过程 删除重复
  4. 循环生成sql文件。
  5. Centos7 改名问题
  6. CString用法总结
  7. openlayers加载百度地图
  8. ECSHOP模糊分词搜索和商品列表关键字飘红功能
  9. python3可变与不可变数据类型
  10. thinkphp+redis实现秒杀功能
  11. 学习笔记之--MySQL图形界面软件Navicat Premium的安装
  12. 怎样在SharePoint管理中心检查数据库架构版本号、修补级别和修补程序的常规监控
  13. 正则表达式概述与JAVA中正则表达式的应用
  14. VS2010+opencv2.4.10+gsl_1.8配置实现RobHess的SIFT程序
  15. C语言数据结构基础学习笔记——图
  16. Parquet 格式文件,查看Schema
  17. Servlet、Tomcat访问(access)日志配置、记录Post请求参数
  18. CAN学习网站
  19. git批量删除文件和批量提交
  20. nginx反向代理如何获取真实IP?

热门文章

  1. 关于不重启Tomcat自动加载改变的class文件
  2. TCP下的套接字服务端实现并发 作业题
  3. 在神经网络中weight decay
  4. 51 Nod 1242 矩阵快速幂求斐波那契数列
  5. Spring Boot教程(二十六)使用Spring Security安全控制
  6. 在Idea下配置Maven
  7. C++入门经典-例6.17-输出每行数组中的最小值
  8. 顺序表栈C语言实现
  9. https的那些坑
  10. leetcode-easy-dynamic-198 House Robber-NO