① 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 。