IDEA开发hadoop

  • 新建一个项目文件
  • 编写pom.xml文件
  • 编写主函数
  • 启动集群
  • 新建日志配置文件
  • 上传文件

新建一个项目文件


File- -> new- -> project
注意:java的jdk版本要大于等于1.8
jdk1.8 下载地址: https://www.jb51.net/softs/325375.html


选择Maven–> next

name名字取为testHDFS
Location:选择文件保存的位置
Artifactid:组织名字为com.qf


编写pom.xml文件

写pom.xml一定要连接网络! 写完后点击文件的右上角按钮更新下文件


<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.qf</groupId><artifactId>testHDFS</artifactId><version>1.0-SNAPSHOT</version><!--hadoop客户端依赖,该依赖包含hdfs的相关依赖--><dependencies><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-client</artifactId><version>2.6.1</version></dependency><!--单元测试依赖--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency><dependency><groupId>commons-httpclient</groupId><artifactId>commons-httpclient</artifactId><version>3.1</version></dependency></dependencies><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties>
</project>

编写主函数

在scr下面的main文件夹里新建一个OperateHDFS.java

文件内容:

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;
import org.junit.Test;import java.io.IOException;public class OperateHDFS {@Test/*写入数据到HDFS文件*/public void writeToHDFS() throws IOException, IOException {Configuration conf = new Configuration();//这条命令是书上没有的,所以要添加这条命令才能运行System.setProperty("HADOOP_USER_NAME", "root");conf.set("fs.defaultFS", "hdfs://192.168.154.10:9000");FileSystem fs = FileSystem.get(conf);Path p = new Path("/1.txt");FSDataOutputStream fos = fs.create(p, true, 1024);fos.write("hollowed".getBytes());fos.close();}@Test/*读取HDFS文件*/public void readHDFSFile() throws IOException {Configuration conf = new Configuration();conf.set("fs.defaultFS", "hdfs://192.168.154.10:9000");FileSystem fs = FileSystem.get(conf);Path p = new Path("/2.txt");FSDataInputStream fis = fs.open(p);byte[] buf = new byte[1024];int len = 0;while ((len = fis.read(buf)) != -1) {System.out.println(new String(buf, 0, len));}}@Test/*从windows上传文件到HDFS*/public void putFile() throws IOException {Configuration conf = new Configuration();System.setProperty("HADOOP_USER_NAME", "root");conf.set("fs.defaultFS", "hdfs://192.168.154.10:9000");FileSystem fs = FileSystem.get(conf);Path p = new Path("/");Path p2 = new Path("file:///D:/2.txt");fs.copyFromLocalFile(p2, p);fs.close();}
}

上面的地址需要改成自己虚拟机的IP地址


启动集群

启动Hadoop,使用命令start-all.sh
查看集群里有没有/1.txt和/2.txt,如果有的话,查看里面有没有信息

hdfs dfs -cat /1.txt

有内容就要把他删了给他一个空值, 在添加一个文件在根目录

hdfs dfs -rm -r /1.txt

如果没得,添加一个文件进去,如果在Hadoop中有/2.txt文件,要删除.
前面一定要把数据全部清除,特别是/1.txt里面的数据为空

新建日志配置文件

在resources文件夹里新建一个log4j.properties文件

### 设置日志级别及日志存储器 ###
#log4j.rootLogger=DEBUG, Console
### 设置日志级别及日志存储器 ###
log4j.rootLogger=info,consolePrint,errorFile,logFile
#log4j.rootLogger=DEBUG,consolePrint,errorFile,logFile,Console
###  输出到控制台 ###
log4j.appender.consolePrint.Encoding=UTF-8
log4j.appender.consolePrint=org.apache.log4j.ConsoleAppender
log4j.appender.consolePrint.layout=org.apache.log4j.PatternLayout
log4j.appender.consolePrint.layout.ConversionPattern=%d %p [%c] - %m%n
### 输出到日志文件 ###
log4j.appender.logFile.Encoding=UTF-8
log4j.appender.logFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logFile.File=D:/RUN_Data/log/journal_ok.log
log4j.appender.logFile.Append=true
log4j.appender.logFile.Threshold=info
log4j.appender.logFile.layout=org.apache.log4j.PatternLayout
log4j.appender.logFile.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
### 保存异常信息到单独文件 ###
log4j.appender.errorFile.Encoding=UTF-8
log4j.appender.errorFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.errorFile.File=D:/RUN_Data/log/journal_error.log
log4j.appender.errorFile.Append=true
log4j.appender.errorFile.Threshold=ERROR
log4j.appender.errorFile.layout=org.apache.log4j.PatternLayout
log4j.appender.errorFile.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss}  [ %t\:%r ] - [ %p ]  %m%n
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
#log4j.logger.com.journal.dao=DEBUG,TRACE
log4j.logger.com.journal.dao.IFollowDao=DEBUG

上传文件

