hadoop安装配置笔记Word格式文档下载.docx
- 文档编号:17529936
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:18
- 大小:1.18MB
hadoop安装配置笔记Word格式文档下载.docx
《hadoop安装配置笔记Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《hadoop安装配置笔记Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
二、配置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>
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中添加如下内容:
3.修改hadoop-2.6.0/etc/hadoop/core-site.xml:
sudogedithadoop-2.6.0/etc/hadoop/core-site.xml
注意:
必须加在<
configuration>
<
/configuration>
节点内
<
property>
name>
hadoop.tmp.dir<
/name>
value>
/home/hadoop/hadoop-2.6.0/tmp<
/value>
description>
Abaseforothertemporarydirectories.<
/description>
/property>
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程序
启动集群:
在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<
Object,Text,Text,IntWritable>
{
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<
Text,IntWritable,Text,IntWritable>
{
privateIntWritableresult=newIntWritable();
publicvoidreduce(Textkey,Iterable<
IntWritable>
values,
Contextcontext
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<
in>
[<
...]<
out>
"
);
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<
otherArgs.length-1;
++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/*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- hadoop 安装 配置 笔记