HDFS详解02

一、pid

1、pid 默认放在/tmp目录下,pid内容为jps的进程号。

2、删除进程,一般不会通过ps -ef|grep hadoop来删除,因为进程号不只是PID,还会出现别的进程号,可能会误杀别的进程

(1)查看停止hdfs的脚本内容

执行的是hadoop-daemons.sh脚本停止

(2)查看hadoop-daemons.sh脚本

执行的是hadoop-daemon.sh文件

(3)查看hadoop-daemon.sh脚本并且筛选是否停止脚本包含pid。

是包含的。脚本通过找到pid(这里是可以通过配置环境变量修改路径,默认配置在/tmp目录下。找pid是通过$来找路径),然后kill掉来达到停止hadoop运作的目的。

3、删除pid,进程会挂吗?能够提供服务吗?

进程不挂,服务正常。

4、生产上:

pid绝对不能放到/tmp目录,因为/tmp文件夹一个月自动清理一次(默认)

如果清理掉了pid文件,就手动kill -9 进程号来关闭,再重启。

# The directory where pid files are stored. /tmp by default.(默认)

# NOTE: this should be set to a directory that can only be written to by 

# the user that will run the hadoop daemons. Otherwise there is the

# potential for a symlink attack.

export HADOOP_PID_DIR=${HADOOP_PID_DIR}


创建存放hadoopPid文件的文件夹:

mkdir /data/hadoop/tmp

chmod -R 777 /data/hadoop/tmp 

export HADOOP_PID_DIR=/data/hadoop/tmp


5、hadoop命令

(1)hadoop fs = hdfs dfs

hdfs dfs + linux命令

[-put [-f] [-p] [-l] [-d] <localsrc> ... <dst>]

[-get [-f] [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]

等于

[-copyFromLocal [-f] [-p] [-l] [-d] <localsrc> ... <dst>]

[-copyToLocal [-f] [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]

(2)hadoop version:查看hadoop版本

(3)hadoop jar 

执行一个jar包

(4)hadoop checknative

检查你的hdfs上面支持有哪些压缩

(5)hadoop classpath

检查jar包是否成功加载,打印的路径有,就是成功加载,否则要重新加载。

如何重新加载?

----查看hadoop-env.sh脚本

cat hadoop-env.sh

hadoop系统jar包存放在$HADOOP_HOME/contrib/ca[acity-scheduler/*.jar下

如何新增jar包覆盖的话,在hadoop-env.sh中修改:

done后面加下述语句:

export HADOOP_CLASSPATH=/xxx/xxx.jar:$HADOOP_CLASSPATH

6、hdfs命令

(1)hdfs namenode -format

格式化DFS文件系统

(2)hdfs dfsadmin + 

例如:hdfs dfsadmin -report

(3)hdfs fsck

查看数据块的状况

(4)hdfs dfs

重点掌握

7、垃圾箱

(1)没配置垃圾回收前删除hdfs里的文件

hdfs dfs -rm /test123.log

(2)打开core-site.xml 

复制黏贴:


<property>

<!--多长时间创建CheckPoint NameNode截点上运行的CheckPointer 从Current文件夹创建CheckPoint;默认:0 由fs.trash.interval项指定 -->

 <name>fs.trash.checkpoint.interval</name>

 <value>0</value>

</property>

<property>

<!--多少分钟.Trash下的CheckPoint目录会被删除,该配置服务器设置优先级大于客户端,默认:0 不删除 -->

 <name>fs.trash.interval</name>

 <value>1440</value>

</property>


(3)重启

(4)删除hdfs里的文件

hdfs dfs -rm /HBinz1.log

注意!!!:

如果出现说由于在安全模式无法移动到垃圾箱,就退出安全模式。否则别退出。

hdfs dfsadmin safemode

(5)如果是误删,就移动回来

已经没有了HBinz1.log文件

分析:

看报错:

fs.TrashPolicyDefault: Moved: 'hdfs://192.168.137.130:9000/HBinz1.log' to trash at: hdfs://192.168.137.130:9000/user/HBinz/.Trash/Current/HBinz1.log

移动到了/user/HBinz/.Trash/Current/HBinz1.log这个目录下

所以如果是误删可以通过移动回来来恢复:

hdfs dfs -mv /user/HBinz/.Trash/Current/HBinz1.log /

(6)垃圾箱的官方文档解释

(7)配置了垃圾箱也可以跳过垃圾箱删除文件

hdfs dfs -rm -skiptrash /HBinz1.log

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值