查看版本信息
hadoop version
查看HDFS下面包含的文件目录
hdfs dfs -ls /
HDFS中创建一个文件目录input
hdfs dfs -mkdir /input
上传文件至input中
hadoop fs -put /usr/local/hadoop-3.1.2/README.txt /input
hadoop fs -put /usr/local/hadoop/hadoop-3.1.2/README.txt /input
hadoop fs -put /usr/local/hadoop-3.1.2/README.txt hdfs://127.0.0.1:9000/hadoop/
下载文件
hadoop fs -get README.txt /input/README.txt
hadoop fs -get hdfs://127.0.0.1:9000/input/README.txt /myinstall/README-2.txt
执行一下命令运行wordcount 并将结果输出到output中
hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.4.jar wordcount /input /output
执行成功后output目录底下会生成两个文件 _SUCCESS 成功标志的文件,里面没有内容。
一个是 part-r-00000 ,通过以下命令查看执行的结果
hadoop fs -cat /output/part-r-00000
删除文件
hadoop fs -rm -r /hadoop/README.txt
查看文件
hadoop fs -cat /input/README.txt
修改文件权限
hdfs dfs -chmod -R 777 /input
从回收站恢复文件,移动文件
hdfs dfs -mv /user/litong/.Trash/Current/input/NOTICE.txt /input
查看HDFS状态,比如有哪些datanode,每个datanode的情况
hdfs dfsadmin -report
离开安全模式
hadoop dfsadmin -safemode leave
进入安全模式
hadoop dfsadmin -safemode enter
fsck命令:HDFS支持fsck命令用以检查各种不一致。fsck用以报告各种文件问题,如block丢失或缺少block等。
fsck命令用法如下:hdfs fsck [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks]]]
参数说明
-move 将损坏的文件移动到/lost+found下面
-delete 删除损坏的文件
-openforwrite 打印出正在写的文件
-files 打印出所有被检查的文件
-blocks 打印出block报告
-locations 打印出每个block的位置
-racks 打印出datanode的网络拓扑结构
默认情况下,fsck会忽略正在写的文件,使用-openforwrite选项可以汇报这种文件。
举例:查看HDFS中某个文件夹中文件的block块的具体信息
hdfs fsck /input -files -blocks -locations -racks
跨集群数据传输
hadoop distcp -skipcrccheck -update -m 3 hdfs://192.168.1.122:9000/input/elasticsearch-hadoop-6.6.0.zip /input
192.168.1.122是源数据所在hdfs集群的namenode地址,将源数据elasticsearch-hadoop-6.6.0.zip传输到当前集群
参数 -skipcrccheck 跳过hdfs校验,-m 表示并发数,-update 更新文件
HDFS
DataNode
50010 dfs.datanode.address datanode服务端口,用于数据传输
50075 dfs.datanode.http.address http服务的端口
50475 dfs.datanode.https.address https服务的端口
50020 dfs.datanode.ipc.address ipc服务的端口
NameNode
50070 dfs.namenode.http-address http服务的端口
50470 dfs.namenode.https-address https服务的端口
8020 fs.defaultFS 接收Client连接的RPC端口,用于获取文件系统metadata信息。
journalnode
8485 dfs.journalnode.rpc-address RPC服务
8480 dfs.journalnode.http-address HTTP服务
ZKFC
8019 dfs.ha.zkfc.port ZooKeeper FailoverController,用于NN HA
YARN
ResourceManager
8032 yarn.resourcemanager.address RM的applications manager(ASM)端口
8030 yarn.resourcemanager.scheduler.address scheduler组件的IPC端口
8031 yarn.resourcemanager.resource-tracker.address IPC
8033 yarn.resourcemanager.admin.address IPC
8088 yarn.resourcemanager.webapp.address http服务端口
NodeManager
8040 yarn.nodemanager.localizer.address localizer IPC
8042 yarn.nodemanager.webapp.address http服务端口
8041 yarn.nodemanager.address NM中container manager的端口
JobHistory Server
10020 mapreduce.jobhistory.address IPC
19888 mapreduce.jobhistory.webapp.address http服务端口
HBase
Master
60000 hbase.master.port IPC
60010 hbase.master.info.port http服务端口
RegionServer
60020 hbase.regionserver.port IPC
60030 hbase.regionserver.info.port http服务端口
HQuorumPeer
2181 hbase.zookeeper.property.clientPort HBase-managed ZK mode,使用独立的ZooKeeper集群则不会启用该端口。
2888 hbase.zookeeper.peerport HBase-managed ZK mode,使用独立的ZooKeeper集群则不会启用该端口。
3888 hbase.zookeeper.leaderport HBase-managed ZK mode,使用独立的ZooKeeper集群则不会启用该端口。
Hive
Metastore
9083 /etc/default/hive-metastore中export PORT=
HiveServer
10000 /etc/hive/conf/hive-env.sh中export HIVE_SERVER2_THRIFT_PORT=
ZooKeeper
Server
2181 /etc/zookeeper/conf/zoo.cfg中clientPort=
2888 /etc/zookeeper/conf/zoo.cfg中server.x=[hostname]:nnnnn[:nnnnn],标蓝部分 follower用来连接到leader,只在leader上监听该端口。
3888 /etc/zookeeper/conf/zoo.cfg中server.x=[hostname]:nnnnn[:nnnnn],标蓝部分 用于leader选举的。只在electionAlg是1,2或3(默认)时需要。
Namenode 端口:
50470 --> 9871
50070 --> 9870
8020 --> 9820
Secondary NN 端口:
50091 --> 9869
50090 --> 9868
Datanode 端口:
50020 --> 9867
50010 --> 9866
50475 --> 9865
50075 --> 9864