关闭

Hadoop单机版环境搭建及第一个示例

1761人阅读 评论(0) 收藏 举报
分类:

1,安装JDK(1.8)与Hadoop(2.7.2)

1>将jdk与hadoop放到/opt/tool(自己建一个文件夹)

2>tar zxvf进行解压

3>配置JDK与Hadoop环境变量

vim /etc/profile

内容如下:

<span style="font-size:24px;">export JAVA_HOME=/opt/tool/jdk1.8.0_101
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export HADOOP_HOME=/opt/tool/hadoop-2.7.2
export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$JRE_HOME/sbin:$PATH</span>

source /etc/profile

测试:java -version  hadoop,检查是否安装成功

4>将jdk设置入hadoop中

在vim etc/hadoop/hadoop-env.sh 设置export JAVA_HOME=/opt/tool/jdk1.8.0_101

5>启动hadoop

./hadoop/sbin/start-all.sh,按步骤操作,输入密码以及yes确定等

测试:jps,检查各个进程是否已经启动成功;

6>这个很重要:

vim /etc/sysconfig/network进入检查主机名

hostname检查主机名

如不一样,使用hostname localhost.localdomain更改

2,测试demo

1>编写Java代码,也就是MapReduce

1>>

<span style="font-size:24px;">package wordcount;

import java.io.IOException;
import java.util.StringTokenizer;

import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;

public class WordMapper extends Mapper<Object,Text,Text,IntWritable>{
	private final static IntWritable one = new IntWritable(1);
	private Text word = new Text();
	public void map(Object key,Text value,Context context) throws IOException,InterruptedException{
		StringTokenizer itr = new StringTokenizer(value.toString());
		while(itr.hasMoreElements()){
			word.set(itr.nextToken());
			context.write(word, one);
		}
	}
}</span>
2>>

<span style="font-size:24px;">package wordcount;

import java.io.IOException;

import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;

public class WordReducer extends Reducer<Text,IntWritable,Text,IntWritable>{
	private IntWritable result = new IntWritable();
	public void reduce(Text key,Iterable<IntWritable> values,Context context) throws IOException,InterruptedException{
		int sum = 0;
		for(IntWritable val:values){
			sum += val.get();
		}
		result.set(sum);
		context.write(key, result);
	}
}</span>

3>>

<span style="font-size:24px;">package wordcount;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.util.GenericOptionsParser;


public class WordMain {
	public static void main(String[] args) throws Exception{
		Configuration conf = new Configuration();
		String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs();
		for(int i=0;i<otherArgs.length;i++){
			System.out.println(otherArgs[i]);
		}
//		if(otherArgs.length != 2){
//			System.err.println("Usage:wordcount <in><out>");
//			System.exit(2);
//		}
		Job job = new Job(conf,"word count");
		job.setJarByClass(WordMain.class);
		job.setMapperClass(WordMapper.class);
		job.setCombinerClass(WordReducer.class);
		job.setReducerClass(WordReducer.class);
		job.setOutputKeyClass(Text.class);
		job.setOutputValueClass(IntWritable.class);
		FileInputFormat.addInputPath(job, new Path(otherArgs[0]));
		FileOutputFormat.setOutputPath(job, new Path(otherArgs[1]));
		System.exit(job.waitForCompletion(true) ? 0:1);
	}
}
</span>

2>打成jarfile

3>将jar放到hadoop节点下

4>将统计文件放入到hdfs系统下,并创建文件夹,为hdfs文件

hadoop fs -put /opt/tool/file.txt /opt/tool/input/

测试:查看是否上传成功:hadoop fs -ls /opt/tool/input/

5>执行大数据分析:

hadoop jar wordcount.jar wordcount.WordMain /opt/tool/input/file.txt  /opt/tool/output

注意执行可执行文件(这个jar一定注意路径,只有在当前路径才可以不写路径)




0
0
查看评论

Hadoop:Hadoop单机伪分布式的安装和配置

http://blog.csdn.net/pipisorry/article/details/51623195因为lz的linux系统已经安装好了很多开发环境,可能下面的步骤有遗漏。之前是在docker中配置的hadoop单机伪分布式[Hadoop:Hadoop单机伪分布式的安装和配置 ...
  • pipisorry
  • pipisorry
  • 2016-06-10 19:47
  • 20981

hadoop 2.7.4 单机版安装

hadoop 2.7 安装 首先下载: http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.4/hadoop-2.7.4.tar.gz 解压: tar -zxvf hadoop-2.7.4.tar.gz 拷贝到工...
  • isoleo
  • isoleo
  • 2017-10-30 16:59
  • 328

Hadoop单机版安装

以前对Hadoop有过一点了解,但没有深入,现在越来越感觉这东西挺有意思的,打算学习下,前两天买了两本Hadoop相关的书,先粗略的翻了下,今天就动手先把环境搭起来。       环境:centos6.2,jdk7_u45,hadoop2.2.0   ...
  • jarth
  • jarth
  • 2016-09-29 17:38
  • 315

Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)

Hadoop在处理海量数据分析方面具有独天优势。今天花了在自己的Linux上搭建了伪分布模式,期间经历很多曲折,现在将经验总结如下。 首先,了解Hadoop的三种安装模式: 1. 单机模式. 单机模式是Hadoop的默认模。当配置文件为空时,Hadoop完全运行在本地。因为不需要与其他节点交互,...
  • zhaoyl03
  • zhaoyl03
  • 2013-03-10 21:51
  • 36043

hadoop单机版

  • 2013-08-10 17:03
  • 17KB
  • 下载

一、Hadoop单机版standalone的安装与配置(Hadoop1.2.1,CentOS6.5)

一、安装jdk     1、下载bin包,自行下载,上传到CentOS6.5中,     2、安装bin包,         # chmod 755 jdk-6u27-linux-x64-rpm.bin ...
  • gsying1474
  • gsying1474
  • 2015-10-29 15:50
  • 875

hadoop mapreduce 例子项目,运行了单机wordcount

  • 2017-07-28 16:33
  • 25KB
  • 下载

Hadoop之旅(1)—单机与伪集群安装、简单经典案例

Hadoop 2.0安装部署流程 Hadoop 2.0测试环境(单机)搭建方法 Hadoop 简单案例(经典案例-统计单词的数次) MapReduce , HDFS、 YARN 搭建配置(经典案例-统计单词的数次)
  • JavaWebRookie
  • JavaWebRookie
  • 2017-06-14 18:43
  • 1707

Hadoop之——HDFS操作实例

本文通过两种方式来讲解hadoop中对HDFS文件系统的操作,第一种方式是命令行,第二种方式是通过java代码来实现。       一、命令行方式:hadoop fs xxx       &...
  • l1028386804
  • l1028386804
  • 2015-05-22 21:35
  • 6292

新手上路——hadoop2.7.3单机模式环境搭建

目的本人是一只hadoop新手,本篇文章主要是个人学习hadoop的学习笔记,内容是搭建单机模式下hadoop2.7.3开发环境。搭建环境及所需软件VMWare 12(64位),ubuntu-16.04(64位),hadoop2.7.3.tarHadoop简介Hadoop是Apache开源组织的一个...
  • zjsghww
  • zjsghww
  • 2017-02-04 23:02
  • 2016
    个人资料
    • 访问:54945次
    • 积分:713
    • 等级:
    • 排名:千里之外
    • 原创:25篇
    • 转载:0篇
    • 译文:0篇
    • 评论:8条
    文章分类
    最新评论