@


Hadoop所用安装包和配置文件等我找到最方便使用的方式再上传到博客,如果有需要也欢迎找我分享。


在windows下,

1.导包Hadoop包

我用的是破解版的文件,不需要安装,直接解压到D盘下


2.配置环境变量

  • 接下来配置环境变量,相信配置过jdk的同学们对这一步应该不算陌生。

我的电脑——>属性——>高级系统设置——>环境变量——>系统变量——>编辑Path,增加 %HADOOP_HOME%\bin ——>新建一个变量名为 HADOOP_HOME,变量值为 hadoop安装路径的系统变量——>确定操作——>完成

找到系统变量,编辑Path

加上 %HADOOP_HOME%\bin即可

确定之后,新建一个系统变量



然后依次确定刚才的操作,配置环境变量工作完成。


3.把winutil包拷贝到Hadoop bin目录下


4.把Hadoop.dll放到system32下

路径:C:\Windows\System32


5.检测Hadoop是否正常安装

5.1在maven项目中检测,将配置文件放入resource包下

5.2然后通过一个简单的wordcount程序检测Hadoop是否安装成功

先在本地电脑写一个txt文件,内容随便输入,

如:

5.3保存好之后,写程序:

(检测这里将程序复制过去就可以,先不用理解,后续学习)

package com.oracle.demo.mr;

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; public class WordCount {
public class WcMapper extends Mapper<LongWritable,Text,Text,IntWritable> {
@Override
protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
String line = value.toString();
String[] strs = line.split(" ");
for (String s:strs){
Text outkey = new Text(s);
IntWritable outvalue = new IntWritable(1);
context.write(outkey,outvalue);
}
}
}
public class WcReduce extends Reducer<Text,IntWritable,Text,IntWritable> {
@Override
protected void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException {
int count = 0;
for (IntWritable n:values){
count += n.get(); }
context.write(key,new IntWritable(count));
}
}
public static void main(String[] args) throws IOException, ClassNotFoundException, InterruptedException {
Job job = Job.getInstance(); job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(IntWritable.class); job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(IntWritable.class); job.setMapperClass(com.oracle.demo.mr.WcMapper.class);
job.setReducerClass(com.oracle.demo.mr.WcReduce.class); FileInputFormat.setInputPaths(job,new Path("E:\\BigData\\input.txt"));
FileOutputFormat.setOutputPath(job,new Path("E:\\BigData\\output")); job.waitForCompletion(true);
}
}

注意:



运行之后控制台显示:



。。。



。。。

表示运行成功,没有错误

5.4最后我们打开输出文件查看:

结果是:



此刻,表示Hadoop安装成功,大功告成了。


6.容易出现的错误:

6.1.导包错误

6.2.输出文件存在

Exception in thread "main" org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory file:/E:/BigData/output already exists



如何解决:之前运行的输出文件删除即可。

6.3.环境搭建或配置等错误


这篇博客是我自己安装完之后写出来的,如果过程中有什么疏漏或者疑问,欢迎和我交流。安装过程中也许会遇到一些自己解决不了的错误,不要急躁,慢慢找方法解决就好了,希望你能成为一个优秀的程序员。

