hadoop安装配置笔记.docx

上传人:b****4 文档编号:4595006 上传时间:2022-12-07 格式:DOCX 页数:18 大小:1.18MB
下载 相关 举报
hadoop安装配置笔记.docx_第1页
第1页 / 共18页
hadoop安装配置笔记.docx_第2页
第2页 / 共18页
hadoop安装配置笔记.docx_第3页
第3页 / 共18页
hadoop安装配置笔记.docx_第4页
第4页 / 共18页
hadoop安装配置笔记.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

hadoop安装配置笔记.docx

《hadoop安装配置笔记.docx》由会员分享,可在线阅读,更多相关《hadoop安装配置笔记.docx(18页珍藏版)》请在冰豆网上搜索。

hadoop安装配置笔记.docx

hadoop安装配置笔记

Hadoop安装配置教程

一、安装JDK1.8.0_40

1.网上下载好压缩包jdk-8u40-linux-x64.gz后,手动安装JDK1.8.0_40

sudomkdir/usr/lib/jvm

sudotarzxvfjdk-8u40-linux-x64.gz-C/usr/lib/jvm

2.配准环境变量

sudogedit/etc/profile

在profile文件最下面输入:

#setJavaEvironment

exportJAVA_HOME=/usr/lib/jvm/jdk1.8.0_40

exportCLASSPATH=".:

$JAVA_HOME/lib:

$CLASSPATH"

exportPATH="$JAVA_HOME/bin:

$PATH"

3.验证JDK是否安装成功

java–version

如果验证成功,会出现如下信息:

否则会出现如下信息:

依次输入如下命令:

sudoupdate-alternatives--install/usr/bin/javajava/usr/lib/jvm/jdk1.8.0_40/bin/java300

sudoupdate-alternatives--install/usr/bin/javacjavac/usr/lib/jvm/jdk1.8.0_40/bin/javac300

sudoupdate-alternatives--configjava

此时再输入命令java–version即可看到所安装的JDK版本信息了。

二、配置SSH免密码登陆

假设电脑的当前目录是/home/hadoop,其中hadoop是用户名,主机名字是master,从机名字是slave1和slave2

1.确认已经连接网络,输入如下命令安装SSH:

sudoapt-getinstallssh

2.三台电脑下输入如下命令:

sudogedit/etc/hosts

在打开的hosts文件中添加如下信息:

172.16.132.37slave1

172.16.132.51slave2

172.16.132.54master

3.三台电脑都输入如下命令,以实现三台电脑免密码登录它们自身:

ssh-keygen-trsa-P''(注意空格,最后那个是两个单引号而不是双引号)

此时出现如下信息:

按回车键,出现如下信息:

此时会在目录/home/hadoop下自动生成一个隐藏文件夹.ssh,.ssh文件夹下生成了两个文件:

id_rsa(私钥)和id_rsa.pub(公钥)

输入如下命令,把公钥追加到authorized_keys中:

cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys

输入如下命令:

ls~/.ssh

可看到.ssh文件夹下有三个文件:

输入如下命令,可以免密码登录它们自身:

sshlocalhost

4.master免密码登录slave1的实现:

在master下面输入如下命令,把master上的公钥id_dsa.pub复制到slave1中,在slave1中存储为id_dsa.pub.master:

sudoscp~/.ssh/id_rsa.pubslave1:

/home/hadoop/.ssh/id_rsa.pub.master

在hadoop-slave1下输入如下命令,把id_rsa.pub.master追加到authorized_keys中

cat~/.ssh/id_rsa.pub.master>>~/.ssh/authorized_keys

5.master免密码登录slave2的实现:

跟上一步类似。

三、安装hadoop2.6.0

在master机器中执行以下1-10步:

1.解压hadoop-2.6.0.tar.gz到路径/home/hadoop下,其中hadoop是用户名

tarxzfvhadoop-2.6.0.tar.gz

2.用命令sudogedithadoop-2.6.0/etc/hadoop/hadoop-env.sh打开hadoop-env.sh,用命令echo$JAVA_HOME查看JDK路径,往hadoop-env.sh中添加如下内容:

