① linux 怎样查看kafka的某 topic数据
1、创建一个需要增加备份因子的topic列表的文件,文件格式是json格式的。
注意事项:
Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。
② linux查看哪个程序占用内存
1、top
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器
可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:
$ top -u oracle
内容解释:
PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称
常用的命令:
P:按%CPU使用率排行
T:按MITE+排行
M:按%MEM排行
2、pmap
可以根据进程查看进程相关信息占用的内存情况,(进程号可以通过ps查看)如下所示:
$ pmap -d 14596
3、ps
如下例所示:
$ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' 其中rsz是是实际内存
$ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep oracle | sort -nrk5
其中rsz为实际内存,上例实现按内存排序,由大到小
③ Kafka总学不明白:
kafka的常用命令
新建一个topic
./bin/kafka-topics.sh --create --zookeeper hadoop04:2181,hadoop05:2181,hadoop06:2181 --partition 3 --replication-factor 3 --topic test-0
test-0是topic的名字
replication-factor 3 副本数
topic存储的是元数据,通过它找到真实的数据
改变分区
./bin/kafka-topics.sh --alter --zookeeper 192.168.14.131:2181,192.168.14.131:2182,192.168.14.131:2183 --partition 5 --topic test03
分区信息查询
./bin/kafka-topics.sh --describe --zookeeper hadoop04:2181,hadoop05:2181,hadoop06:2181 --topic test-0
结果为:leader主分区(broker Id) replicationfactor副本数 Isr是否存活(存储的顺序)
Topic:test-0 PartitionCount:3 ReplicationFactor:3 Configs:
Topic: test-0 Partition: 0 Leader: 0 Replicas: 0,2,1 Isr: 0,2,1
Topic: test-0 Partition: 1 Leader: 1 Replicas: 1,0,2 Isr: 1,0,2
Topic: test-0 Partition: 2 Leader: 2 Replicas: 2,1,0 Isr: 2,1,0
查询语句:
bin/kafka-topics.sh --list --zookeeper hadoop04:2181,hadoop05:2181,hadoop06:2181
删除语句
bin/kafka-topics.sh --delete --zookeeper hadoop04:2181,hadoop05:2181,hadoop06:2181 --topic test-0
结果是test-0 - marked for deletion
表示不能真正的删除只是做了个标记要删除取zookeeper去真正删除(这个配置如果设置为true可以真正删除,设置false不能删除)
#删除topic需要server.properties中设置delete.topic.enable=true否则只是标记删除
delete.topic.enable=false
rmr /brokers/topics/test-0 ,删除client中的brokers中topic对应的
rmr /config/topics/test-0 ,删配置
rmr /admin/delete_topics,删除admin中的标记为删除的topics
分区设置后只可以增加不可以减少
六API操作
启动生产者
./bin/kafka-console-procer.sh --broker-list 192.168.14.131:9092,192.168.14.132:9092,192.168.14.133:9092 --topic test03
启动消费者
./bin/kafka-console-consumer.sh --zookeeper 192.168.247.131:2181,192.168.247.132:2181,192.168.247.133:2181 --topic test03 --from-beginning
④ 如何使用命令查看kaf
##查看topic分布情况 kafka-list-topic.sh
binfka-list-topic.sh --zookeeper 192.168.197.170:2181,192.168.197.171:2181 (列出所有topic的分区情况)
binfka-list-topic.sh --zookeeper 192.168.197.170:2181,192.168.197.171:2181 --topic test (查看test的分区情况)
其实kafka-list-topic.sh里面就一句
exec $(dirname $0)fka-run-class.sh kafka.admin.ListTopicCommand $@
实际是通过
kafka-run-class.sh脚本执行的包kafka.admin下面的类
##创建TOPIC kafka -create-topic.sh ,
bin/ kafka -create-topic.sh --replica 2 --partition 8 --topic test --zookeeper 192.168.197.170:2181,192.168.197.171:2181
创建名为test的topic, 8个分区分别存放数据,数据备份总共2份
bin/ kafka -create-topic.sh --replica 1 --partition 1 --topic test2 --zookeeper 192.168.197.170:2181,192.168.197.171:2181
结果 topic: test2 partition: 0 leader: 170 replicas: 170 isr: 170
##重新分配分区 kafka-reassign-partitions.sh
这个命令可以分区指定到想要的--broker-list上
binfka-reassign-partitions.sh --topics-to-move-json-file topics-to-move.json --broker-list "171" --zookeeper 192.168.197.170:2181,192.168.197.171:2181 --execute
cat topic-to-move.json
{"topics":
[{"topic": "test2"}],
"version":1
}
##为Topic增加 partition数目
binfka-add-partitions.sh --topic test --partition 2 --zookeeper 192.168.197.170:2181,192.168.197.171:2181 (为topic test增加2个分区)
##控制台接收消息
bin/ kafka -console-consumer.sh --zookeeper 192.168.197.170:2181,192.168.197.171:2181 --from-beginning --topic test
##控制台发送消息
binfka-console-procer.sh --broker-list 192.168.197.170:9092,192.168.197.171: 9092 --topic test
##删除topic,慎用,只会删除zookeeper中的元数据,消息文件须手动删除
binfka-run-class.sh kafka.admin.DeleteTopicCommand --topic test666 --zookeeper 192.168.197.170:2181 ,192.168.197.171:2181
##查看topic分布情况 kafka-list-topic.sh
binfka-list-topic.sh --zookeeper 192.168.197.170:2181,192.168.197.171:2181 (列出所有topic的分区情况)
binfka-list-topic.sh --zookeeper 192.168.197.170:2181,192.168.197.171:2181 --topic test (查看test的分区情况)
其实kafka-list-topic.sh里面就一句
exec $(dirname $0)fka-run-class.sh kafka.admin.ListTopicCommand $@
实际是通过
kafka-run-class.sh脚本执行的包kafka.admin下面的类
##创建TOPIC kafka -create-topic.sh ,
bin/ kafka -create-topic.sh --replica 3 --partition 8 --topic test --zookeeper 192.168.197.170:2181,192.168.197.171:2181
创建名为test的topic, 8个分区分别存放数据,数据备份总共3份
bin/ kafka -create-topic.sh --replica 1 --partition 1 --topic test2 --zookeeper 192.168.197.170:2181,192.168.197.171:2181
结果 topic: test2 partition: 0 leader: 170 replicas: 170 isr: 170
##重新分配分区 kafka-reassign-partitions.sh
这个命令可以分区指定到想要的--broker-list上
binfka-reassign-partitions.sh --topics-to-move-json-file topics-to-move.json --broker-list "171" --zookeeper 192.168.197.170:2181,192.168.197.171:2181 --execute
cat topic-to-move.json
{"topics":
[{"topic": "test2"}],
"version":1
}
##为Topic增加 partition数 目 kafka-add-partitions.sh
binfka-add-partitions.sh --topic test --partition 2 --zookeeper 192.168.197.170:2181,192.168.197.171:2181 (为topic test增加2个分区)
##控制台接收消息
bin/ kafka -console-consumer.sh --zookeeper 192.168.197.170:2181,192.168.197.171:2181 --from-beginning --topic test
##控制台发送消息
binfka-console-procer.sh --broker-list 192.168.197.170:9092,192.168.197.171: 9092 --topic test
##删除topic,慎用,只会删除zookeeper中的元数据,消息文件须手动删除
⑤ 如何查看kafka命令 找不到
基于0.8.0版本。
##查看topic分布情况kafka-list-topic.sh
bin/kafka-list-topic.sh --zookeeper 192.168.197.170:2181,192.168.197.171:2181 (列出所有topic的分区情况)
bin/kafka-list-topic.sh --zookeeper 192.168.197.170:2181,192.168.197.171:2181 --topic test (查看test的分区情况)
其实kafka-list-topic.sh里面就一句
exec $(dirname $0)/kafka-run-class.sh kafka.admin.ListTopicCommand $@
实际是通过
kafka-run-class.sh脚本执行的包kafka.admin下面的类
##创建TOPIC kafka-create-topic.sh
bin/kafka-create-topic.sh --replica 2 --partition 8 --topic test --zookeeper 192.168.197.170:2181,192.168.197.171:2181
创建名为test的topic, 8个分区分别存放数据,数据备份总共2份
bin/kafka-create-topic.sh --replica 1 --partition 1 --topic test2 --zookeeper 192.168.197.170:2181,192.168.197.171:2181
结果 topic: test2 partition: 0 leader: 170 replicas: 170 isr: 170
##重新分配分区kafka-reassign-partitions.sh
这个命令可以分区指定到想要的--broker-list上
bin/kafka-reassign-partitions.sh --topics-to-move-json-file topics-to-move.json --broker-list "171" --zookeeper 192.168.197.170:2181,192.168.197.171:2181 --execute
cat topic-to-move.json
{"topics":
[{"topic": "test2"}],
"version":1
}
##为Topic增加 partition数目kafka-add-partitions.sh
bin/kafka-add-partitions.sh --topic test --partition 2 --zookeeper 192.168.197.170:2181,192.168.197.171:2181 (为topic test增加2个分区)
##控制台接收消息
bin/kafka-console-consumer.sh --zookeeper 192.168.197.170:2181,192.168.197.171:2181 --from-beginning --topic test
##控制台发送消息
bin/kafka-console-procer.sh --broker-list 192.168.197.170:9092,192.168.197.171: 9092 --topic test
##手动均衡topic, kafka-preferred-replica-election.sh
bin/kafka-preferred-replica-election.sh --zookeeper 192.168.197.170:2181,192.168.197.171:2181 --path-to-json-file preferred-click.json
cat preferred-click.json
{
"partitions":
[
{"topic": "click", "partition": 0},
{"topic": "click", "partition": 1},
{"topic": "click", "partition": 2},
{"topic": "click", "partition": 3},
{"topic": "click", "partition": 4},
{"topic": "click", "partition": 5},
{"topic": "click", "partition": 6},
{"topic": "click", "partition": 7},
{"topic": "play", "partition": 0},
{"topic": "play", "partition": 1},
{"topic": "play", "partition": 2},
{"topic": "play", "partition": 3},
{"topic": "play", "partition": 4},
{"topic": "play", "partition": 5},
{"topic": "play", "partition": 6},
{"topic": "play", "partition": 7}
]
}
##删除topic,慎用,只会删除zookeeper中的元数据,消息文件须手动删除
bin/kafka-run-class.sh kafka.admin.DeleteTopicCommand --topic test666 --zookeeper 192.168.197.170:2181 ,192.168.197.171:2181
⑥ kafka 怎样查看kafka状态
输入以下代码即可查看kafka状态:
BROKER_HOST是kafka server的ip地址,PORTt是server的监听端口。多个host port之间用逗号隔开。
第一条命令是获取group列表,一般而言,应用是知道消费者group的,通常在应用的配置里,如果已知,该步骤可以省略。
第二条命令是查看具体的消费者group的详情信息,需要给出group的名称。
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。
对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。
⑦ kafka如何查看日志量
我们在使用kafka的过程中有时候可以需要查看我们生产的消息的各种信息,这些都是被记录在卡夫卡的log文件中的。由于log文件的特殊格式,我们是无法直接查看log文件中的信息的。本文提供一下方式查看kafka的log文件中所记录的信息。
执行命令
bin/kafka-run-class.sh kafka.tools.DumpLogSegments
我们可以看到都需要哪些参数,根据不同的需求我们可以选择不同的参数。
执行如下命令查看某个log文件
bin/kafka-run-class.sh kafka.tools.DumpLogSegments --files /tmp/kafka-logs/test3-0/00000000000000000000.log --print-data-log
这里 --print-data-log 是表示查看消息内容的,不加此项是查看不到详细的消息内容。如果要查看多个log文件可以用逗号分隔。
⑧ linux 怎样查看kafka的某topic数据
基于0.8.0版本。
##查看topic分布情况kafka-list-topic.sh
bin/kafka-list-topic.sh
--zookeeper
192.168.197.170:2181,192.168.197.171:2181
(列出所有topic的分区情况)
bin/kafka-list-topic.sh
--zookeeper
192.168.197.170:2181,192.168.197.171:2181
--topic
test
(查看test的分区情况)
其实kafka-list-topic.sh里面就一句
exec
$(dirname
$0)/kafka-run-class.sh
kafka.admin.listtopiccommand
$@
实际是通过
kafka-run-class.sh脚本执行的包kafka.admin下面的类
##创建topic
kafka-create-topic.sh
bin/kafka-create-topic.sh
--replica
2
--partition
8
--topic
test
--zookeeper
192.168.197.170:2181,192.168.197.171:2181
创建名为test的topic,
8个分区分别存放数据,数据备份总共2份
bin/kafka-create-topic.sh
--replica
1
--partition
1
--topic
test2
--zookeeper
192.168.197.170:2181,192.168.197.171:2181
结果
topic:
test2
partition:
0
leader:
170
replicas:
170
isr:
170
##重新分配分区kafka-reassign-partitions.sh
这个命令可以分区指定到想要的--broker-list上
bin/kafka-reassign-partitions.sh
--topics-to-move-json-file
topics-to-move.json
--broker-list
"171"
--zookeeper
192.168.197.170:2181,192.168.197.171:2181
--execute
cat
topic-to-move.json
{"topics":
[{"topic":
"test2"}],
"version":1
}
##为topic增加
partition数目kafka-add-partitions.sh
bin/kafka-add-partitions.sh
--topic
test
--partition
2
--zookeeper
192.168.197.170:2181,192.168.197.171:2181
(为topic
test增加2个分区)
##控制台接收消息
bin/kafka-console-consumer.sh
--zookeeper
192.168.197.170:2181,192.168.197.171:2181
--from-beginning
--topic
test
##控制台发送消息
bin/kafka-console-procer.sh
--broker-list
192.168.197.170:9092,192.168.197.171:
9092
--topic
test
##手动均衡topic,
kafka-preferred-replica-election.sh
bin/kafka-preferred-replica-election.sh
--zookeeper
192.168.197.170:2181,192.168.197.171:2181
--path-to-json-file
preferred-click.json
cat
preferred-click.json
{
"partitions":
[
{"topic":
"click",
"partition":
0},
{"topic":
"click",
"partition":
1},
{"topic":
"click",
"partition":
2},
{"topic":
"click",
"partition":
3},
{"topic":
"click",
"partition":
4},
{"topic":
"click",
"partition":
5},
{"topic":
"click",
"partition":
6},
{"topic":
"click",
"partition":
7},
{"topic":
"play",
"partition":
0},
{"topic":
"play",
"partition":
1},
{"topic":
"play",
"partition":
2},
{"topic":
"play",
"partition":
3},
{"topic":
"play",
"partition":
4},
{"topic":
"play",
"partition":
5},
{"topic":
"play",
"partition":
6},
{"topic":
"play",
"partition":
7}
]
}
##删除topic,慎用,只会删除zookeeper中的元数据,消息文件须手动删除
bin/kafka-run-class.sh
kafka.admin.deletetopiccommand
--topic
test666
--zookeeper
192.168.197.170:2181
,192.168.197.171:2181
⑨ 怎么设置kafka topic数据存储时间
1、Kafka创建topic命令很简单,一条命令足矣:bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 3 --topic test 。