您的位置:首页 > 其它

kafka-2.8-0.8.0安装

2017-01-01 12:02 120 查看
kafka是linkedin用于日志处理的分布式消息队列, 同时支持离线和在线日志处理。 kafka对消息保存时根据Topic进行归类, 发送消息者成为 Producer,消息接受者成为 Consumer,此外 kafka 集群有多个kafka实例组成, 每个实例(server)称为broker。 无论是kafka集群, 还是producer和consumer都依赖于zookeeper来保证系统可用性,为集群保存一些meta信息。



一个 Topic 可以认为是一类消息,每个 topic 将被分成多个partition(区),每个 partition 在存储层面是 append log 文件。任何发布到此 partition 的消息都会被直接追加到log 文件的尾部, 每条消息在文件中的位置称为 offset(偏移量), offset 为一个 long型数字, 它是唯一标记一条消息。 kafka 并没有提供其他额外的索引机制来存储 offset,因为在 kafka 中几乎不允许对消息进行“ 随机读写” 。

在kafka 中, 即使消息被消费,消息仍然不会被立即删除。 日志文件将会根据 broker 中的配置要求,保留一定的时间之后删除;比如log 文件保留 2 天,那么两天后,文件会被清除,无论其中的消息是否被消费。 kafka 通过这种简单的手段,来释放磁盘空间,以及减少消息消费之后对文件内容改动的磁盘IO 开支。

安装过程参考博文:http://www.tuicool.com/articles/uQzYfq

安装 2.8.0-0.8.0

1.下载kafka_2.8.0-0.8.0.tar.gz

https://archive.apache.org/dist/kafka/0.8.0/kafka_2.8.0-0.8.0.tar.gz

2.解压缩

tar -vxf kafka_2.8.0-0.8.0.tar.gz

3.修改配置文件

修改conf/server.properties

host.name=10.10.224.12 (修改为主机ip,不然服务器返回给客户端的是主机的hostname,客户端并不一定能够识别)

修改conf/zookeeper.properties 属性文件

dataDir=/usr/local/tmp/zookeeper (zookeeper临时数据文件)

4.启动zookeeper和kafka

cd bin

启动zookeeper

./zookeeper-server-start.sh ../config/zookeeper.properties & (&推出命令行,服务守护执行)

启动kafka

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

5.验证是否成功

*创建主题

./kafka-create-topic.sh –partition 1 –replica 1 –zookeeper localhost:2181 –topic test

检查是否创建主题成功

./kafka-list-topic.sh –zookeeper localhost:2181

*启动produce

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

*启动consumer

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

6.关闭kafka和zookeeper

./kafka-server-stop.sh ../config/server.properties

./zookeeper-server-stop.sh

心得总结:

1.produce启动的时候参数使用的是kafka的端口而consumer启动的时候使用的是zookeeper的端口;

2.必须先创建topic才能使用;

3.topic本质是以文件的形式储存在zookeeper上的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: