前面说过Kafka集群环境的部署,现在主要说一下在本地测试中Kafka单机环境的部署,和前面一样首先保证zookeeper服务的正常运行,然后解压并释放kafka安装包,并放到指定位置:

tar -xvzf kafka_2.9.2-0.8.2.2.tar.gz
mkdir /usr/kafka
mv kafka_2.9.2-0.8.2.2 /usr/kafka/
cd /usr/kafka/kafka_2.9.2-0.8.2.2

  现在开始编辑配置文件server.properties,执行命令: vim config/server.properties 打开配置文件

  首先去掉#host.name=localhost前面的注释,这个开发过程中可以填写集群主机名或者IP地址,有很多错误就是因为这里被注释导致的,建议单机环境一定去掉注释根据情况配置;集群中一般根据zookeeper.connect识别,所以此项可以配置也可以忽略

  

  然后之前集群部署中曾经修改过borker.id,port这里不用动,都是默认即可,修改一下log.dirs放到/usr/kafka/logs目录中,这个可以自己指定

  

  logs目录我们后来需要手动创建,然后log.cleaner.enable要改为true,表示自动清理日志

  

  然后修改zookeeper.connect为localhost:2181/kafka,默认是localhost:2181,这样会在zookeeper上直接创建kafka对应文件,这里加上/kafka和之前一样,表示在zookeeper上创建kafka节点,把kafka相关文件都放在localhost:2181/kafka节点下

  

  到现在,基本的配置就完成了,现在保存并退出配置文件

  然后创建logs日志目录: mkdir /usr/kafka/logs ,创建目录之后,开始启动kafka服务:

nohup bin/kafka-server-start.sh config/server.properties >> /dev/null &

  上面代码hohup代表把任务放到后台作为服务运行,有些脚本不像之前的二进制程序一样可以一直跑在服务器上,虽然后面加上&表示在后台运行,但是一段时间后可能会退出,nohup可以让程序一直跑在后台,输入以上命令后命令行会卡住,然后需要再次输入一次回车回到命令行,另外我们退出shell时必须使用logout退出,切不可直接关闭窗口,否则程序也可能异常退出

  然后创建一个消息队列:

bin/kafka-topics.sh --create --replication-factor 1 --partitions 1 --topic test --zookeeper localhost:2181/kafka

  创建队列的时候,replication-factor只能是1个,因为是单节点,而partitions分区可以是1个或者2个都可以,测试环境建议是1个即可

  然后,创建一个消费者:

bin/kafka-console-consumer.sh --zookeeper localhost:2181/kafka --topic test

  此时,命令行会进入运行状态,界面就卡住不动了,然后再新建一个窗口,进入kafka目录,继续创建一个生产者:

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

  同样这个时候命令行进入运行状态,我们输入一个字符串:Hello Kafka!

  

  此时打开刚才创建消费者的窗口,会看到刚才的输入消息被消费了

  

  到现在,Kafka单机消息队列基本的配置和运行都是正常的,单机环境配置基本上就是这些

最新文章

  1. 路由的Resolve机制(需要了解promise)
  2. 【BZOJ-1146】网络管理Network DFS序 + 带修主席树
  3. jQuery $(document).ready()和JavaScript onload事件
  4. 开源项目 Modbus C#实现
  5. [转] Qt 多线程学习
  6. Spark RDD操作(1)
  7. ARM-Linux配置DHCP自动获取IP地址
  8. JavaScript--execCommand指令集
  9. 3856: Monster
  10. 201521123008《Java程序设计》第10周学习总结
  11. 【java】打印一个对象即打印出该对象toString()返回值
  12. TypeScript笔记 6--接口
  13. 3.远程连接工具、JDK安装
  14. eclipse 工作区空格和回车键显示为乱码
  15. 关于实现udev/mdev自动挂载与卸载
  16. CentOS中service命令与/etc/init.d的关系以及centos7的变化
  17. Monitoring and Managing Tomcat
  18. zabbix 3.4监控mysql,提示mysql: [Warning] Using a password on the command line interface can be insecure.
  19. LintCode: Flatten Binary Tree to Linked List
  20. 【Linux】shell编程案例

热门文章

  1. leetcode——169 Majority Element(数组中出现次数过半的元素)
  2. .NET轻量级ORM组件Dapper修炼手册
  3. [Winform]通过钩子监控键盘操作和鼠标移动
  4. ASP.NET Web API 中的返回数据格式以及依赖注入
  5. ASP.NET MVC与Sql Server交互,把字典数据插入数据库
  6. 委托、Lambda表达式、事件系列02,什么时候该用委托
  7. ios 向sqlite数据库插入和读取图片数据
  8. JAVA使用Marvin在图片中搜索图片
  9. windows下apk查看工具的原理
  10. windows下node.js调用bat