Kafka介绍及搭建
来源:互联网 发布:国内erp软件 编辑:程序博客网 时间:2024/06/05 20:11
1 使用背景
- Kafka的定义:是一个分布式消息系统,由LinkedIn使用Scala编写,用做LinkedIn的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础,具有高水平扩展和高吞吐量。
- 多种开源消息系统分布式系统比较
- RabbitMQ严格按照AMQP协议,所以性能不及ActiveMQ和kafka
- 动态扩容方面阿里巴巴的meaq,rocketmq都有kafka的影子
- Kafka的动态扩容目前是通过zookeeper来完成的。
2 kafka相关概念
- AMQP协议
- Kafka支持的客户端语言
Kafka架构
为了保证分布式可靠性,kafka0.8开始对每个分区的数据进行备份(不同Broker上),防止其中一个Broker宕机造成分区数据不可用
zookeeper提供分布式状态管理、分布式配置管理、分布式锁服务等的集群。
3 Zookeeper集群的搭建
##软件环境:
- linux服务器一台、三台、五台(2*n+1台)
必须半数半数以上服务器存活才能继续工作,所以没必要偶数台 - Java jdk1.7;
- zookeper 3.4.6版//比较稳定的版本,做了大量修复和测试
配置zookeeper
a,配置快照和Log存储路径
dataDir=/home/admin/opt/zookeeper-3.4.6/datatmp/zookeeper/datadataLogDir=/home/admin/opt/zookeeper-3.4.6/datatmp/zookeeper/logs
b,client配置端口
# the port at which the clients will connectclientPort=2181
c,配置本机ip,slave与master连接端口,server选举端口
server.1=S2:2888:3888server.2=S3:2888:3888server.3=S4:2888:3888server.4=S5:2888:3888
d,依次在不同的节点,在快照路径下创建myid
[admin@VSMARTBLD02 data]$ echo "1" > myid
- zkServer.sh start/status/stop
- zkserver事务日志的清理
需定期清除旧的快照文件,做成定时任务,让linux每天执行
[admin@VSMARTBLD02 bin]$ crontab -lYou (admin) are not allowed to use this program (crontab)See crontab(1) for more information
- zkcli.sh 查看整个server的运行状态。
4 kafka集群搭建
集群搭建
配置参数介绍
broker.id=0port=19092//提供服务的端口host.name=10.67.89.240num.io.threads=8//操作磁盘io的线程数,一般与log.dirs相符socket.request.max.bytes=104857600//最大请求数,不能超过java的线程数log.dirs=log.dirs=/tmp/kafka-logs//消息持久化路径,以,分隔多个路径log.retention.hours=168//发送到kafka的数据写到磁盘的失效期message.max.byte=5000000//每条消息发送的最大容量default.replication.factor=2//备份副本replica.fetch.max.bytes=5000000//log.segment.bytes=1073741824//超过这个文件大小将另外起一个新文件log.retention.check.interval.ms=300000//失效消息的检查时间间隔log.cleaner.enable=false//log压缩zookeeper.connect=S2:2181,S3:2181,S4:2181,S5:2181
- 启动
opt/kafka_2.11-0.8.2.2/bin/kafka-server-start.sh -daemon opt/kafka_2.11-0.8.2.2/config/server.properties
- test
a,创建topic
bin/kafka-topics.sh --create --zookeeper S2:2181 --replication-factor 1 --partitions 1 --topic test
b,在不同的机器上创建producer 和consumer,互发信息能看到
bin/kafka-console-producer.sh --broker-list S2:19092 --topic testhello
bin/kafka-console-consumer.sh --zookeeper S3:2181 --topic test --from-beginninghello
c,查看topic
bin/kafka-topics.sh --list --zookeeper S2:2181
0 0
- Kafka介绍及搭建
- Kafka介绍及环境搭建
- kafka入门介绍及环境搭建
- 【Kafka】kafka环境搭建及使用
- 【Kafka】kafka环境搭建及使用
- Kafka剖析:Kafka背景及架构介绍
- Kafka剖析:Kafka背景及架构介绍
- Kafka剖析:Kafka背景及架构介绍
- Kafka剖析:Kafka背景及架构介绍
- Kafka基本概念及环境搭建
- kafka环境搭建及demo
- Kafka背景及架构介绍
- Kafka背景及架构介绍
- Kafka背景及架构介绍
- kafka背景及框架介绍
- Kafka背景及架构介绍
- Kafka背景及架构介绍
- kafka介绍及安装测试
- IT-山粉
- Getting Started with Django Logging in 5 Minutes
- uitextfeild加密
- 【杭电oj】2018-母牛的故事(递归)
- Java Web学习总结(19)——web.xml配置详解
- Kafka介绍及搭建
- 详细解析oracle中left join,right join,inner join用法
- JS获取select属性值
- #pragma 预处理指令详解
- unset
- 【adb】如何在Android模拟器下添加busybox?
- 2330: [SCOI2011]糖果
- Touch事件分发机制
- ARP 协议