一、配置window环境
1、配置环境变量
HADOOP_HOME=
PATH=%HADOOP_HOME%\bin;%HADOOP_HOME%\sbin;
配置hadoop中的etc\hadoop相关文件
2、hadoop-env.cmd
set JAVA_HOME=D:\Programming\Jdk\jdk1_8_91
3、core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/C:/hadoop-2.8.0/work/tmp</value> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> </configuration>
4、hdfs.site.xml
<configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>localhost:9001</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/C:/hadoop-2.8.0/work/hdfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/C:/hadoop-2.8.0/work/hdfs/data</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> </configuration>
5、mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>localhost:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>localhost:19888</value> </property> </configuration>
6、yarn.site.xml
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>localhost:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>localhost:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>localhost:8035</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>localhost:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>localhost:8088</value> </property> </configuration>
7、slaves
localhost
8、namenode格式化
hdfs namenode -format
9、启动hadoop
start-all.cmd
10、测试hadoop启动成功
http://localhost:50070/
二、配置idea + maven +hadoop
1、在IDEA中创建maven工程,配置pom.xml
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <hadoop.version>2.7.1</hadoop.version> </properties> <dependencies> <!--test--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> <scope>test</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.6.4</version> </dependency> <!--hadoop--> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>${hadoop.version}</version> </dependency> </dependencies>
2、创建类
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.Mapper; import org.apache.hadoop.mapreduce.Reducer; import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import java.io.IOException; /** * Created by Quiet on 2017/6/8. */ public class OilTotal { public static class OilMapper extends Mapper<LongWritable, Text, Text, IntWritable> { @Override protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException { //油卡信息 String info = value.toString().split("\\|")[0]; context.write(new Text(info), new IntWritable(1)); } } public static class OilReducer extends Reducer<Text, IntWritable, Text, IntWritable> { @Override protected void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException { int sum = 0; for (IntWritable value : values) { sum += value.get(); } context.write(key, new IntWritable(sum)); } } public static void main(String[] args) throws Exception { Configuration conf = new Configuration(); //设置hdfs的通讯地址 Job job = Job.getInstance(conf); job.setJobName("oilJob"); job.setJarByClass(OilTotal.class); job.setMapperClass(OilMapper.class); job.setReducerClass(OilReducer.class); job.setMapOutputKeyClass(Text.class); job.setMapOutputValueClass(IntWritable.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); //设置传入文件和输出文件在hadoop服务器 String path = "hdfs://localhost:9000/bigdata/oil/"; FileInputFormat.addInputPath(job,new Path(path)); FileOutputFormat.setOutputPath(job,new Path(path+"result")); /* //设置传入文件和输出文件在本地 FileInputFormat.addInputPath(job,new Path(args[0])); FileOutputFormat.setOutputPath(job,new Path(args[1]));*/ System.exit(job.waitForCompletion(true) ? 0 : 1 ); } }
三、两种方式配置项目启动
1、配置hadoop服务器中文件的输入输出路径 ,传入文件须上传到hadoop服务器,输出结果也在服务器
String path = "hdfs://localhost:9000/bigdata/oil/"; FileInputFormat.addInputPath(job,new Path(path)); FileOutputFormat.setOutputPath(job,new Path(path+"result"));
2、配置本地文件的输入输出路径
文件上传和结果输出全自动放在本地
在项目中创建input文件夹,传入文件存入在此目录下,output目录程序启动时会自动创建,存放输出结果
程序中处理路径如下:
FileInputFormat.addInputPath(job,new Path(args[0])); FileOutputFormat.setOutputPath(job,new Path(args[1]));
四、启动项目
执行应用程序成功:
Map-Reduce Framework
Map input records=20
Map output records=20
Map output bytes=880
Map output materialized bytes=926
Input split bytes=116
Combine input records=0
Combine output records=0
Reduce input groups=10
Reduce shuffle bytes=926
Reduce input records=20
Reduce output records=10
Spilled Records=40
Shuffled Maps =1
Failed Shuffles=0
Merged Map outputs=1
GC time elapsed (ms)=0
五、常见问题
1、运行Hadoop2的WordCount.java代码时出现了这样错误,
log4j:WARNPleaseinitializethelog4jsystemproperly. log4j:WARNSeehttp://logging.apache.org/log4j/1.2/faq.html#noconfigformoreinfo. Exceptioninthread"main"java.lang.NullPointerExceptionatjava.lang.ProcessBuilder.start(UnknownSource)atorg.apache.hadoop.util.Shell.runCommand(Shell.java:482)atorg.apache.hadoop.util.Shell.run(Shell.java:455)atorg.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:715)atorg.apache.hadoop.util.Shell.execCommand(Shell.java:808)atorg.apache.hadoop.util.Shell.execCommand(Shell.java:791)at
分析:
下载Hadoop2以上版本时,在Hadoop2的bin目录下没有winutils.exe
将hadoopbin_for_hadoop2.7.1中的内容放入bin目录下,并将hadoop.dll放在C:\WINDOWS\SYSTEM32,将电脑重新启动,再交执行即可
2、输出路径中的目录文件已经存在
Exception in thread "main" org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory file:/E:/projectcty/IDEA/bigdata/output already exists
删除hadoop中的输出目录路径中的文件,程序执行时会自动创建
相关推荐
hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+...
hadoop学习笔记,分天学习,原创,亲测,放心使用,没问题。
在Windows 10环境下搭建Hadoop生态系统,包括JDK、MySQL、Hadoop、Scala、Hive和Spark等组件,是一项繁琐但重要的任务,这将为你提供一个基础的大数据处理平台。下面将详细介绍每个组件的安装与配置过程。 **1. JDK...
在安装Hadoop时,通常需要配置集群环境,包括主节点和从节点,并确保所有节点之间的网络通信畅通。 Spark是大数据处理的另一个关键组件,它支持批处理、交互式查询(通过Spark SQL)、实时流处理(通过Spark ...
在这个项目中,Spring可能用于配置和管理数据库连接、事务以及服务层组件。 3. **HBase**:HBase是一个非关系型数据库,基于Google的Bigtable设计,是Apache Hadoop生态系统的一部分。它提供高并发、低延迟的数据...
大数据企业实训项目:基于SpringMVC+Spring+HBase+Maven搭建的Hadoop分布式云盘系统。使用Hadoop HDFS作为文件存储系统、HBase作为数据存储仓库,采用SpringMVC+Spring框架实现,包括用户注册与登录、我的网盘、关注...
总结来说,这个“hadoop2.8.1+hadoop+winutils编译包”提供了在Windows环境下运行Hadoop 2.8.1所需的所有组件,包括Hadoop的核心功能和针对Windows的兼容性工具。通过合理安装和配置,用户可以在Windows系统上进行...
- `hdfs-site.xml`中需配置NameNode和DataNode的位置及副本数量等。 - `core-site.xml`中需配置HDFS和YARN的地址。 - `mapred-site.xml`用于MapReduce配置。 - `yarn-site.xml`中需配置ResourceManager和NodeManager...
在本项目中,我们结合了SpringMVC、Hadoop和Maven这三个技术,构建了一个能够实现文件从Web端上传到HDFS(Hadoop Distributed File System)的系统。下面将详细阐述这三个技术及其在项目中的应用。 首先,SpringMVC...
根据提供的标题、描述、标签及部分内容链接,我们可以推断出这是一个关于大数据技术栈的培训课程,涉及的技术包括Hadoop、HBase、Zookeeper、Spark、Kafka、Scala以及Ambari。下面将针对这些技术进行详细的介绍和...
1. 设置Hadoop依赖:在`hbase-site.xml`中指定Hadoop的配置目录。 2. 配置HBase:包括`hbase.rootdir`(HBase的HDFS路径)、`hbase.cluster.distributed`(分布式模式)等。 3. 初始化HBase:执行`hbase hbck -fix`...
在本文档中,我们详细地介绍了Hadoop+Hbase+Spark+Hive的搭建过程,包括环境准备、主机设置、防火墙设置、环境变量设置、Hadoop安装、Hbase安装、Spark安装和Hive安装。本文档旨在指导读者从零开始搭建Hadoop+Hbase+...
基于Hadoop图书推荐系统源码+数据库.zip基于Hadoop图书推荐系统源码+数据库.zip基于Hadoop图书推荐系统源码+数据库.zip基于Hadoop图书推荐系统源码+数据库.zip基于Hadoop图书推荐系统源码+数据库.zip基于Hadoop图书...
第二部分是基于Windows 7 64位Eclipse开发环境的配置 若严格按本文步骤执行的话应该可以配置环境完成(没把握的话连空格都不要改动 血的教训 ) 若有问题欢迎各位邮件或到blog中交流 本文最后修改时间:2014年11月14...
- 在Zookeeper的配置文件`zoo.cfg`中,添加Hadoop相关的配置,如`initLimit`和`syncLimit`,以及NameNode的客户端连接信息。 6. **配置Failover Controller**: - 在每个NameNode节点上启动Failover Controller...
在本文档中,我们将搭建一个基于CentOS7的Hadoop2.7.7集群,包括一个master主机和两个slave主机。master主机的IP地址为192.168.7.232,slave主机的IP地址分别为192.168.7.233和192.168.7.229。Hive的IP地址为192.168...
标题"hadop2+eclipse+win7开发所需环境"指的是在Windows 7操作系统上,使用Eclipse集成开发环境进行Hadoop 2.x应用程序的开发所需的一系列配置和工具。在这样的环境中,开发者可以编写、测试和调试Hadoop MapReduce...
软件方面,需要安装jdk-7u55-linux-x64.rpm、apache-maven-3.1.1-bin.tar、hadoop-2.2.0-src.tar.gz、protobuf-2.5.0.tar.gz、zookeeper-3.4.5.tar.gz和hbase-0.96.2-hadoop2-bin.tar.gz等软件。 Hadoop2.2安装和...