文档章节

【Hadoop】使用 Maven 搭建 hadoop 开发环境

ok嘣
 ok嘣
发布于 2017/06/01 15:06
字数 466
阅读 13
收藏 0
点赞 0
评论 0
  1. 在 pom.xml 文件里添加hadoop的依赖包 hadoop-common, hadoop-client, hadoop-hdfs ,内容如下:
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"  
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
    <modelVersion>4.0.0</modelVersion>  
    <groupId>my.hadoopstudy</groupId>  
    <artifactId>hadoopstudy</artifactId>  
    <packaging>jar</packaging>  
    <version>1.0-SNAPSHOT</version>  
    <name>hadoopstudy</name>  
    <url>http://maven.apache.org</url>  
   
    <dependencies>  
        <dependency>  
            <groupId>org.apache.hadoop</groupId>  
            <artifactId>hadoop-common</artifactId>  
            <version>2.5.1</version>  
        </dependency>  
        <dependency>  
            <groupId>org.apache.hadoop</groupId>  
            <artifactId>hadoop-hdfs</artifactId>  
            <version>2.5.1</version>  
        </dependency>  
        <dependency>  
            <groupId>org.apache.hadoop</groupId>  
            <artifactId>hadoop-client</artifactId>  
            <version>2.5.1</version>  
        </dependency>    
    </dependencies>  
</project>  

问题一: 在运行的过程中,原项目采用 log4j2 ,而 本hadoop-2.5.1 采用的是log4j ,更改 pom.xml 将log4j 冲突依赖排除

		<!-- hadoop 20170601 -->
		<dependency>
	<groupId>org.apache.hadoop</groupId>
	<artifactId>hadoop-common</artifactId>
	<version>2.5.1</version>
	<exclusions>
		<exclusion>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
		</exclusion>
		<!-- <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> 
			</exclusion> -->
	</exclusions>

</dependency>
	<dependency>
		<groupId>org.apache.hadoop</groupId>
		<artifactId>hadoop-hdfs</artifactId>
		<version>2.5.1</version>
		<exclusions>
			<exclusion>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-log4j12</artifactId>
			</exclusion>

			<!-- <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> 
				</exclusion> -->
		</exclusions>

	</dependency>
	<dependency>
		<groupId>org.apache.hadoop</groupId>
		<artifactId>hadoop-client</artifactId>
		<version>2.5.1</version>
		<exclusions>
			<exclusion>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-log4j12</artifactId>
			</exclusion>
			<!-- <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> 
				</exclusion> -->
		</exclusions>

	</dependency>
	<!-- end -->

问题二:

因为本项目是在windows 10 环境下去开发 CentOS6.5 环境下的hadoop 会出现错误:

Could not locate executable null\bin\winutils.exe in the Hadoop binaries

原因是没有配置hadoop 的环境变量: 添加

HADOOP_HOME=E:/hadoop/hadoop

在 path 中添加

E:/hadoop/hadoop/bin

同时下载 hadoop.dll 和 winutils.exe 放到 bin 文件夹下

读取 hadoop 下的内容

package my.hadoopstudy.dfs;  
   
import org.apache.hadoop.conf.Configuration;  
import org.apache.hadoop.fs.FSDataOutputStream;  
import org.apache.hadoop.fs.FileStatus;  
import org.apache.hadoop.fs.FileSystem;  
import org.apache.hadoop.fs.Path;  
import org.apache.hadoop.io.IOUtils;  
   
import java.io.InputStream;  
import java.net.URI;  
   
public class Test {  
    public static void main(String[] args) throws Exception {  
        String uri = "hdfs://9.111.254.189:9000/";  
        Configuration config = new Configuration();  
        FileSystem fs = FileSystem.get(URI.create(uri), config);  
   
        // 列出hdfs上/user/fkong/目录下的所有文件和目录  
        FileStatus[] statuses = fs.listStatus(new Path("/user/fkong"));  
        for (FileStatus status : statuses) {  
            System.out.println(status);  
        }  
   
        // 在hdfs的/user/fkong目录下创建一个文件,并写入一行文本  
        FSDataOutputStream os = fs.create(new Path("/user/fkong/test.log"));  
        os.write("Hello World!".getBytes());  
        os.flush();  
        os.close();  
   
        // 显示在hdfs的/user/fkong下指定文件的内容  
        InputStream is = fs.open(new Path("/user/fkong/test.log"));  
        IOUtils.copyBytes(is, System.out, 1024, true);  
    }  
}  

© 著作权归作者所有

共有 人打赏支持
ok嘣
粉丝 3
博文 115
码字总数 54790
作品 0
海淀
hadoop开发环境搭建

hadoop开发环境搭建: hadoop网站: http://hadoop.apache.org/ http://wiki.apache.org/hadoop/ 参考这篇文章编译:http://wiki.apache.org/hadoop/HowToContribute 开发环境:ubuntu 需要安......

活的自由 ⋅ 2011/10/19 ⋅ 1

大数据学习笔记-(二)启动集群&配置IDE环境

参考网站:http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/HdfsSnapshots.html 1.启动集群,格式化文件系统 bin/hdfs namenode -format 2.启动 sbin/start-dfs.sh ......

langyw98 ⋅ 2017/11/06 ⋅ 0

eclipse上搭建hadoop开发环境

一、概述 1.实验使用的Hadoop集群为伪分布式模式,eclipse相关配置已完成; 2.软件版本为hadoop-2.7.3.tar.gz、apache-maven-3.5.0.rar。 二、使用eclipse连接hadoop集群进行开发 1.在开发主...

