『壹』 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為什麼會自動關閉
Kafka在啟動一段時間後,如果出現服務自動關閉情況,可在啟動kafka的時使用守護進程模式啟動,即在原啟動命令中加 -daemon
kafka-server-start.sh -daemon config/server.properties &
原因參考:
kafka-run-class.sh
# Launch mode
if [ "x$DAEMON_MODE" = "xtrue" ]; then
#使用daemon執行命令
nohup $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@" > "$CONSOLE_OUTPUT_FILE" 2>&1 < /dev/null &
else
#不使用daemon執行命令
exec $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@"
fi
『叄』 如何在Kafka上創建一個Topic
在運行/調試設置中,編輯配置對話框中有「Main」這個選項卡,我們可以勾選「Stop in main」這個復選框。如果選中,那麼在調試一個基於main方法的Java程序時,程序會在main方法第一行位置便停止執行。
進入伺服器後,找到kafka安裝目錄進入bin文件夾,輸入命令--- 查看kafka現有主題命令:。/kafka-topics.sh --list --zookeeper zk_host:port。
『肆』 怎麼將shell腳本的變數內容,通過kafka命令發送到kafka的topic中呢,求助
kafka $變數名
『伍』 如何在Kafka上對一個Topic增加partition
通過kafka-topics工具的alter命令,將TEST-TOPIC的partitions從2增加到4;
/bin/windows/kafka-topics.bat –zookeeper 127.0.0.1:2181 –alter –partitions 4–topic TEST-TOPIC
『陸』 如何查看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安裝目錄進入bin文件夾,輸入命令---
查看kafka現有主題命令:。/kafka-topics.sh --list --zookeeper zk_host:port
『捌』 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文件可以用逗號分隔。
『玖』 kafka只能用命令來創建topic么
在Kafka上創建一個Topic的步驟:進入伺服器後,找到kafka安裝目錄進入bin文件夾,輸入命令--- 查看kafka現有主題命令:。/kafka-topics.sh --list --zookeeper zk_host:port望採納。
『拾』 kafka在windows啟動下提示:命令語法不正確
Kafka是由LinkedIn設計的一個高吞吐量、分布式、基於發布訂閱模式的消息系統,使用Scala編寫,它以可水平擴展、可靠性、非同步通信和高吞吐率等特性而被廣泛使用。目前越來越多的開源分布式處理系統都支持與Kafka集成,其中Spark Streaming作為後端流引擎配合Kafka作為前端消息系統正成為當前流處理系統的主流架構之一。然而,當下越來越多的安全漏洞、數據泄露等問題的爆發,安全正成為系統選型不得不考慮的問題,Kafka由於其安全機制的匱乏,也導致其在數據敏感行業的部署存在嚴重的安全隱患。本文將圍繞Kafka,先介紹其整體架構和關鍵概念,再深入分析其架構之中存在的安全問題,最後分享下Transwarp在Kafka安全性上所做的工作及其使用方法。