vwe
来源:互联网 发布:唇语软件下载 编辑:程序博客网 时间:2024/06/09 14:45
现在网络有很多介绍hadoop安装的文章,我也试着按照他们的方法安装,乖乖,这个不行,那个有不行,只能一个一个的找谷老师,谷老师提供的乱七八糟的,最终还是安装上了。我这篇是根据人家写的基础之上写了,仅供参考机器名
机器名称 IP地址 作用
Master 10.64.79.153 namenode
Leon03 10.64.79.158 datanode
Leon04 10.64.79.159 datanode
安装虚拟机就不说了,网上有很多教程,大家可以参考一下,注意一点,
(1)在安装ubtuntu时利用apt-get install一些软件时可能出问题,这是由于没有更新的问题,所以首先apt-get update,之后才安装。
(2)还有安装好的三台机器把防火墙给关了,利用sudu ufw disable
(3)若你想修改机器名的话你进/etc/hostname把机器给改了
(4)修改/etc/hosts, vim /etc/hosts把里面全给删了,然后添加
127.0.0.1 localhost
<configuration> <property> <name>dfs.replication</name> <value>2</value> </property></configuration>
10.64.79.153 master
10.64.79.158 leon03
10.64.79.159 leon04
(4)在三台机器上添加doop用户,即
root@master:~$adduser doop
填好密码,之后要你填一些信息,你可以直接回车
(5)
root@master:~/home$ chown -R doop:doop doop
//将doop文件夹的所用者改成doop用户的。否则我们用adduser doop创建了doop用户后,doop用户不能在自己的主目录下创建文件夹,(如:$mkdir .ssh)提示没有权 限创建文件夹。
(6)在三台虚拟机上分别配置ssh无密码登录。(同时要安装openssh-server)
第一步:
root@master:~$sudo apt-get install ssh //开启ssh服务。
第二步: doop@master:~$ mkdir.ssh
在三台虚拟机的/home/doop目录下都用doop用户建立一个.ssh目录
第三步:doop@master:~/.ssh/$ssh-keygen–t dsa–P ’’–f ~/.ssh/id_dsa
//这个命令将为masters上的doop用户生成其密钥对,生成的密钥对id_dsa,id_dsa.pub,默认存储在/home/doop/.ssh目录下。
第四步:
doop@master:~/.ssh/$ cat id_dsa.pub >> authorized_keys
//把id_dsa.pub 追加到授权key 里面(当前并没有authorized_keys文件是你也可以直接使用cp 命令)。至此无密码登录到本机已经配置好了。可以使用 $ssh ocalhost 命令 测试一下。第一次登录时要输入yes,之后就不用了。
第五步:
doop@master:~/.ssh/$scp id_dsa.pub doop@leon03:/home/doop/.ssh/
//将id_dsa.pub 文件传送到leon03这台虚拟机上。Leon04 同理。
第六步:到leon03 这台虚拟机上执行第四步的操作。leon04 同理。至此master就可以无密码登录到leon03 和leon04 上了。如果想要leon03 和leon04 都可以无密码登录 到master上必须在leon03 和salve2 上也操作第三部生成自己的密钥对而且要将密钥对追加到三台机器的authorized_keys文件里。 至此各个机器上的SSH配置已经完成,可以测试一下了,比如master向leon03发起ssh连接
doop@mater:~/.ssh$ ssh leon03
OpenSSH告诉你它不知道这台主机,但是你不用担心这个问题,因为你是第一次登录这台主机。键入“yes这将把这台主机的“识别标记”加到“~/.ssh/know_hosts”文件中。 二次访问这台主机的时候你会发现不需要输入密码就可以建立ssh连接了,恭喜你,配置成功了。不过,别忘了测试本机ssh localhost (因为后面的Hadoop命令 受到这一 步。
注意如果你没有成功记住删除“~/.ssh/know_hosts”文件就可以重新开始。
(7). 在三台虚拟机上分别安装jdk1.6
第一步:将jdk-6u13-linux-i586.bin拷到/home/doop目录下
第二步:
root@master:~/home/doop$chmod u+x jdk-6u13-linux-i586.bin
//将bin文件修改成可执行文件。
第三步:
root@master:~/home/doop/$./jdk-6u13-linux-i586.bin
//运行安装文件
第四步:
root@master:~/$gedit /etc/profile
在文件里面加入如下信息。 (根据自己安装的情况添加)
export JAVA_HOME=/home/doop/jdk1.6.0_13 export JRE_HOME=/home/doop/jdk1.6.0_13/jre exportCLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
然后root@master:~/$source /etc/profile 是文件内容生效。
第五步:重启电脑,在任何用户中 $ java–version 如果显示如下信息:
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安装成功。你可以在leon03和leon04 上执行同样的操作,也可以使用$
scp –r 将jdk1.6.0_13文件夹拷到其它两台虚拟机上,然后配置环境变量就OK了。
至此jdk安装成功。注意安装jdk时容易出现的一个问题:第一是安装完成后只有安装时的登录用户可用java其它用户不可用。这样的话你要设置一下/etc/environment 文 件。设置方法网上搜索就可以。
(8). 在三台虚拟机上分别安装Hadoop-0.20.1
第一步:将hadoop-0.20.1.tar.gz文件拷贝到/home/doop目录下。
第二步:
root@master:~/home/doop/$tar -xzvf hadoop-0.20.1.tar.gz
//将文件解压。
第三步:
root@master:~/home/doop/$chown doop:doop hadoop-0.20.
//将文件所有者改成doop。
第四步:
root@master:~/home/doop/$gedit /etc/profile
进入文件将如下信息加到文件里
export HADOOP_HOME=/home/doop/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/doop/hadoop-0.20.1/conf/$ gedit hadoop-env.sh
进入文件加入如下信息。
进入文件加入如下信息。
export JAVA_HOME=/home/doop/jdk1.6.0_13
root@master:~/home/doop/hadoop-0.20.1/conf/$ gedit masters
进入文件加入如下信息。
10.64.79.153
root@master:~/home/doop/hadoop-0.20.1/conf/$ gedit slaves
进入文件加入如下信息。
10.64.79.15810.64.79.159
root@master:~/home/doop/hadoop-0.20.1/conf/$ geditcore-site.xml
while(DynamicData.hadNext(){ While(staticData.hasNext()){ If(staticData.getKey==dynamicData.getKey) Map(staticData.getValue,dynamicData.getValue) DynamicData.nex() } DynamicData.next() }
rberberber