【hadoop】Java API连接(操作)HDFS

news2024/11/28 6:40:28

Java API连接(操作)HDFS

  • 直接连接遇到的问题
  • 设置执行的用户为root用户
  • 使用Java的-D参数来设置环境变量
  • 使用chmod的命令赋予权限
  • 修改参数配置

直接连接遇到的问题

直接运行下面的代码,会出现权限不够的问题

@Test
public void test1() throws Exception{
	//指定NameNode地址
	Configuration conf = new Configuration();
	conf.set("fs.defaultFS", "hdfs://192.168.157.111:9000");
		
	//创建一个HDFS的客户端 DistributedFileSystem
	FileSystem client = FileSystem.get(conf);
		
	//创建目录
	client.mkdirs(new Path("/folder1"));
		
	//关闭客户端
	client.close();
}

错误:
org.apache.hadoop.security.AccessControlException: Permission denied: user=lenovo, access=WRITE, inode=“/folder1”:root:supergroup:drwxr-xr-x

下面使用四种方式来解决权限不够的问题。

设置执行的用户为root用户

环境变量 :HADOOP_USER_NAME

@Test
public void test3() throws Exception{
	System.setProperty("HADOOP_USER_NAME", "root");
		
	//指定NameNode地址
	Configuration conf = new Configuration();
	conf.set("fs.defaultFS", "hdfs://192.168.157.111:9000");
		
	//创建一个HDFS的客户端 DistributedFileSystem
	FileSystem client = FileSystem.get(conf);
		
	//创建目录
	client.mkdirs(new Path("/folder1"));
		
	//关闭客户端
	client.close();
}

使用Java的-D参数来设置环境变量

@Test
public void test2() throws Exception{
	//指定NameNode地址
	Configuration conf = new Configuration();
	conf.set("fs.defaultFS", "hdfs://192.168.157.111:9000");
		
	//创建一个HDFS的客户端 DistributedFileSystem
	FileSystem client = FileSystem.get(conf);
		
	//创建目录
	client.mkdirs(new Path("/folder1"));
		
	//关闭客户端
	client.close();
}

根据下面的步骤使用Java的-D参数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用chmod的命令赋予权限

在linux上, 执行 hdfs dfs -chmod 777 /folder2
将读写执行的权限都给到/folder2

@Test
public void test4() throws Exception{
	//指定NameNode地址
	Configuration conf = new Configuration();
	conf.set("fs.defaultFS", "hdfs://192.168.157.111:9000");
		
	//创建一个HDFS的客户端 DistributedFileSystem
	FileSystem client = FileSystem.get(conf);
	
	//创建目录
	client.mkdirs(new Path("/folder2/folder3"));
		
	//关闭客户端
	client.close();
}

修改参数配置

先停止HDFS
在这里插入图片描述
进入HADOOP_HOME/etc/hadoop路径,编辑hdfs-site.xml文件

在这里插入图片描述

<property>
		<name>dfs.permissions</name>
		<value>false</value>
</property>

在这里插入图片描述

保存后再启动HDFS,但注意在启动后,等待一段时间在去进行操作,因为HDFS启动的时候有一段时间是安全模式,所以在安全模式下是操作不了HDFS的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/777860.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Meta牵手Microsoft推出下一代Llama 2

官方消息 1、今天&#xff0c;我们将介绍 Llama 2 的可用性&#xff0c;这是我们的下一代开源大型语言模型。 2、Llama 2免费用于研究和商业用途。 3、Microsoft和 Meta 正在扩大他们的长期合作伙伴关系&#xff0c;Microsoft 是 Llama 2 的首选合作伙伴。 4、在技术、学术…

[SQL系列] 从头开始学PostgreSQL 自增 权限和时间

[SQL系列] 从头开始学PostgreSQL 事务 锁 子查询_Edward.W的博客-CSDN博客https://blog.csdn.net/u013379032/article/details/131841058上一篇介绍了事务&#xff0c;锁&#xff0c;子查询 事务有点像是原子操作&#xff0c;需要有完整性&#xff0c;要么全都完成了&#xff…

【目标跟踪】2、FairMOT | 平衡多目标跟踪中的目标检测和 Re-ID 任务 | IJCV2021

文章目录 一、背景二、方法2.1 Backbone2.2 检测分支2.3 Re-ID 分支2.4 训练 FairMOT2.5 Online Inference 三、效果3.1 数据集3.2 实现细节3.3 消融实验3.4 最终效果 论文&#xff1a;FairMOT: On the Fairness of Detection and Re-Identification in Multiple Object Tracki…

基于大模型的Text2SQL微调的实战教程

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

(转载)基于 BP_Adaboost 的强分类器设计(matlab实现)

本博客的完整代码获取&#xff1a; https://www.mathworks.com/academia/books/book106283.html 1案例背景 1.1 BP_Adaboost模型 Adaboost算法的思想是合并多个“弱”分类器的输出以产生有效分类。其主要步骤为:首先给出弱学习算法和样本空间(x,y),从样本空间中找出m组训练数…

Postman传递对象参数(包含有集合对象)

postman通常需要传递各式各样的参数&#xff0c;本文主要介绍了Postman传递对象参数(包含有集合对象)&#xff0c;具有一定的参考价值&#xff0c;感兴趣的小伙伴们可以参考一下 项目场景&#xff1a; postman通常需要传递各式各样的参数&#xff0c;这样的话&#xff0c;进行…

自然语言处理与词嵌入