exportJAVA_HOME=/usr/lib/jvm/jdk1.8.0_40

3.修改hadoop-2.6.0/etc/hadoop/core-site.xml:

sudogedithadoop-2.6.0/etc/hadoop/core-site.xml

注意:

必须加在节点内

hadoop.tmp.dir

/home/hadoop/hadoop-2.6.0/tmp

Abaseforothertemporarydirectories.

fs.default.name

hdfs:

//master:

8020

4.修改hadoop-2.6.0/etc/hadoop/hdfs-site.xml

sudogedithadoop-2.6.0/etc/hadoop/hdfs-site.xml

dfs.name.dir

/home/hadoop/hadoop-2.6.0/dfs/name

PathonthelocalfilesystemwheretheNameNodestoresthenamespaceandtransactionslogspersistently.

dfs.permissions

false

dfs.data.dir

/home/hadoop/hadoop-2.6.0/dfs/data

CommaseparatedlistofpathsonthelocalfilesystemofaDataNodewhereitshouldstoreitsblocks.

dfs.replication

2

5.修改hadoop-2.6.0/etc/hadoop/mapred-site.xml

sudogedithadoop-2.6.0/etc/hadoop/mapred-site.xml

xmlversion="1.0"encoding="UTF-8"?

>

xml-stylesheettype="text/xsl"href="configuration.xsl"?

>

--Putsite-specificpropertyoverridesinthisfile.-->

mapred.job.tracker

master:

8021

HostorIPandportofJobTracker.

6.修改hadoop-2.6.0/etc/hadoop/masters

sudogedithadoop-2.6.0/etc/hadoop/masters

列出namenode机器的名字:

master

7.修改hadoop-2.6.0/etc/hadoop/slaves

sudogedithadoop-2.6.0/etc/hadoop/slaves

列出所有datanode的机器名字:

slave1

slave2

8.把文件夹hadoop-2.6.0拷贝到slave1和slave2机器中:

scp–r~/hadoop-2.6.0slave1:

~/

scp–r~/hadoop-2.6.0slave2:

~/

9.Hadoop的启动

进入hadoop安装目录:

cd/home/hadoop/hadoop-2.6.0

格式化HDFS文件系统的namenode:

bin/hdfsnamenode–format

启动hadoop集群:

sbin/start-dfs.sh

成功的话输入jps会出现如下界面:

关闭集群:

sbin/stop-dfs.sh

10.运行wordcount程序

启动集群:

sbin/start-dfs.sh

在hadoop2.6.0目录下创建input目录:

mkdirinput

打开文件夹input,新建两个文档f1和f2:

f1中输入如下:

f2中输入如下:

在hdfs创建Example目录,命令如下:

bin/hadoopfs-mkdir/Example

将f1、f2文件copy到Exmaple目录,命令如下:

bin/hadoopfs -putinput//Example

执行wordcount程序:

bin/hadoopjarshare/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jarwordcount/Example/input//output

查看执行结果:

