辛辛苦苦学两年 ,一举回到解放前!!!
大数据开始学真的头疼 关键是linux你玩的不6 唉难受
hadoop 配置参见博客 http://dblab.xmu.edu.cn/blog/install-hadoop/ 权威的东西
接下来是进行HDFS下读写文件
说一下自己遇到的问题
一直说拒接链接,一直以为是自己linux没有权限.....后来发现自己的hadoop的服务没启动 如果遇到此类问题 希望大家先看看hadoop有问题没
关于hadoop、没启动参见参见博客 http://dblab.xmu.edu.cn/blog/install-hadoop/
- # 针对 DataNode 没法启动的解决方法
- ./sbin/stop-dfs.sh # 关闭
- rm -r ./tmp # 删除 tmp 文件,注意这会删除 HDFS 中原有的所有数据
- ./bin/hdfs namenode -format # 重新格式化 NameNode
- ./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/权威的东西