文档章节

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

ok绷了绷
 ok绷了绷
发布于 2017/06/01 15:06
字数 466
阅读 22
收藏 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绷了绷
粉丝 4
博文 125
码字总数 57978
作品 0
海淀
私信 提问
大数据学习笔记-(二)启动集群&配置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
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
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
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
0
【Hadoop】- Hadoop1.x 伪分布式环境搭建

Hadoop体系的主要组件:HDFS/MapReduce HDFS: Hadoop Distribution File System NameNode、SecondNameNode:名称节点 作用:维护Hadoop中存储数据块的相关信息,例如记录hadoop集群中某个数...

ZeroneLove
02/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

EasyExcel

<!-- alibaba EasyExcel escel导入导出 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>1.0.0-RELEASE</version> </dependency>......

少年已不再年少
33分钟前
2
0
解决:warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

代码 static int CheckOneReg(uint8_t busNo, char *title, int32_t addr, uint32_t *val, BOOL isPrintfNL, ErrMsg_t const *pMsg)res |= CheckOneReg(busNo,"fwVer:", HALREG_FW_VER, ......

SamXIAO
33分钟前
1
0
jenkins搭建全流程

安装环境   操作系统:linux   软件:jdk 8   软件:tomcat(apache-tomcat-7.0.90) 软件:jenkins 软件:maven 软件:git 1.1安装步骤 1.1.1安装jdk 由于Jenkins是基于Java开发的,安...

shzwork
40分钟前
1
0
Java的战争

本文来自微信公众号: 金捷幡(ID:jin-jiefan) ,作者:金捷幡,封面:拉里·埃里森(东方IC) 2019年5月,彻底撕破脸的特朗普掀起对华为的战争,谷歌被迫吊销了华为的Android授权。开源软...

Java领航员
今天
9
0
超详细的LM3414MRX/NOPB规格参数介绍就在这里

超详细的LM3414MRX/NOPB规格参数介绍就在这里 描述 LM3414和LM3414MRX/NOPB是具有1-A 60 W(1)共阳极功能的恒流降压LED驱动器。它们适用于驱动单串3-W HBLED,效率高达96%。它们可接受4.5...

不能吃肉的仙女
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部