千家信息网

java写hdfs程序

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,1、hadoop默认临时数据文件是存储于Unix的tmp目录下(cd /tmp 包含hadoop-root等文件),如果不进行修改,linux系统重启后hadoop有可能出现不正常现象;故需要修改ha
千家信息网最后更新 2026年11月02日java写hdfs程序

1、hadoop默认临时数据文件是存储于Unix的tmp目录下(cd /tmp 包含hadoop-root等文件),如果不进行修改,linux系统重启后hadoop有可能出现不正常现象;故需要修改hadoop的临时文件存放目录
2、vim core-site.xml 配置如下,然后重启hadoop集群,不要对namenode重新进行格式化操作
修改datanode /var/hadoop/dfs/data/current 目录下VERSION文件的clusterid与namenode一致;然后启动集群正常

hadoop.tmp.dir
/var/hadoop

在namenode执行格式化操作后,会导致namenode重新生成clusterid,而datanode的clusterID值没变,
namenode与datanode clusterid不一致导致datanode启动异常;需要手动改成与namenode一致
3、测试时,可以关闭权限检查(否则没有权限访问),在namenode节点添加如下配置
vim hdfs-site.xml

dfs.permissions.enabled
false

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.skcc
wordcount
0.0.1-SNAPSHOT
wordcount
count the word

    UTF-8    2.7.3            junit        junit        4.12                org.apache.hadoop        hadoop-client        ${hadoop.version}                org.apache.hadoop        hadoop-common        ${hadoop.version}                org.apache.hadoop        hadoop-hdfs        ${hadoop.version}    

package com.skcc.hadoop;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.text.NumberFormat;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;

public class HelloHDFS {

public HelloHDFS() {    // TODO Auto-generated constructor stub}public static FileSystem getFileSystemInstance() {    Configuration conf = new Configuration();    conf.set("fs.defaultFS", "hdfs://172.26.19.40:9000");    FileSystem fileSystem = null;    try {        fileSystem = FileSystem.get(conf);    } catch (IOException e) {        // TODO Auto-generated catch block        e.printStackTrace();    }    return fileSystem;}public static void getFileFromHDFS() throws Exception {    //URL 默认处理http协议, FsUrlStreamHandlerFactory 处理hdfs协议    URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());    URL url=new URL("hdfs://172.26.19.40:9000/10803060234.txt");    InputStream inputStream= url.openStream();    IOUtils.copyBytes(inputStream, System.out, 4096,true);}public static void getFileFromBaiDu() throws IOException {    URL url=new URL("http://skynet.skhynix-cq.com.cn/plusWare/Main.aspx");    InputStream inputStream= url.openStream();    IOUtils.copyBytes(inputStream, System.out, 4096,true);}public static void testHadoop() throws Exception {    FileSystem fileSystem = getFileSystemInstance();    Boolean success = fileSystem.mkdirs(new Path("/skcc"));    System.out.println("mkdirs is " + success);    success = fileSystem.exists(new Path("/10803060234.txt"));    System.out.println("file exists is " + success);    success = fileSystem.delete(new Path("/test2.data"),true);    System.out.println("delete dirs is " + success);    success = fileSystem.exists(new Path("/skcc"));    System.out.println("dirs exists is "+ success);}public static void uploadFileToHDFS() throws Exception {    FileSystem fileSystem = getFileSystemInstance();    String filename = "/test2.data";    // overwrite ==true    FSDataOutputStream outputStream = fileSystem.create(new Path(filename), true);    FileInputStream fis = new FileInputStream("D:\\2018\\u001.zip");

// IOUtils.copyBytes(fis, outputStream, 4096, true);

    long totalLen = fis.getChannel().size();    long tmpSize = 0;    double readPercent = 0;    NumberFormat numberFormat = NumberFormat.getInstance();    numberFormat.setMaximumFractionDigits(0);    System.out.println("totalLen : " + totalLen + " available : " + fis.available());    byte[] buf = new byte[4096];    int len = fis.read(buf);    while (len != -1) {        tmpSize = tmpSize + len;        String result = numberFormat.format((float)tmpSize / (float)totalLen * 100 );        outputStream.write(buf,0,len);        System.out.println("Upload Percent : " + result + "%");        len = fis.read(buf);    }}

}

文件 一致 目录 权限 格式 集群 处理 配置 手动 数据 现象 系统 节点 UTF-8 存储 检查 测试 生成 程序 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手冲咖啡和咖啡机区别 小米移动互联网科技园 互联网科技名片 重庆互联网络科技 齐家互联网科技 华中科技大学互联网 无线互联网科技 甘肃拓世互联网科技有限公司 科技大学互联网专业好不好 博兴的互联网电子科技公司 农村开互联网科技讲堂 互联网时代科技改变生活 互联网软件和科技 河南住房之家互联网科技 卓翼科技产业互联网合作 郑州欣桑互联网科技有限公司 上海万顺科技互联网有限公司招聘 互联网科技对化妆品行业 华人运通互联网科技公司 恒生科技互联网指数十大成分股 互联网科技公司排名 华服互联网科技靠谱吗 撒么互联网科技公司 汉立互联网科技有限公司联系电话 中国互联网有什么科技含量 开一家科技互联网公司需要多少钱 链环科技传统企业怎么转型互联网 中国互联网有什么科技 银行科技岗属于互联网吗 10位科技互联网大佬
0