kafka操做命令


kafka-server-start.bat ../../config/server.properties &
kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 2 --topic tm-tongji
kafka-topics.bat --list --zookeeper localhost:2181
kafka-console-consumer.bat --zookeeper localhost:2181 --topic tm-tongji --from-beginningnode

  

建立kafka topic
bin/kafka-topics.sh --zookeeper node01:2181 --create --topic t_cdr --partitions 30 --replication-factor 2vim

查看全部topic列表
bin/kafka-topics.sh --zookeeper node01:2181 --listtomcat

查看指定topic信息
bin/kafka-topics.sh --zookeeper node01:2181 --describe --topic t_cdrbash

控制檯向topic生產數據
bin/kafka-console-producer.sh --broker-list node86:9092 --topic t_cdrapp

控制檯消費topic的數據
bin/kafka-console-consumer.sh --zookeeper node01:2181 --topic t_cdr --from-beginning日誌

查看topic某分區偏移量最大(小)值
bin/kafka-run-class.sh kafka.tools.GetOffsetShell --topic hive-mdatabase-hostsltable --time -1 --broker-list node86:9092 --partitions 0server

注: time爲-1時表示最大值,time爲-2時表示最小值kafka


增長topic分區數
爲topic t_cdr 增長10個分區it

$KAFKA_HOME/bin/kafka-topics.sh --zookeeper 10.3.0.19:2181,10.3.0.18:2181 --alter --topic tm-tongji --partitions 1io

刪除topic,慎用,只會刪除zookeeper中的元數據,消息文件須手動刪除
$KAFKA_HOME/bin/kafka-run-class.sh kafka.admin.DeleteTopicCommand --zookeeper 10.8.0.19:2181,10.8.0.18:2181 --topic tm-tongji


查詢topic的offset的範圍
用下面命令能夠查詢到topic:DynamicRange broker:SparkMaster:9092的offset的最小值:

$ /opt/cloudera/parcels/KAFKA/bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list SparkMaster:9092 —topic DynamicRange --time -2
輸出

DynamicRange:0:1288
查詢offset的最大值:

$ /opt/cloudera/parcels/KAFKA/bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list SparkMaster:9092 —topic DynamicRange --time -1
輸出

DynamicRange:0:7885
從上面的輸出能夠看出topic:DynamicRange只有一個partition:0 offset範圍爲:[1288,7885]

 

設置consumer group的offset
啓動zookeeper client

$ /opt/cloudera/parcels/CDH/lib/zookeeper/bin/zkCli.sh
經過下面命令設置consumer group:DynamicRangeGroup topic:DynamicRange partition:0的offset爲1288:

set /consumers/DynamicRangeGroup/offsets/DynamicRange/0 1288
注意若是你的kafka設置了zookeeper root,好比爲/kafka,那麼命令應該改成:

set /kafka/consumers/DynamicRangeGroup/offsets/DynamicRange/0 1288


nohup bin/kafka-manager -Dconfig.file=conf/application.conf -Dhttp.port 9001 &
nohup bin/kafka-manager >/dev/null 2>&1 &

只保留輸出錯誤信息 nohup command >/dev/null 2>log &
全部信息都不要 nohup command >/dev/null 2>&1 &
nohup command > vienout.txt 2>&1 &
nohup command > vienout.txt 2>&1 &

因爲使用nohup時,會自動將輸出寫入nohup.out文件中,若是文件很大的話,nohup.out就會不停的增大,咱們能夠利用Linux下一個特殊的文件/dev/null來解決這個問題,這個文件就至關於一個黑洞,任何輸出到這個文件的東西都將消失
只保留輸出錯誤信息 nohup command >/dev/null 2>log &
全部信息都不要 nohup command >/dev/null 2>&1 &

這裏解釋一下後面的2>&1 。 這涉及到Linux的重定向,其中0、一、2分別是標準輸入、標準輸出、標準錯誤輸出,用來指定須要重定向的標準輸入輸出。默認狀況下是標出輸出,也就是1 。例如咱們而上文提到的 2>&1 是 將錯誤信息重定向到標準輸出。

還有就是若是不想讓程序輸出,Linux下有一個/dev/null的特殊文件,就像一個黑洞,全部輸出到這個文件的信息所有會消失,若是你不須要輸出日誌,這樣作就不會致使輸出日誌文件愈來愈大,佔用存儲空間的問題了

  

映射經常使用命令組合
vim ~/.bashrc
vim /etc/bashrc

alias tomcatlog="tail -f /usr/local/tomcat/logs/catalina.out"
alias zhao="ps -ef|grep "

alias kafkaserver="cd /data/local/kafka/"
alias kafkarun="cd /data/kafka/runlog/"
alias kafkalog="tail -f /data/kafka/runlog/server.out"
alias kafkaerr="tail -f /data/kafka/runlog/server.err"
alias zookeeper="cd /data/log/zookeeper"

source /etc/bashrc

相關文章
相關標籤/搜索