配置hadoop平台

.实践环境:

Ubuntu10.04+jdk1.6+hadoop-0.20.1

机器名

作用

Master

192.168.128.2

Namenodemasterjobtracker

Slave1

192.168.128.3

Datanodeslavetasktracker

Slave2

192.168.128.4

Datanodeslavetasktracker

.   安装步骤

1.       在虚拟机上安装Ubuntu10.04。这个很简单可以上网参考基本上是一直下一步就行。注意两个地方:一个是出现选择存储空间时直接选择使用整个磁盘就行,不要进行手动分区。第二个就是我才用的上网方法是NAT技术。配置详情在11.30日的日志里。

2.    对三台虚拟机做一下更新。$sudoapt-get update 。后面要安装软件时,如果没有更新,在安装所需软件时,可能会说找不到软件,安装不上。注意选择软件源时不要仅仅是一个网站,建议使用中国的服务器

3.  修改机器名和hosts文件。

IP 192.168.128.2 的虚拟机做namenode 机器名叫 master

IP 192.168.128.3192.168.128.4的虚拟机做datanode 机器名分别叫slave1slave2

    第一步:修改三台虚拟机的机器名。

    master

$ vi   /etc/hostname   

进入文件后将机器名改成master

    slave

$ vi  /etc/hostname    

进入文件后机器名改成 slave1

$ vi  /etc/hostname   

第二步:修改三台虚拟机的/etc/hosts文件。

    masterslave

vi  /etc/hosts

进入文件后原内容删除加入如下内容。

    127.0.0.1 localhost

    192.168.128.2 master master

    192.168.128.3 slave1 slave1

    192.168.128.4 slave2 slave2

4.在三台虚拟机上分别新建一个名字为jsj的用户。

第一步:root@master:~$adduser jsj

第二步:提示你要求你填写一些信息,可以直接回车。

第三步:设置jsj这个用户的密码(尽量简单一致)。

第四步:root@master:~/home$ chown  -R  jsj:jsj  jsj 

//jsj文件夹的所用者改成jsj用户的。否则我们用adduserjsj创建了jsj用户后,jsj用户不能在自己的主目录下创建文件夹,(如:$mkdir .ssh)提示没有权限创建文件夹。

5在三台虚拟机上分别配置ssh无密码登录。

第一步:root@master:~$sudo apt-get install ssh  //开启ssh服务。

第二步:jsj@master:~$ mkdir.ssh

在三台虚拟机的/home/jsj目录下都用jsj用户建立一个.ssh目录

第三步:jsj@master:~/.ssh/$ 算是

//这个命令将为masters上的jsj用户生成其密钥对,生成的密钥对id_dsaid_dsa.pub,默认存储在/home/jsj/.ssh目录下。

第四步:jsj@master:~/.ssh/$  catid_dsa.pub >> authorized_keys

//id_dsa.pub 追加到授权key 里面(当前并没有authorized_keys文件是你也可以直接使用cp 命令)。至此无密码登录到本机已经配置好了。可以使用 $ssh localhost 命令测试一下。第一次登录时要输入yes,之后就不用了。

第五步:jsj@master:~/.ssh/$scp id_dsa.pub jsj@slave1:/home/jsj/.ssh/

//id_dsa.pub 文件传送到slave1 这台虚拟机上。slave2 同理。

第六步:到slave1 这台虚拟机上执行第四步的操作。slave2 同理。至此master就可以无密码登录到slave1 slave2 上了。如果想要slave1 slave2 都可以无密码登录到master上必须在slave1 salve2 上也操作第三部生成自己的密钥对而且要将密钥对追加到三台机器的authorized_keys文件里。

至此各个机器上的SSH配置已经完成,可以测试一下了,比如masterslave1发起ssh连接

jsj@mater:~/.ssh$ ssh  slave1

如果ssh配置好了,就会出现以下提示信息

The authenticity of host [dbrg-2] can't be established. 

