kafka是一个开源的分布式消息队列
他提供可靠的集群容错机制,并保证故障切换时的数据完整性。
无论从性能、可靠性、易用性都强过ActiveMQ(client的API感觉还是不如ActiveMQ好用,文档也没有更新到最新版)
 
下面简单记录一下安装步骤和常用命令。
 
1、安装
下载压缩包并解压
可以解压到 /usr/local/kafka
 
2、配置
vim conf/server.properties
#设置brokerid(从0开始,3个节点分别设为0,1,2,不能重复)
broker.id=0
#设置data目录,最好不要用默认的/tmp/kafka-logs
log.dirs=/usr/local/kafka/kafka-logs
#设置注册地址(重要,默认会把本机的hostanme注册到zk中,客户端连接时需要解析该hostanme,所以这里直接注册本机的IP地址,避免hostname解析失败,报错java.nio.channels.UnresolvedAddressException或java.io.IOException: Can not resolve address)
advertised.host.name=192.168.xxx
#设置zookeeper地址
zookeeper.connect=zk1.yazuoyw.com:2181,zk2.yazuoyw.com:2181,zk3.yazuoyw.com:2181
 
3、启动关闭
#启动
/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties
 
#添加开机启动
echo '
# start kafka
/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties
' >> /etc/rc.local
 
#关闭
/usr/local/kafka/bin/kafka-server-stop.sh
 
4、常用命令
#查看tocpic列表(--zookeeper指定任意一个zk节点即可,用于获取集群信息)
/usr/local/kafka/bin/kafka-topics.sh --zookeeper zk1.yazuoyw.com:2181 --describe
 
#创建topic(--replication-factor表示复制到多少个节点,--partitions表示分区数,一般都设置为2或与节点数相等,不能大于总节点数)
/usr/local/kafka/bin/kafka-topics.sh --zookeeper zk1.yazuoyw.com:2181 --create --topic topic1 --replication-factor 2 --partitions 2
 
#发送消息(--topic 指定topic)
/usr/local/kafka/bin/kafka-console-producer.sh --broker-list kafka1.yazuoyw.com:9092,kafka2.yazuoyw.com:9092,kafka3.yazuoyw.com:9092 --topic topic1
message1
message2
 
#消费消息
/usr/local/kafka/bin/kafka-console-consumer.sh --zookeeper zk1.yazuoyw.com:2181 --topic topic1
 
#replica检查
/usr/local/kafka/bin/kafka-replica-verification.sh --broker-list kafka1.yazuoyw.com:9092,kafka2.yazuoyw.com:9092,kafka3.yazuoyw.com:9092

kafka安装及常用命令的更多相关文章

  1. ios开发环境配置及cordova安装与常用命令

    一.ios开发环境配置 1.首先要有台Mac Book,如果有Mac Book,跳过步骤2.3.4,如果没有,执行步骤2.3.4: 2.下载并安装VMware Workstation,最好是下最新版本 ...

  2. Git安装以及常用命令(图文详解)

    **Git安装以及常用命令** 1.下载安装Git,傻瓜式安装相信大家都会. 官网下载地址:[https://git-scm.com/downloads] 2.Git基本操作 (1)git --ver ...

  3. linux基础学习之软件安装以及常用命令

    linux基础学习之软件安装以及常用命令 调用中央仓库: yum install wget 然后下载nodejs: wget https://nodejs.org/dist/v10.14.2/node ...

  4. Git安装和常用命令

    Git是目前世界上最先进的分布式版本控制系统!!! Git能自动帮我们记录每次文件的改动,还可以让同事协作编辑. 接下来,简单的介绍下Git的安装和常用命令: Git安装: 1.Windows系统,进 ...

  5. RabbitMQ入门教程(一):安装和常用命令

    原文:RabbitMQ入门教程(一):安装和常用命令 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn ...

  6. 记录redis安装及常用命令

    Redis安装及常用命令 一.安装 1.下载,解压,进入redis解压目录,make. make PREFIX=目录/redis install :安装到指定目录文件名为redis. 2.将解压目录里 ...

  7. 实验 1 Linux 系统的安装和常用命令

    实验 1 Linux 系统的安装和常用命令 (题目) 一.实验目的 (1)掌握 Linux 虚拟机的安装方法.Spark 和 Hadoop 等大数据软件在 Linux 操作系统 上运行可以发挥最佳性能 ...

  8. Redis笔记,安装和常用命令

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/96.html?1455870708 一.redis简单介绍 redis是N ...

  9. Redis总结笔记(一):安装和常用命令

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/112.html?1455860824 一.redis简单介绍 redis是 ...

随机推荐

  1. 23、获取app所占据的内存

    public static void getRunningAppProcessInfo(ActivityManager mActivityManager) { //ActivityManager mA ...

  2. 【Longest Common Prefix】cpp

    题目: Write a function to find the longest common prefix string amongst an array of strings. 代码: class ...

  3. Leetcode#146 LRU Cache

    原题地址 以前Leetcode的测试数据比较弱,单纯用链表做也能过,现在就不行了,大数据会超时.通常大家都是用map+双向链表做的. 我曾经尝试用C++的list容器来写,后来发现map没法保存lis ...

  4. SQL Server 锁表说明

    锁定数据库的一个表 SELECT * FROM table WITH (HOLDLOCK) 注意: 锁定数据库的一个表的区别 SELECT * FROM table WITH (HOLDLOCK) 其 ...

  5. 7 天玩转 ASP.NET MVC — 第 5 天

    目录 第 1 天 第 2 天 第 3 天 第 4 天 第 5 天 第 6 天 第 7 天 0. 前言 欢迎来到第五天的学习.希望第一天到第四天的学习,你都是开心的. 1. Lab 22 - 增加 Fo ...

  6. 图解JavaScript执行环境结构

    JavaScript引擎在开始编译代码的时候,会对JavaScript代码进行一次预编译,生成一个执行环境,比如如下代码: window.onload=function(){ function sub ...

  7. JSP 页面打印

    <HTML><HEAD><TITLE>javascript打印-打印页面设置-打印预览代码</TITLE> <META http-equiv=Co ...

  8. 字典树trie的学习与练习题

    博客详解: http://www.cnblogs.com/huangxincheng/archive/2012/11/25/2788268.html http://eriol.iteye.com/bl ...

  9. C#中反射泛型 CreateInstance

    假设1我有个类叫SortClass,类中有个BubbleSort(int[] array)用于给数组进行排序. 假设2我有个类叫SortT<T>,类中有个BubbleSort(T[] ar ...

  10. isMobile 一个简单的JS库,用来检测移动设备

    点这里 github地址:https://github.com/kaimallea/isMobile Example Usage I include the minified version of t ...