天天看點

kafka及hdfs常用指令

'''

1.kafka常用指令:

首先擷取叢集節點kafka相關位置,我用了比較原始的搜尋辦法:find . -name 'kafka*' >kafka_path

找到并進入kafka根目錄相關目錄後執行kafka指令:

檢視topic數: bin/kafka-topics.sh --zookeeper hadoop3 --list #檢視該節點下所有topic

建topic,分區,副本數: bin/kafka-topics.sh --zookeeper hadoop1:2181,hadoop2:2181,hadoop3:2181 --create --topic tablename --partitions 6 --replication-factor 2

#分别為第1,2,3hadoop節點上建立topic tablename和6個分區和2個副本

檢視topic描述資訊: bin/kafka-topics.sh --zookeeper hadoop1:2181/kafka --describe --topic tablename

檢視topic的偏移量: bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list hadoop1:9090 --topic tablename

删除topic: bin/kafka-topics.sh --delete --zookeeper hadoop1:2181/kafka --topic tablename

檢視topic的partition的副本分布,可以在zookeeper中檢視:get /kafka/brokers/topics/my-replicated-topic

hdfs:

hdfs以檔案形式存儲資料,可通過hdfs指令檢視相關檔案資訊,如:

hdfs dfs -fs hdfs://cluster2-hadoop01-tst-daas-deepexi:8020 -ls / 檢視cluster2-tst-daas-deepexi:8020叢集下hdfs檔案資訊

常用指令參數:

-help

功能:輸出這個指令參數手冊

-ls

功能:顯示目錄資訊

示例: hadoop fs -ls hdfs://hadoop-server01:9000/

備注:這些參數中,所有的hdfs路徑都可以簡寫

-->hadoop fs -ls / 等同于上一條指令的效果

-mkdir

功能:在hdfs上建立目錄

示例:hadoop fs -mkdir -p /aaa/bbb/cc/dd

-moveFromLocal

功能:從本地剪切粘貼到hdfs

示例:hadoop fs - moveFromLocal /home/hadoop/a.txt /aaa/bbb/cc/dd

-moveToLocal

功能:從hdfs剪切粘貼到本地

示例:hadoop fs - moveToLocal /aaa/bbb/cc/dd /home/hadoop/a.txt

--appendToFile

功能:追加一個檔案到已經存在的檔案末尾

示例:hadoop fs -appendToFile ./hello.txt hdfs://hadoop-server01:9000/hello.txt

可以簡寫為:

Hadoop fs -appendToFile ./hello.txt /hello.txt

-cat

功能:顯示檔案内容

示例:hadoop fs -cat /hello.txt

-tail

功能:顯示一個檔案的末尾

示例:hadoop fs -tail /weblog/access_log.1

-text

功能:以字元形式列印一個檔案的内容

示例:hadoop fs -text /weblog/access_log.1

-chgrp

-chmod

-chown

功能:linux檔案系統中的用法一樣,對檔案所屬權限

示例:

hadoop fs -chmod 666 /hello.txt

hadoop fs -chown someuser:somegrp /hello.txt

-copyFromLocal

功能:從本地檔案系統中拷貝檔案到hdfs路徑去

示例:hadoop fs -copyFromLocal ./jdk.tar.gz /aaa/

-copyToLocal

功能:從hdfs拷貝到本地

示例:hadoop fs -copyToLocal /aaa/jdk.tar.gz

-cp

功能:從hdfs的一個路徑拷貝hdfs的另一個路徑

示例: hadoop fs -cp /aaa/jdk.tar.gz /bbb/jdk.tar.gz.2

-mv

功能:在hdfs目錄中移動檔案

示例: hadoop fs -mv /aaa/jdk.tar.gz /

-get

功能:等同于copyToLocal,就是從hdfs下載下傳檔案到本地

示例:hadoop fs -get /aaa/jdk.tar.gz

-getmerge

功能:合并下載下傳多個檔案

示例:比如hdfs的目錄 /aaa/下有多個檔案:log.1, log.2,log.3,...

hadoop fs -getmerge /aaa/log.* ./log.sum

-put

功能:等同于copyFromLocal

示例:hadoop fs -put /aaa/jdk.tar.gz /bbb/jdk.tar.gz.2

-rm

功能:删除檔案或檔案夾

示例:hadoop fs -rm -r /aaa/bbb/

-rmdir

功能:删除空目錄

示例:hadoop fs -rmdir /aaa/bbb/ccc

-df

功能:統計檔案系統的可用空間資訊

示例:hadoop fs -df -h /

-du

功能:統計檔案夾的大小資訊

hadoop fs -du -s -h /aaa/*

-count

功能:統計一個指定目錄下的檔案節點數量

示例:hadoop fs -count /aaa/

-setrep

功能:設定hdfs中檔案的副本數量

示例:hadoop fs -setrep 3 /aaa/jdk.tar.gz

<這裡設定的副本數隻是記錄在namenode的中繼資料中,是否真的會有這麼多副本,還得看datanode的數量>

繼續閱讀