进程启停管理
一键启停脚本
Hadoop HDFS 组件内置了 HDFS 集群的一键启停脚本。
$HADOOP_HOME/sbin/start-dfs.sh ,一键启动 HDFS 集群
执行原理:
• 在执行此脚本的机器上,启动 SecondaryNameNode
• 读取 core-site.xml 内容( fs.defaultFS 项),确认 NameNode 所在机器,启动 NameNode
• 读取 workers 内容,确认 DataNode 所在机器,启动全部 DataNode
$HADOOP_HOME/sbin/stop-dfs.sh ,一键关闭 HDFS 集群
执行原理:
• 在执行此脚本的机器上,关闭 SecondaryNameNode
• 读取 core-site.xml 内容( fs.defaultFS 项),确认 NameNode 所在机器,关闭NameNode
• 读取 workers 内容,确认 DataNode 所在机器,关闭全部 NameNode
单进程启停
除了一键启停外,也可以单独控制进程的启停。
$HADOOP_HOME/sbin/hadoop-daemon.sh ,此脚本可以单独控制所在机器的进程的启停
用法: hadoop-daemon.sh (start|status|stop) (namenode|secondarynamenode|datanode)
$HADOOP_HOME/bin/hdfs ,此程序也可以用以单独控制所在机器的进程的启停
用法: hdfs --daemon (start|status|stop) (namenode|secondarynamenode|datanode)
文件系统操作命令
HDFS文件系统基本信息
区分
协议头不同
Linux:file://根目录
HDFS:hdfs://根目录
命令操作区别
HDFS不能修改文件,只能追加文件内容或者删除文件
操作命令
1. 命令操作可以使用
• hadoop fs
• hdfs dfs
2. 文件系统协议包括
• file:// 表示 Linux 本地文件
• hdfs://namenode_server:port/ 表示 HDFS 文件系统
比如当前集群表示为: hdfs://node1:8020/
一般可以省略 file:// 和 hdfs:// 协议头,不用写
3. 常用命令
• -mkdir 创建文件夹
• -ls 、 -cat 列出内容、查看内容
• -cp 、 -mv 、 -rm -r 复制、移动、删除
• -put 、-get 上传、下载
• appendToFile 向文件追加内容
4. 可以在 HDFS WEBUI 网页中进行 HDFS 文件系统的基本操作
创建文件夹
hadoop fs -mkdir [-p] <path>
#或者
hdfs dfs -mkdir [-p] <path>
查看指定目录下内容
#-h:显示文件size
#-R:递归查看
hadoop fs -ls [-h] [-R] [<path> ...]
#或者
hdfs dfs -ls [-h] [-R] [<path> ...]
查看 HDFS 文件内容
管道符控制打印内容翻页:| more
hadoop -cat <src>
#或者
hdfs dfs -cat <src>
#大文件翻页
hdfs dfs -cat <src> | more
上传文件到 HDFS 指定目录下
可覆盖已存在文件:-f
#-f:覆盖
#localsrc:本地路径
#dst:hdfs路径
hadoop fs -put [-f] [-p] <localsrc> ... <dst>
#或者
hdfs dfs -put [-f] [-p] <localsrc> ... <dst>
追加数据到 HDFS 文件中
hadoop fs -appendToFile <localsrc> ... <dst>
#或者
hdfs dfs -appendToFile <localsrc> ... <dst>
下载 HDFS 文件到本地
hadoop fs -get [-f] [-p] <localsrc> ... <dst>
#或者
hdfs dfs -get [-f] [-p] <localsrc> ... <dst>
拷贝 HDFS 文件
#路径全是hdfs文件系统
hadoop fs -cp [-f] [-p] <src> ... <dst>
#或者
hdfs dfs -cp [-f] [-p] <src> ... <dst>
移动 HDFS 数据文件
#路径全是hdfs文件系统
hadoop fs -mv [-f] [-p] <src> ... <dst>
#或者
hdfs dfs -mv [-f] [-p] <src> ... <dst>
删除 HDFS 文件
#-skipTrash:逃过回收站
hadoop fs -rm [-skipTrash] URL [URL] # 删除文件
hadoop fs -rm -r [-skipTrash] URL [URL] # 删除文件夹
#或者
hdfs dfs -rm -r [-skipTrash] URL [URL]
回收站功能默认关闭,开启需要配置 core-site.xml
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
<property>
<name>fs.trash.checkpoint.interval</name>
<value>120</value>
</property>
无需重启集群,在哪个机器配置的,在哪个机器执行命令就生效。
回收站默认位置在: /user/ 用户名 (hadoop)/.Trash
HDFS权限
linux的超级用户是root。
hdfs文件系统的超级用户:是启动namenode的用户(也就是课程的hadoop用户)
遇到权限问题,要确保你的hdfs操作命令是以:hadoop用户执行的,root用户在hdfs上其实没特权。
修改权限
修改所属用户和组【chown】:
hadoop fs -chown [-R] root:root /xxx.txt
hdfs dfs -chown [-R] root:root /xxx.txt
修改权限【chmod】:
hadoop fs -chmod [-R] 777 /xxx.txt
hdfs dfs -chmod [-R] 777 /xxx.txt