常用Hadoop命令(bin)

**** bin 是二进制文件的意思,sbin....据说是superbin(管理员的bin)

HDFS命令
某个文件的blocks信息
hadoop fsck /user/xx -files -blocks -locations

改变一个文件或者目录的副本因子
hadoop fs -setrep -R 3 /user/xx

查看app的log
yarn logs -applicationId application_1452250357031_0175

set datanode 日志级别
hadoop daemonlog -setlevel namenodeip:50070 datanode DEBUG

或者 在hadoop-env.sh中添加
export HADOOP_ROOT_LOGGER=DEBUG,RFA

查看sequence文件
hadoop dfs -text sequenceFile

查看压缩文件
lzo文件(先按照lzop命令) hadoop fs -cat /user/2017-03-06/part-r-00255.lzo | lzop -dc | head -1
gz压缩 hadoop fs -cat /tmp/temp.txt.gz | gzip -d​ 或者 hadoop fs -cat /tmp/temp.txt.gz | zcat​

lzo建立索引(方便切分多个split,会在当前hdfs目录下创建一个.index文件)
hadoop jar lib/hadoop-lzo-0.4.15.jar com.hadoop.compression.lzo.DistributedLzoIndexer /user/news_74_8000_201705091820.lzo

kafka&zk命令
启动kafka
nohup bin/kafka-server-start.sh config/server.properties &
bin/kafka-server-start.sh -daemon config/server.properties

停止Kafka
bin/bin/kafka-server-stop.sh

列出kafka的topic
bin/kafka-topics.sh --list --zookeeper 127.0.0.1:2181,10.xx:2181,10.xx:2181

创建topic
bin/kafka-topics.sh --create --zookeeper 127.0.0.1:2181,10.xx:2181,10.xx:2181 --topic test --partitions 3 --replication-factor 2

增加topic的partitions
bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --alter --topic three_replica --partitions 5

topic的描述信息
bin/kafka-topics.sh --describe --zookeeper 10.xx:2181,10.xx:2181,10.xx:2181 --topic test

命令行生产消息
bin/kafka-console-producer.sh --broker-list 127.0.0.1:9092,10.xx:9092,10.xx:9092 --topic test

命令行消费消息
bin/kafka-console-consumer.sh --zookeeper 127.0.0.1:2181,10.xx:2181,10.1xx:2181 --topic test --from-beginning

打开zk客户端
bin/zkCli.sh -server xxx:2181,xx:2181

删除zk上节点

delete /path //删除指定节点,只能删除非空节点
rmr /path //删除path节点及子节点

查看zk目录
ls / //使用ls查看当前zookeeper中所包含的内容
ls2 / //查看当前节点数据并能看到更新次数等数据
查看zk中哪个是leader及follower
for i in {55..57};do echo stat | nc 10.102.143.$i 2181;done

zk

echo dump| nc 127.0.0.1 2181 //列出未经处理的会话和临时节点
echo conf | nc 127.0.0.1 2181 //输出相关服务配置的详细信息

redis命令
redis-cli 进入
redis-cli # localhost
redis-cli -h hostname -p port -a password
进入之后使用ping命令测试下链接是否成功,返回PONG表示链接成功。

查看redis中的key
$ keys * # redis 中所有的key
$ keys h* # redis 中h开头的所有key
$ randomkey # 随机显示一个key
在client中使用上述命令时,有可能会报Error: Server closed the connection,导致命令无法使用,但其它命令正常,如lrange。

查看key的数据类型
$ type xx:xx # xx:xx 为key
使用scan查看匹配key

SCAN cursor [MATCH pattern] [COUNT count]

scan 107102208 MATCH net:20170830:V* COUNT 1000

注意:返回的游标不一定是递增的,可能后一次返回的游标比前一次的小。

查看list中key对应的值
$ lrange top:article 1 2 # 显示key为top:article的list中start索引为1到end索引为2的数据

  1. "{"id":"CS25FCED05148UNS","value":[3873,11,64096,0,0,0]}"
  2. "{"id":"CS2EK6TU0001875P","value":[3850,10,94762,0,0,0]}"

查看hash所有的key/value
$ hgetall xx:xx # xx:xx 为key

  1. key1 # hash中的key
  2. value1 # hash中的value

redis cluster命令
连接客户端命令
redis-cli -h ip -p port -c

转自 http://bigdatadecode.club/常用Hadoop命令.html

原文地址:https://www.cnblogs.com/hit-zb/p/10481884.html