1、词表特征 前面介绍过表征单词的方式是首先建立一个较大的词汇表&#xff08;例如10000&#xff09;&#xff0c;然后使用one-hot的方式对每个单词进行编码。例如单词Man&#xff0c;Woman&#xff0c;King&#xff0c;Queen&#xff0c;Apple&#xff0c;Orange分别出现在词…

Docker数据管理和网络通信 dockerfile

Docker数据管理和网络通信 dockerfile 一&#xff1a;Docker 的数据管理1&#xff0e;数据卷2&#xff0e;数据卷容器 二&#xff1a;端口映射三&#xff1a;容器互联&#xff08;使用centos镜像&#xff09;四&#xff1a;Docker 镜像的创建1&#xff0e;基于现有镜像创建2&am…

C++入门先填坑

C是在C的基础之上&#xff0c;容纳进去了面向对象编程思想&#xff0c;并增加了许多有用的库&#xff0c;以及编程范式等。熟悉C语言之后&#xff0c;对C学习也有一定的帮助。 C入门先填坑系列主要内容会围绕以下方面 补充C语言语法的不足&#xff0c;以及C是如何对C语言设计不…

servlet Filter与spring的OncePerRequestFilter

servlet 规范 javax.servlet Filter 任何的servlet容器都要实现的&#xff0c;例如tomcat、undertow、jetty等等。类似于jdbc规范&#xff0c;制定好了一个约束&#xff0c;各家数据库厂商根据规范开发对应的驱动来实现访问自己的数据库。 spring 对于Filter的自定义实现 所…

NLP(六十)Baichuan-13B-Chat模型使用体验

2023年7月11日&#xff0c;百川智能正式发布参数量130亿的通用大语言模型Baichuan-13B-Base、对话模型Baichuan-13B-Chat及其INT4/INT8两个量化版本。   本文将介绍大模型BaiChuan-13B-Chat的使用体验&#xff0c;其HuggingFace网址为&#xff1a;https://huggingface.co/bai…

【C语言day02】

转义字符 \\ 表示字符\&#xff0c;\123表示字符{&#xff0c;\t表示制表符&#xff0c;这些都是一个字符宏只是替换 替换后NUM的样子是(211)*21/2常量指针与指针常量 const和* 来区别&#xff0c;如果是const * 这样的顺序就是常量指针&#xff0c;所以说他的本质是指针&am…

uni-app:请求后端数据uni.request

完整代码&#xff1a; onLoad() {uni.request({url: getApp().globalData.position Produce/select_employee,data: {username: getApp().globalData.username,},method: POST,dataType: json,success: res > {this.employee_name res.data.info.employee_name;// consol…

uniapp 之 微信小程序、支付宝小程序 对于自定义导航栏的不同

目录 前言 微信小程序 代码 支付宝小程序 首页配置文件 二级菜单页面 配置 总结 不同 相同 前言 小程序都是 uni-app 写的 不是原生 微信小程序 代码 pages.json文件中配置 重点&#xff1a; "navigationStyle": "custom", // 导航栏样式…

安卓开发日记问题记录(隐藏标题栏中的应用名称)

当我们设置了显示标题栏&#xff0c;应用名也会显示出来&#xff0c;这对设置标题栏内容很不方便 可以在activity里的onCreate部分设置这句代码隐藏APP名字 getSupportActionBar().setDisplayShowTitleEnabled(false);或者改变它 getSupportActionBar().setTitle("new …

疲劳驾驶检测和识别1: 疲劳驾驶检测和识别数据集(含下载链接)

疲劳驾驶检测和识别1&#xff1a; 疲劳驾驶检测和识别数据集(含下载链接) 目录 疲劳驾驶检测和识别1&#xff1a; 疲劳驾驶检测和识别数据集(含下载链接) 1. 前言 2. 疲劳驾驶类别说明 3. 疲劳驾驶检测数据集&#xff1a; &#xff08;1&#xff09;Drowsy-Driving-Det1 …

hadoop安全保护机制(kerberos + ldap)

信息安全理论&#xff1a; CIA模型&#xff1a;机密性、完整性和可用性 CIA模型能够帮助建议一些信息安全原则&#xff0c;但该模型并不是一个需要严格遵守的规则 hadoop平台可能设计多个CIA模型组件&#xff0c;也kennel一个也不涉及 机密性&#xff1a; 信息只应该被期望的…

高压放大器的增益和偏压是什么意思

高压放大器是一种广泛应用的电子元器件&#xff0c;主要用于放大高压信号和驱动负载等方面。在实际应用中&#xff0c;了解高压放大器的增益和偏压是非常重要的&#xff0c;下面安泰电子将详细介绍它们的意义和作用。 高压放大器的增益 增益是指放大器输入信号与输出信号之间的…

iClient3D for CesiumWebGL入门之使用vscode以服务方式运行调试

作者&#xff1a;超图研究院技术支持中心-于丁 iClient3D for Cesium&WebGL入门之使用vscode以服务方式运行调试 相信大家第一次使用SuperMap iClient3D for Cesium或SuperMap iClient3D for WebGL的时候&#xff0c;都遇到过和我一样的事情&#xff1a; 在文件夹中直接打…

二极管钳位电路的原理与实际应用

写在前面 本文参考了什么是二极管钳位的作用及原理&#xff1f; - 知乎 针对一些文章讲述错误的地方进行了更正&#xff0c;在讲述不清楚的地方进行了详细的解释&#xff0c;还请各位两篇文章结合而看&#xff0c;效果更佳。 钳位电路说明 1.我们都知道二极管具有单向导电性&a…