day07笔记
**********************************************
课程回顾:
(1)HDFS Web Console
(2)HDFS 命令操作(hdfs dfs--普通操作命令 hdfs dfsadmin 管理员命令)
(3)IDEA Maven 文件夹的创建。
**********************************************
1、HDFS权限问题
针对用户操作没有权限 permission denied:
(1)修改 hdfs-site.xml 去掉权限检查(关闭HDFS服务 stop-all.sh;修改后 重新 Start-all.sh)
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
(2)通过设定用户名字 root
System.setProperty("HADOOP_USER_NAME","root");
(3)通过java的-D参数传递。 HADOOP_USER_NAME=root (命令行的方式)
public static void main(String[] args)
https://www.cnblogs.com/-wangjiannan/p/3626965.html
(4)hdfs dfs -chmod 777 /input 让所有用户访问。
(5)针对HDFS权限问题,有kerberos认证。
Kerberos: The Network Authentication Protocol
https://www.cnblogs.com/wukenaihe/p/3732141.html
2、IDEA Maven工程实现HDFS的文件上传与下载
## Maven环境中 只有当 POM文件中所有的依赖包全部变成白色。 ##
(1)HDFS文件上传
查看源码:crtl+鼠标左键
## Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries. ##
step1:
下载:hadoop2.7.3 winutils binary
https://github.com/rucyang/hadoop.dll-and-winutils.exe-for-hadoop2.7.3-on-windows_X64
step2: 配置环境变量 拷贝进入 D:\hadoop-2.7.3\bin文件下。
hadoop.home.dir ---bin/winutils.exe
HADOOP_HOME:D:\hadoop-2.7.3,然后再path里面增加 %HADOOP_HOME%\bin
或者:System.setProperty("hadoop.home.dir", "D:\\hadoop-2.7.3");
(2)HDFS文件下载
### 使用IOUtils 输入路径 输出路径###
IOUtils.copyBytes(input,output,1024);
3、HDFS上传与下载原理
https://www.processon.com
4、安全模式 safe mode
5、快照:是一种备份,默认:HDFS快照是关闭
6、配额:Quota
7、回收站:默认HDFS的回收站禁用