配置环境及有关工具:ubuntu10.04  、hadoop0.20.2 、 jdk1.6.0_29

我们的机器有三台,一台当作namenode、两台当作datanode:

namenode:IP:192.168.0.25、机器名:kiddenzj (这里的机器名要注意:机器名不能包含下划线“_”,一开始没注意后来找了半天才发现这个原因)

datanode:IP:192.168.0.8 、机器名:kiddenxcc

IP192.168.0.66、机器名: kiddenhw

集群里所有登陆的用户名和密码都要保持相同,我在这里创建了名为grid的用户,后面的步骤就是在这个用户下进行的。

配置步骤:

1)安装ssh

输入命令:

[java] view plaincopy
  1. apt-get install ssh

2)SSH配置

SSH配置主要是为了实现在机器间执行指令时不再需要输入密码,在所有的机器上建立.ssh目录,这里我们建立在/home/grid下面:

[html] view plaincopy
  1. mkdir .ssh

然后在namenode机器上生成密钥对,执行:

[html] view plaincopy
  1. ssh-keygen -t rsa

然后一直按Enter键,就会按照默认选项生成密钥对保存在.ssh/id_rsa文件中。

继续执行如下命令,把密钥传递给每个datanode节点:

[java] view plaincopy
  1. cd ~/.ssh
  2. cp id_rsa.pub authorized_keys
  3. scp authorized_keys kiddenhw:/home/grid/.ssh
  4. scp authorized_keys kiddenxcc:/home/grid/.ssh

然后分别在每台datanode机器上执行如下命令,以改变authorized_keys文件的许可权限:

[html] view plaincopy
  1. chmod 644 authorized_keys

到此,从namenode发起的到其他datanode节点的SSH连接,就会只需在第一次登录是输入密码,以后则不再需要。

可以通过如下命令发起连接:

[html] view plaincopy
  1. ssh kiddenhw

3)jdk的安装(namenode机和datanode机均按此安装)

下载jdk-6u29-linux-i586.bin,安装到/usr/java下,cd到usr/java下,

[python] view plaincopy
  1. sudo chmod u+x jdk-6u29-linux-i586.bin
  2. sudo ./jdk-6u29-linux-i586.bin

接下来要设置java的环境变量输入命令:

[javascript] view plaincopy
  1. sudo gedit /etc/profile

在文件的最后添加以下语句:

[html] view plaincopy
  1. JAVA_HOME=/usr/java/jdk1.6.0_29
  2. export JRE_HOME=/usr/java/jdk1.6.0_29/jre
  3. export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
  4. export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

保存退出,然后执行source /etc/profile即可。

输入java -version 命令,出现如下信息就表示配置成功

[java] view plaincopy
  1. java version "1.6.0_29"
  2. Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
  3. Java HotSpot(TM) Server VM (build 20.4-b02, mixed mode)

4)hadoop的安装配置(只是在namenode端安装配置,完成后namenode可以直接把配置好的hadoop发送到各个datanode端)

在这里,下载hadoop-0.20.2.tar.gz,然后解压到/home/grid/下即可,

在hadoop文的件夹下需要建立几个文件夹,如下:

(这里一开始没有创建,结果查看运行信息的时候,虽然datanode节点都有进程在运行,但livenodes节点依然为0)

[html] view plaincopy
  1. mkdir tmp
  2. mkdir hdfs
  3. mkdir hdfs/name
  4. mkdir hdfs/data

接下来需要修改hadoop的conf文件夹下的配置信息:

修改hadoop-env.sh,加入如下语句,使得hadoop能够找到java的路径。:

[java] view plaincopy
  1. export JAVA_HOME=/usr/java/jdk1.6.0_2

修改core-site.xml,如下:

[java] view plaincopy
  1. <configuration>
  2. <property>
  3. <name>fs.default.name</name>
  4. <value>hdfs://kiddenzj:9000</value>
  5. </property>
  6. </configuration>

修改hdfs-site.xml,如下

[cpp] view plaincopy
  1. <configuration>
  2. <property>
  3. <name>dfs.replication</name>
  4. <value>1</value>
  5. </property>
  6. </configuration>

修改mapred-site.xml,如下:

[java] view plaincopy
  1. <configuration>
  2. <property>
  3. <name>mapred.job.tracker</name>
  4. <value>kiddenzj:9001</value>
  5. </property>
  6. </configuration>

masters里写入作为namenode节点机器的名称,我们这里是:kiddenzj

slaves里写入作为datanode节点的机器名,这里是:kiddenhw和kiddenxcc

到此,hadoop的有关配置已经完成,namenode端通过如下命令把配置好的hadoop发送到各个datanode处:

[html] view plaincopy
  1. scp -r hadoop-0.20.2 kiddenhw:/home/grid
  2. scp -r hadoop-0.20.2 kiddenxcc:/home/grid

5)修改每台机器上/etc下面的hosts文件,也就是写入所有的机器名和对应IP地址(包括namenode和datanode节点),我们这里修改后如下:

[java] view plaincopy
  1. 127.0.0.1   localhost
  2. 192.168.0.8    kiddenxcc
  3. 192.168.0.25   kiddenzj
  4. 192.168.0.66   kiddenhw

6)
到此基本配置已经完成,在namenode端cd到hadoop文件夹下,格式化分布式文件系统:

[html] view plaincopy
  1. bin/hadoop namenode -format

下面接着在namenode端启动hadoop进程:

[html] view plaincopy
  1. bin/start-all.sh

如果没有其它差错的话,hadoop可以正常启动,并能够看到如下结果:

在namenode端用jps命令查看启动情况,如下:

