查看版本信息 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]]] 参数说明 <path> 检查的起始目录 -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=<port>来更新默认端口 HiveServer 10000 /etc/hive/conf/hive-env.sh中export HIVE_SERVER2_THRIFT_PORT=<port>来更新默认端口 ZooKeeper Server 2181 /etc/zookeeper/conf/zoo.cfg中clientPort=<port> 对客户端提供服务的端口 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