目录
一、启动命令
1.启动Hadoop所有进程
一般不推荐使用start-all.sh(因为开源框架中内部命令启动有很多问题)
start-all.sh等价于start-dfs.sh + start-yarn.sh
2.单进程启动(推荐)
先启动HDFS
sbin/start-dfs.sh
再启动YARN
sbin/start-yarn.sh
二、常用Shell命令
操作hdfs系统可以使用hadoop fs 也可以使用 hdfs dfs ,两者效果一样。(hadoop dfs命令已不再建议使用)
1.查看指定目录下内容
hdfs dfs –ls [文件目录] //查看指定目录文件信息
hdfs dfs -ls -R / //显式目录结构
eg: hdfs dfs –ls /user/mark
2.查看某个文件内容
hdfs dfs –cat [file_path]
eg: hdfs dfs -cat /user/mark/data.txt
3.将本地文件存储至hadoop
hdfs dfs –put [本地地址] [hadoop目录]
eg: hdfs dfs –put /home/mark/data.txt /user/mark
4.将本地文件夹存储至hadoop
hdfs dfs –put [本地目录] [hadoop目录]
eg: hdfs dfs –put /home/mark/dir_name /user/mark
5.将hadoop上某个文件下载至本地已有目录下
hdfs dfs -get [文件目录] [本地目录]
eg: hdfs dfs –get /user/mark/data.txt /home/mark
6. 删除hadoop上指定文件
hdfs dfs –rm [文件地址]
eg: hdfs dfs –rm /user/mark/data.txt
7.删除hadoop上指定文件夹(包含子目录等)
hdfs dfs –rmr [目录地址]
eg: hdfs dfs –rmr /user/mark
8.在hadoop指定目录内创建新目录
hdfs dfs –mkdir [新目录地址]
eg: hdfs dfs -mkdir /user/centos/hadoop
9. 在hadoop指定目录下新建一个空文件
hdfs dfs -touchz [目录地址]
eg: hdfs dfs -touchz /user/new.txt
10.将hadoop上某个文件重命名
hdfs dfs –mv [旧文件] [新文件]
eg: hdfs dfs –mv /user/old.txt /user/new.txt
11.将正在运行的hadoop作业杀掉
hadoop job –kill [job-id]
12.权限管理
hdfs dfs -chgrp group path 改变文件所属组
hdfs dfs -chgrp -R /dir 递归更改dir目录的所属组
hdfs dfs -chmod [-R] 权限 -path 改变文件的权限
hdfs dfs -chown owner[-group] /dir 改变文件的所有者
hdfs dfs -chown -R owner[-group] /dir 递归更改dir目录的所属用
13.安全模式
(1)进入安全模式
在必要情况下,可以通过以下命令把HDFS置于安全模式
/usr/local/hadoop$bin/hdfs dfs admin -safemode enter
(2)退出安全模式
NameNode在启动时会自动进入安全模式。安全模式是NameNode的一种状态,在这个阶段,文件系统不允许有任何修改。系统显示Name node in safe mode,说明系统正处于安全模式,这时只需要等待十几秒即可
也可通过下面的命令退出安全模式:/usr/local/hadoop$bin/hadoop dfsadmin -safemode leave
15.节点添加
添加一个新的DataNode节点,先在新加节点上安装好Hadoop,要和NameNode使用相同的配置(可以直接从NameNode复制),修改HADOOP_HOME/conf/master文件,加入NameNode主机名。然后在NameNode节点上修改HADOOP_HOME/conf/master文件,加入NameNode主机名。然后在NameNode节点上修改HADOOP_HOME/conf/slaves文件,加入新节点名,再建立新加节点无密码的SSH连接
运行启动命令为:/usr/local/hadoop$bin/start-all.sh
16.负载均衡
HDFS的数据在各个DataNode中的分布可能很不均匀,尤其是在DataNode节点出现故障或新增DataNode节点时。新增数据块时NameNode对DataNode节点的选择策略也有可能导致数据块分布不均匀
用户可以使用命令重新平衡DataNode上的数据块的分布:/usr/local/hadoop$bin/start-balancer.sh