[html] view plaincopy
  1. grid@kiddenzj:~/hadoop-0.20.2$ jps
  2. xxxx Jps
  3. xxxx Namenode
  4. xxxx Secondarynamenode
  5. xxxx JobTracker

在datanode端用jps查看启动情况,如下:

[html] view plaincopy
  1. grid@kiddenhw:~/hadoop-0.20.2$ jps
  2. xxxx Jps
  3. xxxx DataNode
  4. xxxx TaskTracker

然后可以通过如下地址来查看集群运行状况:

[html] view plaincopy
  1. http://kiddenzj:50030
  2. http://kiddenzj:50070
  3. <pre name="code" class="html">    http://kiddenhw:50060</pre>
  4. <pre></pre>
  5. <pre></pre>
  6. <pre></pre>
  7. <pre></pre>
  8. <pre></pre>
  9. <pre></pre>

ubuntu10.04+hadoop0.20.2平台配置(完全分布式模式)相关推荐

  1. hadoop-0.20.2安装配置

    该环境在Vmware Workstation 12 上安装配置一共三台机器master,slave1,slave2. 操作系统:Cenos 7.0 hadoop 版本:hadoop-0.20.2,版本 ...

  2. 全志A10编译服务器ubuntu10.04.4 64bit安装及配置

    公司的64位的编译服务器需要安装ubuntu-10.04.4-desktop-amd64.iso, 在http://releases.ubuntu.com/lucid/可以找到, 下载地址为:http ...

  3. ubuntu10.04以及10.10安装配置tftp服务

    没想到安装个TFTP服务,出现了这么多问题,一会不是传输时间超时,就是文件明明写进去了,去提示没有写进去.重新卸载,下载,没想到中途下载不动,强制停止,新立得又不能用了,经过一上午的不停测试.终于又好 ...

  4. hadoop-0.20.2完全分布式集群

    集群规划 准备五台台虚拟机(实验以五台RedHat Enterprise Linux 6.5为例) 防火墙.iptables.和SSH已经在上一篇说过在此就不再赘述,完全分布式相对于伪分布式多了几个注 ...

  5. 【Linux入门学习之】ubuntu10.04 ruijie配置上网(用mentohust)

    今天终于把Linux下ubuntu用ruijie鋭捷联网给搞定了,而且十分稳定,不掉线!爽!配置起来也很快. 首先说一下,我的电脑是在Windows7上用wubi安装的ubuntu双系统,版本是10. ...

  6. ubuntu10.04下 简单配置samba

    ubuntu10.04下 简单配置samba,实现windows xp 访问linux 共享夹 关键字: ubuntu samba 今天在家,闲着没事,就想学习一下samba 来实现windows x ...

  7. VMware的配置及ubuntu10.04 tftp 与嵌入式开发板的连接设置

    说明本人用的是笔记本来搭建VMWare开发环境,在Windows上面装VMWare6.5,在VM6.5上安装linux-ubuntu10.04发行版,ubuntu作为编译环境,并且建立tftpboot ...

  8. ubuntu10.04下安装fcitx小企鹅输入法,配置,美化及删除多余码表

    今天晚上装了很久的fcitx,貌似还是没有到达我的要求.还是不爽.但是这个输入法还是比前两个还是要快些拉.下面这个方法还是比较全的.希望转过来对大家有帮助. 转于:http://hi.baidu.co ...

  9. Ubuntu10.04制作官方源镜像以及搭建本地源

    不能上网.网速慢.共享等等需求,使我们不能或者不想使Ubuntu10.04在线安装软件包,而是需要一个本地的更新源.通过apt-mirror工具,我们可以轻松制作官方源的本地镜像,通过本地镜像,我们可 ...

最新文章

  1. VS Code 安装 Go 插件、自定义扩展配置、断点调试
  2. 利用OnAnimatorove函数控制人物的移动
  3. oracle数据库赋权_oracle数据库用户之间授权
  4. opencv生成随机图(随机彩图,随机灰图)
  5. 日本各地方与所属各县名称及其读音
  6. python坐标定位_如何利用Python识别并定位图片中某一个色块的坐标?
  7. ubuntu c++检测usb口事件变化_炼就“火眼金睛”,FETA40i-C核心板“牵手”光时域反射仪...
  8. Python核心编程第二版 第十三章课后答案
  9. LeetCode刷题(41)--Sort Color
  10. 中国股市十大风云人物
  11. aix linux ftp服务器,AIX主机FTP到LINUX服务器其中的磕碰记录
  12. qt中将按钮指向的鼠标变成手型
  13. (附源码)spring boot物联网智能管理平台 毕业设计 211120
  14. 采访计算机老师的问题,全程导学 | 第24期 行远自迩,笃行不怠——专访邹立仁老师...
  15. 抓取淘宝天猫的商品的促销价格
  16. 程序员的两个主线和四个象限
  17. tabindex 属性 - HTML中代表使用Tab键的遍历顺序
  18. 基于opencv的理想低通滤波器和巴特沃斯低通滤波器
  19. C/C++程序计时函数
  20. Web安全渗透全套教程 [1/40]

热门文章

  1. 《MySQL——基于位点orGTID的主备切换协议》
  2. 十八、对已经找到轮廓的图像进行测量
  3. 远控免杀专题7 ---shellter免杀
  4. 流畅的python目录_流畅的python python 序列
  5. 2013_hangzhou_online
  6. HDU2066:一个人的旅行
  7. 软件工程学习笔记《一》什么是软件工程
  8. fork()请问下面的程序一共输出多少个“A”?多少个-?
  9. Qt中槽函数触发两次的两种场景分析
  10. C++ STL string 简单使用