kafka安装及使用命令

Kafka主要特点:
  1. 同时为发布和订阅提供高吞吐量。据了解,Kafka每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB)。
  2. 可进行持久化操作。将消息持久化到磁盘,因此可用于批量消费,例如ETL,以及实时应用程序。通过将数据持久化到硬盘以及replication防止数据丢失。
  3. 分布式系统,易于向外扩展。所有的producer、broker和consumer都会有多个,均为分布式的。无需停机即可扩展机器。
  4. 消息被处理的状态是在consumer端维护,而不是由server端维护。当失败时能自动平衡。
  5. 支持online和offline的场景。
几个基本的消息系统术语:
  • Kafka将消息以topic为单位进行归纳。
  • 将向Kafka topic发布消息的程序成为producers.
  • 将预订topics并消费消息的程序成为consumer.
  • Kafka以集群的方式运行,可以由一个或多个服务组成,每个服务叫做一个broker.
producers通过网络将消息发送到Kafka集群,集群向消费者提供消息,如下图所示:
kafka安装及使用命令

创建路径:
mkdir /kafka
## 登陆到zk任一节点执行
su -l admin
/opt/dtstack/zookeeper/bin/zkCli.sh

create /kafka ''

解压安装包:
tar -zxvf kafka_2.11-0.9.0.1.tgz
mv kafka_2.11-0.9.0.1 /opt/dtstack/
ln -s /opt/dtstack/kafka_2.11-0.9.0.1 /opt/dtstack/kafka
chown -R admin.admin /opt/dtstack/kafka_2.11-0.9.0.1/
创建数据目录:
mkdir -p /data/kafka/logs
chown -R admin.admin /data/kafka/

修改kafka-server的配置文件:
vim /opt/dtstack/kafka/config/server.properties

broker.id=1
listeners=PLAINTEXT://:9092
advertised.host.name=1.2.3.4
log.dirs=/data/kafka/logs
num.partitions=2
auto.create.topics.enable=true
log.retention.hours=168
zookeeper.connect=1.2.3.4:2181/kafka

开启服务:
bin/zookeeper-server-start.sh config/zookeeper.properties &
/bin/kafka-server-start.sh &

创建一个名为dt_all_log的topic:(有三个partitions)
bin/kafka-topics.sh --create --zookeeper 1.2.3.4:2181/kafka --replication-factor 2 --partitions 3 --topic dt_all_log

查看所有topic分区情况:
bin/kafka-topics.sh --zookeeper 1.2.3.4:2181/kafka

查看指定topic的分区情况:
bin/kafka-topics.sh --zookeeper 1.2.3.4:2181/kafka --describe --topic dt_all_log


为Topic增加 partition数

bin/kafka-add-partitions.sh --topic dt_all_log --partition 2  --zookeeper  1.2.3.4:2181 (为topic dt_all_log增加2个分区)

删除topic(慎用):

只会删除zookeeper中的元数据,消息文件须手动删除

bin/kafka-run-class.sh kafka.admin.DeleteTopicCommand --topic test666 --zookeeper 1.2.3.4:2181 



上一篇:IOS地图定位坐标偏差解决方案(实战通过)


下一篇:Android与服务器端数据交互(http协议整合struts2+android)