首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Hadoop分布式集群平台筹建

2012-08-27 
Hadoop分布式集群平台搭建目的这篇文档的目的是帮助你快速完成在三台以上服务器搭建Hadoop应用平台。先决条

Hadoop分布式集群平台搭建

目的


这篇文档的目的是帮助你快速完成在三台以上服务器搭建Hadoop应用平台。


先决条件


? ? VirtualBox?虚拟机共3台
????? 操作系统:Ubuntu 10.4
? ? ? 内存: 256M以上

机器名IP??作用?master10.9.9.100NameNode、master、jobTrackerslave0110.9.9.101DataNode、slave、taskTrackerslave0210.9.9.102DataNode、slave、taskTracker


安装Hadoop集群前的准备工作

一、在每台机子上创建hadoop用户

$ group hadoop

$ useradd -g hadoop hadoop

$ passwd hadoop

?

? 当然也可以用图形界面中 系统设置-〉用户和组 添加。添加之后注销使用hadoop用户登录,接下来的配置都用hadoop用户操作


二、修改hosts,在三台机子配置如下host


sudo vi ?/etc/hosts

?

10.9.9.100 master10.9.9.101 slave0110.9.9.102 slave02
?

?

?

?


三、开启ssh服务

安装ssh服务 :sudo apt-get install openssh-server


(1)在master上实现无密码登录本机

$ ssh-keygen ?–t? dsa

一路回车,

完成后会在/home/hadoop/.ssh下生成两个文件:id_dsa和id_dsa.pub。这两对是成对出现的。再把id_dsa.pub加到authorized_keys文件里。方法如下:进入/home/hadoop/.ssh目录:

$?cat?id_dsa.pub >>authorized_keys

完成后可以实现无密码登录本机:

$ ssh localhost?

若无密码输入提示,则配置成功。


(2)实现master无密码登录其他slave01,slave02

在master机子上把id_dsa.pub文件复制给其它两台子

scp /home/hadoop/.ssh hadoop@slave01:/home/hadoop/


scp /home/hadoop/.ssh hadoop@slave02:/home/hadoop/


测试ssh 无密码登录

? ? ? ? ? ? ? ? $ ssh slave01

$?ssh slave02


安装


一、下载 jdk7 ? ? jdk-7-linux-x64.tar.gz

?http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html

$ sudo tar -zxvf?jdk-7-linux-x64.tar.gz -C /usr/local/java/

$ sudo mv /usr/local/java/jdk1.7.0?/usr/local/java/jdk


二、下载 hadoop ?hadoop-0.21.0.tar.gz

http://www.apache.org/dyn/closer.cgi/hadoop/common/

解压重命名

$ sudo tar -zxvf?hadoop-0.21.0.tar.gz?-C /usr/local/

$ sudo mv?/usr/local/hadoop-0.21.0?/usr/local/hadoop


(2)?添加环境变量?

$sudo vi /etc/profile

?

export HADOOP_HOME=/usr/local/hadoopexport JAVA_HOME=/usr/local/java/jdkexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
?

?

?

注意:上面的路径要和你解压的路径相一致,以上的配置三台机子都要相同


配置hadoop


??(1)建立目录
???????????? 在master服务器上,建立目录 /data/hadoop/name、/data/hadoop/tmp
???????????? 在slave01,slave02服务器上,建立目录 /data/hadoop/data01、/data/hadoop/data02、/data/hadoop/tmp
????????(2)建立无密码验证的ssh密钥及更改文件权限
????????????(mster) ? ? ? ? ? ? ? ? ?
????????????? # chown hadoop:hadoop -R /usr/local/hadoop
? ? ? ? ? ? ??# chown hadoop:hadoop -R /data/hadoop/name /data/hadoop/tmp?

(slave01、slave02)

? ? ??# chown hadoop:hadoop -R /usr/local/hadoop

????????????? # chown hadoop:hadoop -R /data/hadoop/data01 /data/hadoop/data02? /data/hadoop/tmp?


(3)在master上修改配置文件,修改完成后,拷贝到slave01和slave02,保证配置文件保持一致

要修改的文件有?{hadoop-install-dir}/conf/目录下的,

hadoop_env.sh? core-site.xmlhdfs-site.xmlmapred-site.xmlmastersslaves 六个文件

=======?hadoop_env.sh==========

?????????? 配置Hadoop需要的环境变量,其中JAVA_HOME是必须设定的变量。
?????????? export? JAVA_HOME=/usr/java/jdk1.6.0

?

=======core-site.xml==========



<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><!-- Put site-specific property overrides in this file. --><configuration>  <property><name>hadoop.tmp.dir</name><value>/data/hadoop/tmp</value><description>A base for other temporary directories.</description>  </property>                        <!-- file system properties --><property><name>fs.default.name</name><value>hdfs://master:9000</value>         </property></configuration>

?

=======hdfs-site.xml=======



<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><!-- Put site-specific property overrides in this file. --><configuration><property><name>dfs.replication</name><value>1</value></property><property><name>dfs.name.dir</name><value>/data/hadoop/name</value></property><property><name>dfs.data.dir</name><value>/data/hadoop/data01,/data/hadoop/data02</value></property></configuration>

?

================mapred-site.xml======================

?????????????


<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><!-- Put site-specific property overrides in this file. --><configuration><property>   <name>mapred.job.tracker</name>   <value>master:9001</value> </property> </configuration>

?

===============masters=====================

?

master
?

?


===============slaves=========================

?

slave01slave02
?

?


运行hadoop


? (1)格式化namenode

???????????$ ?hadoop namenode -format
??????????? 注意查看相关log是否报错,如将/data/hadoop/name文件夹整个删除或者给文件加上777权限 然后再格,一定要成功才能继续

? (2)启动hdfs服务
? ? ? ? ? ?$ start-all.sh


? (3)启动hdfs服务
? ? ? ? ? ?$ stop-all.sh


? ? (4) ?查看结果

http://10.9.9.100:50070/

? ?(5)其它

? ? ? ? ??查看进程情况:?jps可以用来查看当前hadoop运行的进程情况。

? ? ? ? ?hadoop dfsadmin –report可以用来查看当前hadoop的运行情况。


? ? ? ? ? ?




1 楼 锅巴49 2011-09-30   写得很详细,顶。

热点排行