1. 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
2. kafka在windows啟動下提示:命令語法不正確
Kafka是由LinkedIn設計的一個高吞吐量、分布式、基於發布訂閱模式的消息系統,使用Scala編寫,它以可水平擴展、可靠性、非同步通信和高吞吐率等特性而被廣泛使用。目前越來越多的開源分布式處理系統都支持與Kafka集成,其中Spark Streaming作為後端流引擎配合Kafka作為前端消息系統正成為當前流處理系統的主流架構之一。然而,當下越來越多的安全漏洞、數據泄露等問題的爆發,安全正成為系統選型不得不考慮的問題,Kafka由於其安全機制的匱乏,也導致其在數據敏感行業的部署存在嚴重的安全隱患。本文將圍繞Kafka,先介紹其整體架構和關鍵概念,再深入分析其架構之中存在的安全問題,最後分享下Transwarp在Kafka安全性上所做的工作及其使用方法。
3. linux 怎樣查看kafka的某 topic數據
1、創建一個需要增加備份因子的topic列表的文件,文件格式是json格式的。
注意事項:
Kafka的目的是通過Hadoop的並行載入機制來統一線上和離線的消息處理,也是為了通過集群來提供實時的消息。
4. ubuntu 怎麼安裝kafka
kafka官網下載 kafka_2.10-0.8.2.1.tgz並復制到虛擬機Ubuntu
2.1解壓到該路徑
tar zxvf kafka_2.10-0.8.2.1.tgz
sudo mv kafka /home/chen-pc/kafka
啟動和停止
啟動Zookeeper server:
Shell代碼
bin/zookeeper-server-start.sh config/zookeeper.properties &
其中&是為了能退出命令行
kafka安裝教程
停止Kafka server
Shell代碼
bin/kafka-server-stop.sh
出現如下:
INFO Shutting down. (kafka.log.LogManager)
INFO Shutdown complete. (kafka.log.LogManager)
INFO Terminate ZkClient event thread. (org.I0Itec.zkclient.ZkEventThread)
INFO Session: 0x154957ee6bc0000 closed (org.apache.zookeeper.ZooKeeper)
INFO EventThread shut down (org.apache.zookeeper.ClientCnxn)
INFO [Kafka Server 0], shut down completed (kafka.server.KafkaServer)
kafka安裝教程
停止Zookeeper server:
Shell代碼
bin/zookeeper-server-stop.sh
出現如下:
[1]+ Exit 130 bin/zookeeper-server-start.sh config/zookeeper.properties
kafka安裝教程
4.創建啟動、關閉kafka腳本
cd /home/chen-pc/kafka
創建啟動腳本
vi kafkastart.sh #編輯,添加以下代碼
#!/bin/sh
#啟動zookeeper
/home/chen-pc/kafka/bin/zookeeper-server-start.sh /home/chen-pc/kafka/config/zookeeper.properties &
#等3秒後執行
sleep 3
#啟動kafka
/home/chen-pc/kafka/bin/kafka-server-start.sh /home/chen-pc/kafka/config/server.properties &
保存退出
vi kafkastop.sh #編輯,添加以下代碼
#!/bin/sh
#關閉zookeeper
/home/chen-pc/kafka/bin/zookeeper-server-stop.sh /home/chen-pc/kafka/config/zookeeper.properties &
sleep 3
#關閉kafka
/home/chen-pc/kafka/bin/kafka-server-stop.sh /home/chen-pc/kafka/config/server.properties &
添加腳本執行許可權
chmod +x kafkastart.sh
chmod +x kafkastop.sh
以後啟動kafka
sh /home/chen-pc/kafka/kafkastart.sh
Jps查看進程
kafka安裝教程
關閉kafka
sh /home/chen-pc/kafka/kafkastop.sh
至此,Linux下Kafka單機安裝配置完成。
4. 單節點kafka
sh /home/chen-pc/kafka/kafkastart.sh
Kafka創建topic
cd kafka
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
kafka安裝教程
Kafka 刪除topic
bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic test
查看topic
/home/chen-pc/kafka/bin/kafka-topics.sh --list --zookeeper localhost:2181
kafka安裝教程
啟動consumer & procer,並在procer啟動後的console輸入一些信息
bin/kafka-console-procer.sh --broker-list localhost:9092 --topic test
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
kafka安裝教程
11
Kafka安裝部署成功
5. 怎麼將shell腳本的變數內容,通過kafka命令發送到kafka的topic中呢,求助
kafka $變數名
6. 如何查看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
7. kafka必須在linux下嗎
2.解壓下載的kafka
tar -xzf kafka_2.10-0.8.2.2.tgz
cd kafka_2.10-0.8.2.2
3. 啟動服務
3.1 啟動zookeeper
啟動zk有兩種方式,第一種是使用kafka自己帶的一個zk。
bin/zookeeper-server-start.sh config/zookeeper.properties
&
另一種是使用其它的zookeeper,可以位於本機也可以位於其它地址。這種情況需要修改config下面的sercer.properties裡面的zookeeper地址
。例如zookeeper.connect=10.202.4.179:2181
3.2 啟動 kafka
bin/kafka-server-start.sh config/server.properties
4.創建topic
bin/kafka-topics.sh --create --zookeeper 10.202.4.179:2181 --replication-factor 1 --partitions 1 --topic test
創建一個名為test的topic,只有一個副本,一個分區。
通過list命令查看剛剛創建的topic
bin/kafka-topics.sh -list -zookeeper 10.202.4.179:2181
5.啟動procer並發送消息啟動procer
bin/kafka-console-procer.sh --broker-list localhost:9092 --topic test
啟動之後就可以發送消息了
比如
test
hello boy
按Ctrl+C退出發送消息
6.啟動consumer
bin/kafka-console-consumer.sh --zookeeper 10.202.4.179:2181 --topic test --from-beginning
啟動consumer之後就可以在console中看到procer發送的消息了
可以開啟兩個終端,一個發送消息,一個接受消息。
8. kafka 怎樣查看kafka狀態
輸入以下代碼即可查看kafka狀態:
BROKER_HOST是kafka server的ip地址,PORTt是server的監聽埠。多個host port之間用逗號隔開。
第一條命令是獲取group列表,一般而言,應用是知道消費者group的,通常在應用的配置里,如果已知,該步驟可以省略。
第二條命令是查看具體的消費者group的詳情信息,需要給出group的名稱。
Kafka是由Apache軟體基金會開發的一個開源流處理平台,由Scala和Java編寫。Kafka是一種高吞吐量的分布式發布訂閱消息系統,它可以處理消費者在網站中的所有動作流數據。
這種動作(網頁瀏覽,搜索和其他用戶的行動)是在現代網路上的許多社會功能的一個關鍵因素。 這些數據通常是由於吞吐量的要求而通過處理日誌和日誌聚合來解決。
對於像Hadoop一樣的日誌數據和離線分析系統,但又要求實時處理的限制,這是一個可行的解決方案。Kafka的目的是通過Hadoop的並行載入機制來統一線上和離線的消息處理,也是為了通過集群來提供實時的消息。
9. 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文件可以用逗號分隔。
10. win7 不安裝kafka,可以啟動嗎
解壓下載的kafkatar -xzf kafka_2.10-0.8.2.2.tgz
cd kafka_2.10-0.8.2.2
3. 啟動服務
3.1 啟動zookeeper
啟動zk有兩種方式,第一種是使用kafka自己帶的一個zk。
bin/zookeeper-server-start.sh config/zookeeper.properties
&
另一種是使用其它的zookeeper,可以位於本機也可以位於其它地址。這種情況需要修改config下面的sercer.properties裡面的zookeeper地址
。例如zookeeper.connect=10.202.4.179:2181
3.2 啟動 kafka
bin/kafka-server-start.sh config/server.properties
4.創建topic
bin/kafka-topics.sh --create --zookeeper 10.202.4.179:2181 --replication-factor 1 --partitions 1 --topic test
創建一個名為test的topic,只有一個副本,一個分區。
通過list命令查看剛剛創建的topic
bin/kafka-topics.sh -list -zookeeper 10.202.4.179:2181
5.啟動procer並發送消息啟動procer
bin/kafka-console-procer.sh --broker-list localhost:9092 --topic test
啟動之後就可以發送消息了
比如
test
hello boy
按Ctrl+C退出發送消息
6.啟動consumer
bin/kafka-console-consumer.sh --zookeeper 10.202.4.179:2181 --topic test --from-beginning
啟動consumer之後就可以在console中看到procer發送的消息了
可以開啟兩個終端,一個發送消息,一個接受消息。