大数据入门:Hadoop安装、环境配置及检测的更多相关文章

  1. 分享知识-快乐自己:大数据(hadoop)环境搭建

    大数据 hadoop 环境搭建: 一):大数据(hadoop)初始化环境搭建 二):大数据(hadoop)环境搭建 三):运行wordcount案例 四):揭秘HDFS 五):揭秘MapReduce ...

  2. 大数据测试之hadoop集群配置和测试

    大数据测试之hadoop集群配置和测试   一.准备(所有节点都需要做):系统:Ubuntu12.04java版本:JDK1.7SSH(ubuntu自带)三台在同一ip段的机器,设置为静态IP机器分配 ...

  3. CentOS6安装各种大数据软件 第九章:Hue大数据可视化工具安装和配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  4. 大数据学习——hadoop安装

    上传centOS6.7-hadoop-2.6.4.tar.gz 解压 tar -zxvf centOS6.7-hadoop-2.6.4.tar.gz hadoop相关修改配置 1 修改 /root/a ...

  5. 大数据学习之路—环境配置——IP设置(虚拟机修改Ip的内在原因及实现)

    一.IP原理 关于IP我的理解, (1)主要去理解IP地址的作用,IP地址包括网络相关部分和主机的相关部分.即:用一段特殊的数据,来标识网络特征和主机的特征. 至于具体的技术实现,日后可以慢慢体会和了 ...

  6. 大数据学习之路——环境配置(2)——mysql 在linux 系统上安装配置

    1.安装参考网址: https://blog.csdn.net/IronWring_Fly/article/details/103637801   设置新秘密: mysqladmin -u root ...

  7. 大数据开发keras框架环境配置小结

    系统安装问题 win10+ubuntu16.04 在win10在需要security boot设置成disable,否则安装完后无法设置启动项. 安装完ubuntu重启,系统会直接进入win10,需要 ...

  8. 大数据之Hadoop技术入门汇总

    今天,小编对Hadoop入门学习知识进行了汇总,帮助大家更好地入手大数据.小编关于Hadoop入门总共发写了12篇原创文章,文章是参照尚硅谷大数据视频教程来进行撰写的. 今天,小编带你解锁正确的阅读顺 ...

  9. 大数据技术Hadoop入门理论系列之一----hadoop生态圈介绍

    Technorati 标记: hadoop,生态圈,ecosystem,yarn,spark,入门 1. hadoop 生态概况 Hadoop是一个由Apache基金会所开发的分布式系统基础架构. 用 ...

随机推荐

  1. ReactJS表单handleChange

    handleInputChange = (event) => { const target = event.target; const type = target.type; const val ...

  2. leetCode题解之Self Dividing Numbers

    1.题目描述 2.题目分析 简单题目,只要挨个判断该数是不是满足条件即可. 3.代码 vector<int> selfDividingNumbers(int left, int right ...

  3. 指令-Directive

    restrict:'A'用作设定用那种方式使用指令. 可组合使用如restrict:'AE' E - 元素名称: <my-directive></my-directive> A ...

  4. webpack+express多页站点开发

    学习了webpack门级的教程后,觉得可能是专门为单页应用而量身打造的,比如webpack+react.webpack+vue等,都可以解决各种资源的依赖加载.打包的问题.甚至css都是打包在js里去 ...

  5. teradata 字符串数据合并 在concat()函数无法使用的情况下

    在teradata sql中不存在concat()函数或者stuff()函数,在此情况下,如何实现多条字符串数据合并成一行? 在查找不同方法过程中,在stackflow中找到最简便的方法,使用xml_ ...

  6. Matlab 之meshgrid, interp, griddata 用法和实例(转)

    http://blog.sina.com.cn/s/blog_67f37e760101bu4e.html 实例结果http://wenku.baidu.com/link?url=SiGsFZIxuS1 ...

  7. mac osx 升级到10.10 软件无法打开的问题

    osx升级到10.9.5 和10.10后,很多软件出现无法打开的问题, This patch seems to be corrupted.Please make sure you get your p ...

  8. November 27th 2016 Week 48th Sunday

    It is never too late to be what you might have been. 勇敢做自己,永远不嫌迟. What I might have been? Experienci ...

  9. DevExpress01、独立使用的控件

    XtraEditors 库提供了只能独立使用的控件,也就是说不能在容器控件的内置编辑中使用它们. 这些控件包括: 几种类型的列表框.数据导航控件.滚动条和一个按钮控件. 这些控件都是 BaseStyl ...

  10. C++11新特性之十:enable_shared_from_this

    enable_shared_from_this是一个模板类,定义于头文件<memory>,其原型为: template< class T > class enable_shar ...