一语成谶灬 ⋅ 2017/09/07 ⋅ 0

Mahout In Aciotn

Mahout In Aciotn 作者:Jack Zhang 来自开拓者部落 ,qq群:248087140,欢迎加入我们! 本文欢迎转载,转载请注明出处 http://my.oschina.net/u/1866370/blog/287907 i.Java和IDE(略) ii...

开拓者-2017 ⋅ 2014/07/09 ⋅ 0

【Hadoop】win7下通过intellij idea对hadoop2.7.3进行访问操作的实践

原创文章,转载请注明:http://blog.csdn.net/lsttoy/article/details/52419138 Oops, 你还可以直接github来download我文章中提到的所有资料,都是开源的:) https://github.com/lekko1988...

lsttoy ⋅ 2016/09/02 ⋅ 0

零基础学习hadoop到上手工作线路指导(编程篇)

问题导读: 1.hadoop编程需要哪些基础? 2.hadoop编程需要注意哪些问题? 3.如何创建mapreduce程序及其包含几部分? 4.如何远程连接eclipse,可能会遇到什么问题? 5.如何编译hadoop源码? ...

一枚Sir ⋅ 2014/08/07 ⋅ 0

Spark Eclipse 开发环境搭建

Spark Eclipse 开发环境搭建 1 安装Spark环境 + 首先下载与集群 Hadoop 版本对应的 Spark 编译好的版本,解压缩到指定位置,注意用户权限 + 进入解压缩之后的 SPARK_HOME 目录 + 配置 /etc/p...

clebeg ⋅ 2015/10/10 ⋅ 0

hadoop 开发环境搭建

hadoop 开发环境搭建 (ubuntu + idea ) @(hadoop笔记)[idea 开发环境] 基于ubuntu 和 idea 搭建 hadoop开发环境,其实是搭建MR的开发环境。这里简单说一下为什么采用idea,就因为一点,ide...

OttoWu ⋅ 2016/12/13 ⋅ 0

Spring Cloud搭建开发环境

1 开发环境搭建 工欲善其事,必先利其器。在讲述本书的技术内容前,先将开发环境搭建好,本书所涉及基础环境将在本章准备,包括Eclipse、Maven等。 笔者建议读者在查阅本书过程中,使用与本书...

Jokey2017 ⋅ 2017/11/13 ⋅ 0

大数据Hadoop需要了解哪些内容?

一、Hadoop环境搭建 1. Hadoop生态环境介绍 2. Hadoop云计算中的位置和关系 3. 国内外Hadoop应用案例介绍 4. Hadoop概念、版本、历史 5. Hadoop核心组成介绍及hdfs、mapreduce体系结构 6. H...

mo默瑶 ⋅ 05/05 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring Cloud构建微服务架构—创建“服务注册中心”

创建一个基础的Spring Boot工程,命名为eureka-server,并在pom.xml中引入需要的依赖内容: <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-par......

itcloud ⋅ 4分钟前 ⋅ 0

拖动

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>event</title> <style> #box { width: 100px; height: 100px; background-color: aquamarine; position: absolute; } </style......

fyliujj ⋅ 7分钟前 ⋅ 0

es6 polyfill array

polyfill之javascript函数的兼容写法——Array篇 1. Array.isArray(obj) if (!Array.isArray) { Array.isArray = function(arg) { return Object.prototype.toString.call(arg) === '[objec......

球球 ⋅ 9分钟前 ⋅ 0

kibana启动异常

检查一下:kibana.yml 每一对key:value中,冒号之后应有空格。

增删改查1 ⋅ 11分钟前 ⋅ 0

js修改img的src属性刷新图片时的图片缓存问题

问题:上传一张图片,通过js更新src属性刷新图片使其即时显示时, 当img的src当前的url与上次地址无变化时(只更改图片,名称不变,不同图片名称相同)图片不变化(仍显示原来的图片) 但通过...

HaierBrother ⋅ 11分钟前 ⋅ 0

Mysql

1.Jdbc Url 设置allowMultiQueries为true和false mysql的批量更新是要我们主动去设置的, 就是在数据库的连接url上设置一下,加上* &allowMultiQueries=true *即可。 参数名称 参数说明 缺省...

瑟青豆 ⋅ 14分钟前 ⋅ 0

mysql导出导入表结构与数据

当我们需要进行数据迁移时,mysql自带的mysqldump会是最好的方式。 1.导出某张表的结构和数据 首先,我们应当使用服务器,打开终端,连接到所需要导出的表所在的服务器上。执行命令: mysqld...

hengbao5 ⋅ 14分钟前 ⋅ 0

世界杯也走向“比拼”大数据的时代

《日本经济新闻》6月19日报道称,俄罗斯足球世界杯已于6月14日揭开战幕。作为第21次举办的足球世界杯,如何活用大数据有可能成为决定各支球队胜负的重要因素。从对阵球队的分析到战术建议,还...

加米谷大数据 ⋅ 15分钟前 ⋅ 0

金额转为千分制,金额转中文大写

金额转关为大写 js /** 数字金额大写转换(可以处理整数,小数,负数) */ function digitUppercase(n){ if(!n) reutrn "" let fraction = ['角', '分']; let digit = ['零', '壹', '贰', '叁', ...

YXMBetter ⋅ 18分钟前 ⋅ 0

开发利器JRebel部署SpringBoot项目

不要以为年纪轻轻就跌倒了人生谷底,未来还有更大的下降空间等着你。 idea下载和安装JRebel 激活JRebel 访问https://my.jrebel.com/ 使用facebook或twitter登录 勾选 Build project automati...

郑龙飞 ⋅ 23分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部