Key fingerprint is 10245f: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  localhost  (因为后面的Hadoop命令受到这一步的影。注意如果你没有成功记住删除“~/.ssh/know_hosts”文件就可以重新开始。

6在三台虚拟机上分别安装jdk1.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 JAVA_HOME=/home/jsj/jdk1.6.0_13

    exportJRE_HOME=/home/jsj/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安装成功。你可以在slave1slave2 上执行同样的操作,也可以使用$

scp –r jdk1.6.0_13文件夹拷到其它两台虚拟机上,然后配置环境变量就OK了。

  至此jdk安装成功。注意安装jdk时容易出现的一个问题:第一是安装完成后只有安装时的登录用户可用java其它用户不可用。这样的话你要设置一下/etc/environment 文件。设置方法网上搜索就可以。

7在三台虚拟机上分别安装Hadoop-0.20.1

    第一步:将hadoop-0.20.1.tar.gz文件拷贝到/home/jsj目录下。

第二步:root@master:~/home/jsj/$tar -xzvf hadoop-0.20.1.tar.gz

//将文件解压。

第三步:root@master:~/home/jsj/$chown  jsj:jsj hadoop-0.20.1

//将文件所有者改成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   JAVA_HOME=/home/jsj/jdk1.6.0_13

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/$ geditcore-site.xml 

进入文件加入如下信息。  

<configuration>

     <property>

      <name>hadoop.tmp.dir</name>

      <value>/home/jsj/tmp</value>

      <description>A basefor other temporary directories.</description>

</property>

<!-- file system properties -->

<property>

      <name>fs.default.name</name>

      <value>hdfs://192.168.128.2:9000</value>

</property>

</configuration>

root@master:~/home/jsj/hadoop-0.20.1/conf/$ gedit hdfs-site.xml

进入文件加入如下信息。(replication默认是3,如果不修改,datanode少于三台就会报错)

<configuration>

     <property>

      <name>dfs.replication</name>

      <value>1</value>

     </property>

</configuration>

root@master:~/home/jsj/hadoop-0.20.1/conf/$ geditmapred-site.xml

进入文件加入如下信息。

<configuration>

<property>

      <name>mapred.job.tracker</name>

      <value>192.168.128.2:9001</value>

</property>

</configuration>

    第六步:jsj@master:~/$ scphadoop-0.20.1 jsj@slave1:/home/jsj/hadoop-0.20.1

//将文件hadoop-0.20.1拷贝到其它两个虚拟机上就可以了。

  至此hadoop安装完成。注意一个问题:运行时出现找不到主函数的错误,说明profile环境变量的设置没有起效。可以在/etc/environment 文件里加入一些信息。具体信息网上搜索。

8.运行hadoop自带的例程 wordcount

第一步: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  slave2 虚拟机上 jsj@slave1:~/hadoop-0.20.1/$jps

    第四步:(1)先在本地磁盘建立两个输入文件file01 file02:

第五步:jsj@master:~/soft/$echo “Hello World Bye World” > file01

jsj@master:~/soft/$ echo “Hello Hadoop GoodbyeHadoop” > file02

//在本地磁盘建立两个输入文件file01 file02。将HelloWorld Bye World语句和HelloHadoop Goodbye Hadoop语句分别加到file01文件和file02 文件里面。

第六步:jsj@master:~/hadoop-0.20.1/$ hadoopfs –mkdir input

//hdfs 中建立一个input 目录

第七步:jsj@master:~/hadoop-0.20.1/$ hadoopfs –copyFromLocal /home/jsj/soft/file0* input

//file01 file02 拷贝到hdfs 中。

第八步:jsj@master:~/hadoop-0.20.1/$ hadoopjar hadoop-0.20.1-examples.jar wordcount input output

//执行wordcount

第九步:jsj@master:~/hadoop-0.20.1/$ hadoopfs -cat output/part-r-00000

//完成之后,查看结果:

Bye 1

Goodbye 1

Hadoop 2

Hello 2

World 2

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值