在自己的电脑D盘创建一个文本文档2.txt,在里面添加你想写的内容然后执行(点击旁边的绿色运行按钮)

在执行 OperateHDFS


当出现文件的内容时就成功了

IDEA开发hadoop相关推荐

  1. 大数据开发hadoop核心的分布式消息系统:Apache Kafka 你知道吗

    简介 Apache Kafka是分布式发布-订阅消息系统.它最初由LinkedIn公司开发,之后成为Apache项目的一部分.Kafka是一种快速.可扩展的.设计内在就是分布式的,分区的和可复制的提交 ...

  2. Hadoop开发 Hadoop视频教程 段海涛老师Hadoop完全攻克Hadoop视频教程 Hadoop开发

    最新在学习hadoop .storm大数据相关技术,发现网上hadoop .storm 相关学习视频少之又少,更可恶的是不少机构使用段海涛老师Hadoop视频进行商业买卖,气愤至急,我这里整理了传智播 ...

  3. 记录docker开发hadoop,解决bug Datanode denied communication with namenode because hostname cannot be

    使用docker快速开发了一个单节点的hadoop 首先去docker hub上搜索hadoop 使用hadoop3.1.3的TAG即可,分别拉去datanode和namenode的镜像到本地 官方提 ...

  4. Java+大数据开发——Hadoop集群环境搭建(二)

    1. MAPREDUCE使用 mapreduce是hadoop中的分布式运算编程框架,只要按照其编程规范,只需要编写少量的业务逻辑代码即可实现一个强大的海量数据并发处理程序 2. Demo开发--wo ...

  5. Windows平台下安装Eclipse插件,开发Hadoop应用

    安装插件 将hadoop安装包hadoop\contrib\eclipse-plugin\hadoop-0.20.2-eclipse-plugin.jar拷贝到eclipse的插件目录plugins下 ...

  6. 用python 写hadoop 需要怎么配置环境 python开发hadoop教程

    hadoop和python能搭配在一起做一个项目么 Hadoop 的HDFS做,数据处面可以用python的hadoop框架做,用Mrjob .pydoop .Luigi等 (还有些其架如Dumbo. ...

  7. win7系统开发hadoop时遇到的问题总结

    eclipse访问不了hadoop集群文件 org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security ...

  8. 用C++开发Hadoop应用程序

    最近做项目,用到了Hadoop架构,本身对C++比较熟悉,虽然接触过JAVA(3年前嵌入式..).决定用C++开发相关,以下为转载不错文章. ----------------------------- ...

  9. 大数据项目开发hadoop集群搭建 python爬取前程无忧招聘网信息以及进行数据分析和数据可视化

    大数据项目开发实训报告 一.Hadoop环境搭建 1: jdk的安装 1):在linux系统下的opt目录下创建software 和 module 两个目录 2):利用filezilla工具将 jdk ...

  10. 使用Maven开发Hadoop

    2019独角兽企业重金招聘Python工程师标准>>> 环境为Hadoop2.5.2(如何搭建环境教程),在pom.xml中加入以下配置文件. <dependency>& ...

最新文章

  1. 腾讯AI足球队夺冠Kaggle竞赛,绝悟AI强化学习框架通用性凸显
  2. java中的equals方法
  3. CSDN博客转载攻略
  4. ds18b20温度转换指令_DS18B20温度传感器(附代码并浅谈与或运算)
  5. altium 去掉部分铺铜_干货|HFSS器件导入Altium进行PCB制作教程!!!
  6. 斑能不能彻底去掉_海鲜不能和什么一起吃
  7. git revert与git reset
  8. java 单例模式_谈谈Java中的单例模式
  9. magento -- 如何在magento中进行产品的批量上传
  10. Windows操作系统中“源路径太长”问题的解决办法
  11. dynamips tutorial
  12. Sobel边缘检测 - 梯度算子介绍
  13. Java实验输出希腊字母表
  14. 微信公众号迁移、公证办理流程
  15. Android关于Activity屏蔽/拦截Home键
  16. Java.MapReduce处理全国各省市疫情数据,上传Hadoop平台处理后的数据
  17. kaggle竞赛之Hungry Geese比赛
  18. Python str find方法
  19. SAP MM ME56不能为审批后的PR分配货源? 2
  20. 如何计算两个坐标点的方位角

热门文章

  1. IplImage结构及与其相关的读写函数
  2. js各种for循环及性能比较
  3. libcaffe.so: undefined reference to `cv.read
  4. Keil5 解决编译通过显示红叉
  5. SSH安全审计Tool - ssh-audit
  6. arduino的串口缓冲区_C#无法从串口Arduino读取完整缓冲区
  7. 产业研发用地_金阊新城控制规划调整 新增学校 住宅及产业研发用地
  8. 【安装记录】如何在官网找到老版本的jdk,如 jdk-8u271-windows-x64
  9. d盾web查杀 linux,D盾Web查杀
  10. 大型分布式网站术语分析