1.开启任务历史服务(方便查看日志)
-- 开启任务历史服务(在bigdata04中)
mapred --daemon start historyserver
2.访问web服务
--访问NameNode的web服务
http://bigdata02:9870
--访问yarn的web服务
http://bigdata04:8088
--访问任务历史服务的web页面
http://bigdata04:19888/jobhistory
报错:
解决:在C:\Windows\System32\drivers\etc的hosts文件中加入
192.168.26.72 bigdata02
192.168.26.73 bigdata03
192.168.26.74 bigdata04
如果还是报错,就去检查防火墙状态,如未禁用,禁用防火墙
systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service
3.hdfs命令行
命令行操作有两种格式
hadoop fs -具体的命令 要操作的目录或者文件
hdfs dfs -具体的目录 要操作的目录或者文件
(1)对目录的操作
1.1对目录的查询
使用ls命令可以查看hdfs上的目录
--查询hdfs上的根目录
hadoop fs -ls /
--使用R参数进行递归查询
hadoop fs -ls -R /
1.2创建目录
使用mkdir命令可以创建hdfs上的目录
--在hdfs上创建/test目录
hadoop fs -mkdir /test
--在hdfs上创建/file/input目录
--使用p参数进行递归创建目录
hadoop fs -mkdir -p /file/input
--查看目录是否创建成功
hadoop fs -ls /
1.3删除目录
使用rm命令可以删除hdfs上的目录和文件
--删除hdfs上的/test目录
--使用r参数进行递归删除目录
hadoop fs -rm -r /test
--删除hdfs上的/file目录
hadoop fs -rm -r /file
(2)对于文件的操作
2.1创建空白文件
使用touch或者touchz命令可以在hdfs上创建空白文件
--在hdfs上创建/file/touch.txt文件
hadoop fs -touch /file/touch.txt
2.2上传文件
①使用put命令可以将本地(Linux)文件上传到hdfs上,上传完成后,本地的文件依然保留
hadoop fs -put 文件的本地路径 文件上传的hdfs路径
--将本地的/opt/file/test.txt文件上传到hdfs的/file
hadoop fs -put /opt/file/test.txt /file
②使用moveFromLocal命令也可以将本地文件上传到hdfs上,上传完成后,本地文件不保留,会被删除
hadoop fs -moveFromLocal 文件的本地路径 文件上传到的hdfs路径
-- 将本地的/opt/file/a.txt文件上传到hdfs上的/file
hadoop fs -moveFromLocal /opt/file/a.txt /file
2.3查看文件内容
使用cat命令可以查看hdfs上的文件内容
-- 查看/file/test.txt文件中的内容
hadoop fs -cat /file/test.txt
-- cat命令可以同时查看多个文件中的内容
hadoop fs -cat /file/test.txt /file/a.txt
2.4下载文件
使用get命令可以将hdfs上的文件下载到本地(Linux)
hadoop fs -get 文件在hdfs上的路径 文件下载到本地的路径
-- 将hdfs上的/file/a.txt下载到本地/opt
hadoop fs -get /file/a.txt /opt
2.5文件的改名和目录调整
①使用cp命令可以将hdfs上的文件复制拷贝到其他hdfs目录中,在复制过程中可以修改文件的名称,拷贝完成
后,文件在源路径中依然保留
hadoop fs -cp 文件在hdfs上的源路径 文件在hdfs上的新路径
-- 将hdfs上的/file/a.txt复制到/b.txt
hadoop fs -cp /file/a.txt /b.txt
②使用mv命令可以将hdfs上的文件剪切到其他hdfs目录中,在复制过程中可以修改文件的名称,拷贝完成后,文
件在源路径中会被删除
hadoop fs -mv 文件在hdfs上的源路径 文件在hdfs上的新路径
-- 将hdfs上的/file/test.txt复制到/test1.txt
hadoop fs -mv /file/test.txt /test1.txt
2.6对文件的赋权
使用chmod命令可以对hdfs上的文件和目录进行权限控制(见4)
--当前/file/a.txt文件的权限是644,现在将该文件的权限调整为777
hadoop fs -chmod 777 /file/a.txt
(3)判断操作
使用test命令进行判断操作
-- 判断文件是否在hdfs上存在
hadoop fs -test -e /file/a.txt
命令执行后,执行
echo $?
如果返回0 表示文件a.txt存在 否则文件不存在
-- 判读是否为目录
hadoop fs -test -d /file/a.txt
命令执行后,执行echo $? 如果返回0 表示a.txt是目录 否则不是目录(a.txt不是目录)
-- 判断文件是否为空
hadoop fs -test -z /file/a.txt
hadoop fs -test -z /file/touch.txt
命令执行后,执行echo $? 如果返回0 表示文件a.txt为空 否则文件不为空
(4)其他操作
-- 手动关闭hdfs的安全模式(正常情况处于关闭状态)
hadoop dfsadmin -safemode leave
--进入安全模式(没事别进,进了记得关)
hadoop dfsadmin -safemode
4.chmod命令
-rw-r--r--. 1 root root 23 5月 30 21:41 a.txt
第一位:- 文件 d 目录 l 软连接
rw-r--r-- 三组权限
rw-: 代表a.txt文件的所属用户root对该文件的权限
r: read(是文件的话可以查看,是目录的话可以访问)
w: write(可以进行修改)
r--: 代表a.txt文件的所属用户所在的用户组root对该文件的权限
r: read(是文件的话可以查看,是目录的话可以访问)
r--: 代表其他用户对该文件的权限
r: read(是文件的话可以查看,是目录的话可以访问)
对文件的权限进行修改
使用chmod命令对文件或者目录进行权限控制
r:4(读)
w:2(写)
x:1(执行)
rw-r--r-- : 644
-- 调整a.txt的权限 让所有用户对a.txt拥有读写权限
chmod 666 /opt/a.txt
-rw-rw-rw-. 1 root root 23 5月 30 21:41 a.txt
-- 调整a.txt的权限 让所有用户对a.txt拥有读写执行权限
chmod 777 /opt/a.txt
-rwxrwxrwx. 1 root root 23 5月 30 21:41 a.txt
5.作业
(1)在linux本地创建/opt/file/cmd.txt文件,文件中的内容自定义
mkdir /opt/file
touch /opt/file/cmd.txt
vim /opt/file/cmd.txt
## Adam Lambert is the most handsome American singer.
(2)在hdfs上创建目录/homework,将该目录的权限调整为root用户拥有读写执行权限 其他用户拥有读写权限
hadoop fs -mkdir /homework
## hadoop fs -ls /
hadoop fs -chmod 755 /homework
(3)将/opt/file/cmd.txt上传到/homework下,并判断该文件是否为空
hadoop fs -put /opt/file/cmd.txt /homework
hadoop fs -test -z /homework/cmd.txt
echo $?