bin/hadoopfs-cat/output/*

四、安装和配置eclipse。

1.下载好eclipse-java-luna-SR2-linux-gtk-x86_64.tar.gz后解压到文件夹/home/hadoop下

tarzxvfeclipse-java-luna-SR2-linux-gtk-x86_64.tar.gz

2.把插件hadoop-eclipse-plugin-2.6.0.jar放到目录/home/hadoop/eclipse/plugins下

3.打开软件eclipse,点击window/openPerspective/other/Map/Reduce

点击下图右下角的大象:

下图的Locationname随便取个名字,左侧的Host输入主机master的IP,Port输入文件mapred-site.xml中的端口号,右侧的Port输入文件core-site.xml中的端口号:

之后会出现如下界面:

点击window/Preferences/HadoopMap/Reduce,在Hadoopinstallationdirectory:

中选择hadoop的安装路径。

五、用Eclipse编译、运行hadoop程序。

1.新建工程

点击File—New—Project—Map/ReduceProject,工程名字写wordcount。

2.新建WordCount类。

右击工程wordcount,New—Class,类名写wordcount:

3.把hadoop安装目录下的WordCount源码复制到wordcount.java文件中,程序代码如下:

packagewordcount;

importjava.io.IOException;

importjava.util.StringTokenizer;

importorg.apache.hadoop.conf.Configuration;

importorg.apache.hadoop.fs.Path;

importorg.apache.hadoop.io.IntWritable;

importorg.apache.hadoop.io.Text;

importorg.apache.hadoop.mapreduce.Job;

importorg.apache.hadoop.mapreduce.Mapper;

importorg.apache.hadoop.mapreduce.Reducer;

importorg.apache.hadoop.mapreduce.lib.input.FileInputFormat;

importorg.apache.hadoop.mapreduce.lib.output.FileOutputFormat;

importorg.apache.hadoop.util.GenericOptionsParser;

publicclasswordcount{

publicstaticclassTokenizerMapper

extendsMapper{

privatefinalstaticIntWritableone=newIntWritable

(1);

privateTextword=newText();

publicvoidmap(Objectkey,Textvalue,Contextcontext

)throwsIOException,InterruptedException{

StringTokenizeritr=newStringTokenizer(value.toString());

while(itr.hasMoreTokens()){

word.set(itr.nextToken());

context.write(word,one);

}

}

}

publicstaticclassIntSumReducer

extendsReducer{

privateIntWritableresult=newIntWritable();

publicvoidreduce(Textkey,Iterablevalues,

Contextcontext

)throwsIOException,InterruptedException{

intsum=0;

for(IntWritableval:

values){

sum+=val.get();

}

result.set(sum);

context.write(key,result);

}

}

publicstaticvoidmain(String[]args)throwsException{

Configurationconf=newConfiguration();

String[]otherArgs=newGenericOptionsParser(conf,args).getRemainingArgs();

if(otherArgs.length<2){

System.err.println("Usage:

wordcount[...]");

System.exit

(2);

}

Jobjob=newJob(conf,"wordcount");

job.setJarByClass(wordcount.class);

job.setMapperClass(TokenizerMapper.class);

job.setCombinerClass(IntSumReducer.class);

job.setReducerClass(IntSumReducer.class);

job.setOutputKeyClass(Text.class);

job.setOutputValueClass(IntWritable.class);

for(inti=0;i

FileInputFormat.addInputPath(job,newPath(otherArgs[i]));

}

FileOutputFormat.setOutputPath(job,

newPath(otherArgs[otherArgs.length-1]));

System.exit(job.waitForCompletion(true)?

0:

1);

}

}

4.在hadoop安装目录(/home/hadoop/hadoop-2.6.0)下新建文件夹input,input中新建两个文件f1和f2,f1和f2中输入如下内容:

5.把input文件夹上传到分布式文件系统中:

在终端执行如下命令:

cd/home/hadoop/hadoop-2.6.0(进入hadoop安装目录)

bin/hadoopfs-mkdir/Example(在分布式文件系统中创建文件夹Example)

bin/hadoopfs-putinput/Example(把input文件夹上传到分布式文件系统的/Example/目录下)

bin/hadoopfs-ls/Example/input(查看分布式文件系统/Example/input下的文件)

由上图可看到,在dfs的/Example/input目录下,有四个文件夹,其中f1、f2是我们刚刚建立的input文件夹下的两个文件,而f1~和f2~不知道是什么来的,内容是上一次写在f1和f2上的内容,可以用如下命令查看这四个文件中的内容:

bin/hadoopfs-cat/Example/input/f1

bin/hadoopfs-cat/Example/input/f2

bin/hadoopfs-cat/Example/input/f1~

bin/hadoopfs-cat/Example/input/f2~

删除f1~和f2~这两个文件:

bin/hadoopfs-rm-r-f/Example/input/f1~

bin/hadoopfs-rm-r-f/Example/input/f2~

6.回到Eclipse界面,设置输入输出参数。

点击RunConfigurations:

 

设置Programarguments如下图所示,其中第一行表示输入参数,第二行表示输出参数:

点击上图的Run,运行程序。

7.查看输出结果。

在终端输入如下命令,即可查看输出结果:

bin/hadoopfs-cat/Example/output/*

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1