hdfs-client 客户端连接

1.首先虚拟机启动hadoop集群分布式系统或者伪分布式

2.将hadoop安装压缩到本地目录

切记:本地目录不能带中文名字会出错

3.配置Hadoop_Home环境变量在高级环境内设置

 

 4.在idle创建maven项目

在pom.xml中导入相关依赖包:hadoop_hdfs,hadoop_common,hadoop_client

 在maven resporitry官网上找到相关依赖包

也可以导入相关日志管理

控制日志级别依赖

 在resources中创建log4j.properties文件控制日志数量

log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n

4.验证是否连接成功

在项目中创建Java

package hdfs;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.junit.Test;

import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

public class client {
    @Test
    public void testMkdirs() throws IOException, URISyntaxException, InterruptedException {
        //获取Hadoop集群的configuraion
        Configuration conf = new Configuration();
        //获取集群文件对象
        FileSystem fs = FileSystem.get(new URI("hdfs://hadoop102:8020"), conf, "root");
        //创建一个测试目录
        fs.mkdirs(new Path("/api_test1"));
        //关闭文件
        fs.close();
    }
}

 在web_url中验证是否创建

 如遇到此类问题出现:

用户权限出现问题 

解决方案:

给hdfs目录所有权限可读可写

hadoop fs -chmod -R 777/

  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Hadoophdfs-site.xml文件用于配置HDFS相关的属性,以下是一些常见的配置项: 1. dfs.replication:指定数据块的副本数量,默认值为3。 2. dfs.namenode.name.dir:指定namenode的元数据存储路径,可以指定多个路径,用逗号分隔。 3. dfs.datanode.data.dir:指定datanode的数据存储路径,可以指定多个路径,用逗号分隔。 4. dfs.blocksize:指定数据块的大小,默认值为128MB。 5. dfs.permissions.enabled:指定是否启用权限检查,默认值为true。 6. dfs.webhdfs.enabled:指定是否启用WebHDFS,默认值为false。 7. dfs.client.use.datanode.hostname:指定客户端是否使用datanode的hostname连接datanode,默认值为false。 下面是一个hdfs-site.xml文件的示例配置: ``` <configuration> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/usr/local/hadoop/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/usr/local/hadoop/hdfs/datanode</value> </property> <property> <name>dfs.blocksize</name> <value>128MB</value> </property> <property> <name>dfs.permissions.enabled</name> <value>true</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> <property> <name>dfs.client.use.datanode.hostname</name> <value>true</value> </property> </configuration> ``` 配置完成后,将该文件保存在Hadoop的conf目录下即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值