hadoop 配置问题以及HDFS下如何读写文件

辛辛苦苦学两年 ,一举回到解放前!!!

大数据开始学真的头疼 关键是linux你玩的不6 唉难受

hadoop 配置参见博客 http://dblab.xmu.edu.cn/blog/install-hadoop/  权威的东西

接下来是进行HDFS下读写文件

说一下自己遇到的问题

一直说拒接链接,一直以为是自己linux没有权限.....后来发现自己的hadoop的服务没启动 如果遇到此类问题 希望大家先看看hadoop有问题没

关于hadoop、没启动参见参见博客 http://dblab.xmu.edu.cn/blog/install-hadoop/  

  1. # 针对 DataNode 没法启动的解决方法
  2. ./sbin/stop-dfs.sh # 关闭
  3. rm -r ./tmp # 删除 tmp 文件,注意这会删除 HDFS 中原有的所有数据
  4. ./bin/hdfs namenode -format # 重新格式化 NameNode
  5. ./sbin/start-dfs.sh # 重启

下面是操作代码

package com;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

public class NanShou {

	public static void main(String[] args) throws IOException {
		//HDFS连接
		Configuration conf=new Configuration();
		FileSystem fs = FileSystem.get(conf);
		//要求1
		fs.mkdirs(new Path("/usr/local/hadoop/H"));//建立文件夹
		Path inFile1 =new Path("/usr/local/hadoop/H/hdfstest1.txt");//创建文本hdfstest1.txt
		FSDataOutputStream outputStream1=fs.create(inFile1);
		outputStream1.writeUTF("信1605-1  20163678 HDFS课堂测试");//输入
		outputStream1.flush();
	   outputStream1.close();
	    //要求2
		Path inFile2=new Path("/usr/local/hadoop/l/hdfstest2.txt");//创建文本hdfstest2.txt
		FSDataOutputStream outputStream2=fs.create(inFile2);
		FSDataInputStream inputStream1=fs.open(inFile1);//打开hdfstest1.txt
		outputStream2.writeUTF(inputStream1.readUTF());//读取hdfstest1.txt内容并写入hdfstest2.txt
		outputStream2.flush();
	   outputStream2.close();
	   inputStream1.close();
	    //要求3
		FSDataInputStream inputStream2=fs.open(inFile2);//打开hdfstest2.txt
      System.out.println(inputStream2.readUTF());//输出//打开hdfstest2.txt内容
      inputStream2.close();
	}
	
}

  这个要导包导入什么bao请查看博客

http://dblab.xmu.edu.cn/blog/290-2/权威的东西

原文地址:https://www.cnblogs.com/xuexidememeda/p/9733385.html