hadoop安装(zhuan)
来源:互联网 发布:武汉程序员工资 编辑:程序博客网 时间:2024/05/17 06:32
转载自:http://www.2cto.com/kf/201211/171033.html
Hadoop单机安装配置过程:
1、首先安装JDK,必须是sun公司的jdk,最好1.6版本以上。
最后java–version 查看成功与否。
注意配置/etc/profile文件,在其后面加上下面几句:
exportJAVA_HOME=/usr/local/jdk1.6.0_17
exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre:$PATH
exportCLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
2、安装SSH,免密码登陆。
apt-getinstall openssh-server 安装ssh
建立 SSHKEY:
$ssh-keygen -t rsa -P "" (注意不要多加空格或缺少空格)
中途需要安装者选择保存密钥的文件,按回车使用默认的文件就可以了:
Enterfile in which to save the key (/root/.ssh/id_rsa):(按回车)
启用SSHKEY:
$cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
/etc/init.d/sshreload
reloadssh
sshlocalhost
3、安装配置单机hadoop
1)解压到/opt/hadoop
Java代码
$tar zxvf hadoop-0.20.2.tar.gz
$sudo mv hadoop-0.20.2/opt/
$sudo chown -R hadoop:hadoop /opt/hadoop-0.20.2
$sudo ln -sf /opt/hadoop-0.20.2/opt/hadoop
4.配置hadoop-env.sh
1)在hadoop/conf里面hadoop-env.sh增加
Java代码
exportJAVA_HOME=/usr/jdk1.6.0.18
exportHADOOP_HOME=/opt/hadoop
exportPATH=$PATH:/opt/hadoop/bin
5.配置文件
1)編輯/opt/hadoop/conf/core-site.xml
Java代码
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop/hadoop-${user.name}</value>
</property>
</configuration>
2)編輯/opt/hadoop/conf/hdfs-site.xml
Java代码
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
3)編輯/opt/hadoop/conf/mapred-site.xml
Java代码
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
6.格式化hdfs
Java代码
$cd /opt/hadoop
$source conf/hadoop-env.sh
$hadoop namenode -format
提示信息一大堆...
7.启动hadoop
Java代码
$sudo ./start-all.sh //在hadoop/bin下执行
8.完成后的测试
Java代码
http://localhost:50030/- Hadoop 管理接口
启动
[hadoop@hadoop00~]$ ~/hadoop-0.21.0/bin/start-all.sh
Thisscript is Deprecated. Instead use start-dfs.sh andstart-mapred.sh
starting namenode, logging to/home/hadoop/hadoop-0.21.0/bin/../logs/hadoop-hadoop-namenode-hadoop00.out
192.168.91.11:starting datanode, logging to/home/hadoop/hadoop-0.21.0/bin/../logs/hadoop-hadoop-datanode-hadoop01.out
192.168.91.12:starting datanode, logging to/home/hadoop/hadoop-0.21.0/bin/../logs/hadoop-hadoop-datanode-hadoop02.out
192.168.91.10:starting secondarynamenode, logging to/home/hadoop/hadoop-0.21.0/bin/../logs/hadoop-hadoop-secondarynamenode-hadoop00.out
startingjobtracker, logging to/home/hadoop/hadoop-0.21.0/bin/../logs/hadoop-hadoop-jobtracker-hadoop00.out
192.168.91.12:starting tasktracker, logging to/home/hadoop/hadoop-0.21.0/bin/../logs/hadoop-hadoop-tasktracker-hadoop02.out
192.168.91.11:starting tasktracker, logging to/home/hadoop/hadoop-0.21.0/bin/../logs/hadoop-hadoop-tasktracker-hadoop01.out
2.停止
[hadoop@hadoop00~]$ ~/hadoop-0.21.0/bin/stop-all.sh
Thisscript is Deprecated. Instead use stop-dfs.sh andstop-mapred.sh
stopping namenode
192.168.91.12: stoppingdatanode
192.168.91.11: stopping datanode
192.168.91.10:stopping secondarynamenode
stopping jobtracker
192.168.91.11:stopping tasktracker
192.168.91.12: stopping tasktracker
初始配置HDFS
1、 格式化HDFS文件系统
[hadoop@hadoop00~]$ hadoop namenode -format
2、 查看HDFS
[hadoop@hadoop00~]$ hadoop fs -ls /
11/09/24 07:49:55 INFO security.Groups: Groupmapping impl=org.apache.hadoop.security.ShellBasedUnixGroupsMapping;cacheTimeout=300000
11/09/24 07:49:56 WARN conf.Configuration:mapred.task.id is deprecated. Instead, usemapreduce.task.attempt.id
Found 4 items
drwxr-xr-x - hadoop supergroup 0 2011-09-22 08:05 /home
drwxr-xr-x - hadoopsupergroup 02011-09-22 11:29 /jobtracker
drwxr-xr-x - hadoopsupergroup 02011-09-22 11:23/user
3、 通过WEB查看hadoop
运行hadoop的example-wordcount
Wordcount程序是一个简单的计算输入文件中每个单词出现的次数,并输出到指定的目录下。该程序是官方的例子,在hadoop-0.21.0安装目录下的:hadoop-mapred-examples-0.21.0.jar
在hdfs上建立程序的输入目录和文件,同时建立程序的输出目录.
[hadoop@hadoop00~]$ mkdir input
[hadoop@hadoop00 ~]$ cat a a a a a b b b c c c c cc c c c 1 1 1 > input/file
[hadoop@hadoop00 ~]$ hadoop fs–mkdir /wordcount
[hadoop@hadoop00 ~]$ hadoop fs –put input/wordcount
[hadoop@hadoop00~]$ hadoop jar hadoop-0.21.0/hadoop-mapred-examples-0.21.0.jarwordcount /wordcount/input /wordcount/output
11/09/24 08:11:25INFO security.Groups: Group mappingimpl=org.apache.hadoop.security.ShellBasedUnixGroupsMapping;cacheTimeout=300000
11/09/24 08:11:26 WARN conf.Configuration:mapred.task.id is deprecated. Instead, usemapreduce.task.attempt.id
11/09/24 08:11:26 WARNmapreduce.JobSubmitter: Use GenericOptionsParser for parsing thearguments. Applications should implement Tool for the same.
11/09/2408:11:26 INFO input.FileInputFormat: Total input paths to process :2
11/09/24 08:11:26 WARN conf.Configuration: mapred.map.tasks isdeprecated. Instead, use mapreduce.job.maps
11/09/24 08:11:26 INFOmapreduce.JobSubmitter: number of splits:2
11/09/24 08:11:27 INFOmapreduce.JobSubmitter: adding the following namenodes' delegationtokens:null
11/09/24 08:11:27 INFO mapreduce.Job: Running job:job_201109240745_0002
11/09/24 08:11:28 INFO mapreduce.Job: map 0% reduce 0%
11/09/24 08:11:44 INFO mapreduce.Job: map50% reduce 0%
11/09/24 08:11:50 INFO mapreduce.Job: map 100%reduce 0%
11/09/24 08:11:57 INFO mapreduce.Job: map 100%reduce 100%
11/09/24 08:11:59 INFO mapreduce.Job: Job complete:job_201109240745_0002
11/09/24 08:11:59 INFO mapreduce.Job:Counters: 34
……
[hadoop@hadoop00~]$ hadoop fs -cat /wordcount/output/part-r-00000
11/09/2408:18:09 INFO security.Groups: Group mappingimpl=org.apache.hadoop.security.ShellBasedUnixGroupsMapping;cacheTimeout=300000
11/09/24 08:18:09 WARN conf.Configuration:mapred.task.id is deprecated. Instead, usemapreduce.task.attempt.id
1 3
a 5
b 3
c 9
http://blog.sina.com.cn/s/blog_611317b40100t5od.html
在虚拟机中安装的Ubuntu系统下搭建Hadoop集群时首先要解决的问题是将宿主机的文件拷贝到虚拟机上。采用的简单方法是宿主机使用Serv-U建立一个FTP然后在虚拟机上登录将文件拷出来。
要先熟悉Linux的基本概念和操作,如:cd、ls、tar、cat、ssh、scp、cp、rm、sudo、su、apt-get等操作。
一.实践环境:
Ubuntu10.04+jdk1.6+hadoop-0.20.1
机器名
IP
作用
Master
192.168.128.2
Namenode、master、jobtracker
Slave1
192.168.128.3
Datanode、slave、tasktracker
Slave2
192.168.128.4
Datanode、slave、tasktracker
二.
1.
2.
3.
IP为
IP为
$ vi
进入文件后将机器名改成master
$ vi
进入文件后机器名改成
$ vi
第二步:修改三台虚拟机的/etc/hosts文件。
vi
进入文件后原内容删除加入如下内容。
4.在三台虚拟机上分别新建一个名字为jsj的用户。
第一步:root@master:~$ adduser jsj
第二步:提示你要求你填写一些信息,可以直接回车。
第三步:设置jsj这个用户的密码(尽量简单一致)。
第四步:root@master:~/home$
//将jsj文件夹的所用者改成jsj用户的。否则我们用adduser jsj创建了jsj用户后,jsj用户不能在自己的主目录下创建文件夹,(如:$ mkdir .ssh)提示没有权限创建文件夹。
5.
第一步:root@master:~$ sudo apt-get install ssh
第二步:jsj@master:~$
在三台虚拟机的/home/jsj目录下都用jsj用户建立一个.ssh目录
第三步:jsj@master:~/.ssh/$
//这个命令将为masters上的jsj用户生成其密钥对,生成的密钥对id_dsa,id_dsa.pub,默认存储在/home/jsj/.ssh目录下。
第四步:jsj@master:~/.ssh/$
//把id_dsa.pub
第五步:jsj@master:~/.ssh/$ scp
//将id_dsa.pub
第六步:到slave1
至此各个机器上的SSH配置已经完成,可以测试一下了,比如master向slave1发起ssh连接
jsj@mater:~/.ssh$ ssh
如果ssh配置好了,就会出现以下提示信息
The authenticity of host [dbrg-2] can't be established.
Key fingerprint is 1024 5f:a0:0b:65:d3:82:df:ab:44:62:6d:98:9c:fe:e9:52.
Are you sure you want to continue connecting (yes/no)?
OpenSSH告诉你它不知道这台主机,但是你不用担心这个问题,因为你是第一次登录这台主机。键入“yes”。这将把这台主机的“识别标记”加到“~/.ssh/know_hosts”文件中。第二次访问这台主机的时候你会发现不需要输入密码就可以建立ssh连接了,恭喜你,配置成功了。不过,别忘了测试本机ssh
6.
第一步:将jdk-6u13-linux-i586.bin拷到/home/jsj目录下
第二步:root@master:~/home/jsj$ chmod u+x jdk-6u13-linux-i586.bin
//将bin文件修改成可执行文件。
第三步:root@master:~/home/jsj/$ ./jdk-6u13-linux-i586.bin
//运行安装文件
第四步:root@master:~/$ gedit /etc/profile
在文件里面加入如下信息。
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
然后root@master:~/$ source /etc/profile
第五步:重启电脑,在任何用户中
java version "1.6.0_13"
Java(TM) SE Runtime Environment (build 1.6.0_04-b12)
Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing)
说明jdk安装成功。你可以在slave1和slave2
scp –r
7.
第二步:root@master:~/home/jsj/$ tar -xzvf hadoop-0.20.1.tar.gz
//将文件解压。
第三步:root@master:~/home/jsj/$ chown
//将文件所有者改成jsj。
第四步:root@master:~/home/jsj/$ gedit /etc/profile
进入文件将如下信息加到文件里。
export HADOOP_HOME=/home/jsj/hadoop-0.20.1
export PATH=$HADOOP_HOME/bin:$PATH
第五步:更改conf目录下的conf/core-site.xml, conf/hdfs-site.xml, conf/mapred-site.xml,conf/hadoop-env.sh,conf/masters,conf/slaves
root@master:~/home/jsj/hadoop-0.20.1/conf/$ gedit hadoop-env.sh
进入文件加入如下信息。
export
root@master:~/home/jsj/hadoop-0.20.1/conf/$ gedit masters
进入文件加入如下信息。
192.168.128.2
root@master:~/home/jsj/hadoop-0.20.1/conf/$ gedit slaves
进入文件加入如下信息。
192.168.128.3
192.168.128.4
root@master:~/home/jsj/hadoop-0.20.1/conf/$ gedit core-site.xml
进入文件加入如下信息。
<configuration>
</property>
<!-- file system properties -->
<property>
</property>
</configuration>
root@master:~/home/jsj/hadoop-0.20.1/conf/$ gedit hdfs-site.xml
进入文件加入如下信息。(replication默认是3,如果不修改,datanode少于三台就会报错)。
<configuration>
</configuration>
root@master:~/home/jsj/hadoop-0.20.1/conf/$ gedit mapred-site.xml
进入文件加入如下信息。
<configuration>
<property>
</property>
</configuration>
//将文件hadoop-0.20.1拷贝到其它两个虚拟机上就可以了。
8.运行hadoop自带的例程
第一步:jsj@master:~/hadoop-0.20.1/bin/$ hadoop namenode –format
//格式化文件系统,新建一个文件系统。
第二步:jsj@master:~/hadoop-0.20.1/$ start-all.sh
//启动hadoop的所有守护进程。
第四步:jsj@master:~/hadoop-0.20.1/$ jps
//查看进程,master虚拟机上的结果。
在slave1
第五步:jsj@master:~/soft/$ echo
jsj@master:~/soft/$ echo
//在本地磁盘建立两个输入文件file01
第六步:jsj@master:~/hadoop-0.20.1/$
//在hdfs
第七步:jsj@master:~/hadoop-0.20.1/$
//将file01
第八步:jsj@master:~/hadoop-0.20.1/$
//执行wordcount。
第九步:jsj@master:~/hadoop-0.20.1/$
//完成之后,查看结果:
Bye 1
Goodbye 1
Hadoop 2
Hello 2
World 2
至此hadoop运行环境已经全部搭建完成。如果要按照此方法搭建请注意每次运行命令的用户和路径。这次搭建过程中还存留的一个问题就是/etc/profile
- hadoop安装(zhuan)
- zhuan
- ZHUAN
- ZHUAN
- zhuan
- zhuan
- zhuan
- zhuan
- 如何卸载以源代码方式安装的软件(zhuan)
- Pocket PC/Smartphone软件安装包之制作DIY (zhuan)
- 开启Office 2003出现要安装PRO11.MSI解决方法 (zhuan)
- MySQL数据库主从同步安装与配置总结<ZHUAN>
- (zhuan)hr2
- 笑话(zhuan)
- sed .............Zhuan
- java(zhuan)
- webserviceS [Zhuan]
- AllowXSlScript(zhuan)
- 【九度】题目1120:全排列 && 题目1369:字符串的排列
- java保留小数有效位数
- Android应用的优化
- The Computational Chemistry List (CCL)
- 黑马程序员—类加载器和注解
- hadoop安装(zhuan)
- java中static的使用
- EditText 获取焦点时 输入法弹出 点击EditText以外的部分 输入法隐藏
- 从零开始--为面试做准备,代码篇(一)
- Virtual Computational Chemistry Laboratory
- RIL及其问题
- 盗版XP成主要恶意攻击对象
- 黑马程序员—动态代理
- 数据库clone(EBS)5