Kafka使用及开发概要

Kafka是linkedin用于日志处理的分布式消息队列,linkedin的日志数据容量大,但对可靠性要求不高,其日志数据主要包括用户行为(登录、浏览、点击、分享、喜欢)以及系统运行日志(CPU、内存、磁盘、网络、系统及进程状态)。

当前很多的消息队列服务提供可靠交付保证,并默认是即时消费(不适合离线)。高可靠交付对linkedin的日志不是必须的,故可通过降低可靠性来提高性能,同时通过构建分布式的集群,允许消息在系统中累积,使得kafka同时支持离线和在线日志处理。


直接上干货吧:

1.命令
=========zookepper==========
(kafka自带) 单点启动zookeeper
zookeeper-server-start.sh $KAFKA_HOME/config/zookeeper.properties

zookeeper集群启动
zkServer.sh start   /home/hadoop/hadoop_workspace/zookeeper-3.4.6/conf/zoo.cfg

zkServer.sh start 
查看状态
zkServer.sh status

停止
zkServer.sh stop
zookeeper的命令行
zkCli.sh 
zookeeper集群需要在 /opt/hadoop/zookeeper/data中加入myid  对应机器1,2,3...

查看对应端口是否被占用:netstat -apn | grep 2181


===========kafka============
启动kafka
kafka-server-start.sh $KAFKA_HOME/config/server.properties
若启动失败,先进一下Zookeeper控制台  zkCli.sh

创建topic
kafka-topics.sh --create --zookeeper  192.168.0.121 :2181  --replication-factor 1 --partitions 20 --topic topicname
kafka-topics.sh --create --zookeeper  192.168.0.121 :2181 --replication-factor 1 --partitions 1 --topic topicname
kafka-topics.sh --create --zookeeper 192.168.0.121:2181 --replication-factor 2 --partitions 2 --topic topicname
启动producer
kafka-console-producer.sh --broker-list 192.168.0.121:9092 --topic topicname
启动comsumer
kafka-console-consumer.sh --zookeeper  192.168.0.121:2181 --topic topicname --from-beginning
删除topic
kafka-run-class.sh kafka.admin.DeleteTopicCommand --topic  topicname --zookeeper 127.0.0.1 
删除kafka存储目录(server.properties文件log.dirs配置,默认为"/tmp/kafka-logs")相关topic目录删除zookeeper "/brokers/topics/"目录下相关topic节点

查看topic列表
kafka-topics.sh --list --zookeeper  192.168.0.121:2181

kafka-console-consumer.sh --zookeeper 192.168.6.103:2181 --topic page_visits --from-beginning

若是集群,修改kafka 配置server.properties
zookeeper.connect=192.168.2.4:2181,192.168.2.5:2181,192.168.6.102:2181,192.168.6.103:2181
还需要修改hostname=ip地址,前提是将主机名设置为ip地址
目录:
/opt/hadoop/zookeeper/data中加入myid 一个识别号

2.kafka 分区
为了更好的实现负载均衡和消息的顺序性,kafka的producer在分发消息时可以通过分发策略发送给指定的partition。实现分发的程序是需要制定消息的key值,而kafka通过key进行策略分发。

3.基础开发
hadoop-consumer
Producer的编写
<a href="https://cwiki.apache.org/confluence/display/KAFKA/0.8.0+Producer+Example/>

PS.
建立集群是注意关闭防火墙
kafka消费者读取消息,每次迭代179条

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值