您的位置:首页 > 运维架构

hadoop安装与配置

2010-11-21 20:52 363 查看

一、安装准备

1、下载hadoop0.21.0,地址:http://mirror.bjtu.edu.cn/apache/hadoop/core/hadoop-0.21.0/hadoop-0.21.0.tar.gz
2、JDK版本:jdk-6u22-linux-i586.bin(必须是1.6)
3、操作系统:ubuntu10.10
4、三台机器,192.168.2.27(master+slave),192.168.3.28(slave),192.168.3.29(slave)

二、安装操作

1、拷贝以上文件到Linux的“/root”目录下。同时新建目录“/jz”。
2、安装JDK:
执行代码:
jdk-6u22-linux-i586.bin
将会出现字幕,持续按回车键,直到屏幕出现需要输入yes/no,此时输入yes/y回车,将会把JDK解压到文件夹,得到jdk1.6.0_22.此时JDK安装完毕。下面进行配置。
执行代码:
sudogedit/etc/environment
在environment中修改如下信息:
PATH="........:/home/yuxl/jdk1.6.0_22/bin"
CLASSPATH=".:/home/yuxl/jdk1.6.0_22/lib"
J***A_HOME="/home/yuxl/jdk1.6.0_22"
由于ubuntu中有默认jdk还需要执行如下工作
执行代码:
sudoupdate-alternatives--install/usr/bin/javajava/home/yuxl/jdk1.6.0_22/bin/java300
sudoupdate-alternatives--install/usr/bin/javacjavac/home/yuxl/jdk1.6.0_22/bin/javac300
通过这一步将我们安装的JDK加入java选单
然后执行代码:
sudoupdate-alternatives--configjava
通过这一步设置系统默认的JDK
然后在shell中执行代码:
java-version
此时显示的系统中的java就是刚刚安装的java
3、解压hdaoop到/yuxl目录下。tar–zxvfhadoop-0.21.0.tar.gz-C/yuxl
4、配置27机器可以通过SSH无密码访问28和29:
在27上执行以下操作:

$ssh-keygen-tdsa-P''-f~/.ssh/id_dsa,

直接回车,完成后会在~/.ssh/生成两个文件:id_dsa和id_dsa.pub。这两个是成对出现,类似钥匙和锁。再把id_dsa.pub追加到授权key里面(当前并没有authorized_keys文件):

$cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys。

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

$sshlocalhost

把27上的id_dsa.pub文件追加到28和29的authorized_keys内(以192.168.2.28节点为例):

a.拷贝27的id_dsa.pub文件:

$scpid_dsa.pub192.168.2.28:/root/

b.登录192.168.2.28,进入/root目录执行:

$catid_dsa.pub>>.ssh/authorized_keys

之后可以在27上不输入密码直接访问28

5、修改/yuxl/hadoop-0.21.0/conf/目录下的master文件,内容如下:
192.168.2.27


6、修改/yuxl/hadoop-0.21.0/conf/目录下的slaves文件,内容如下:

192.168.2.27(同时为namenode和datanode)

192.168.2.28

192.168.2.29


7、修改/yulx/hadoop-0.21.0/conf/hadoop-env.sh文件的环境变量:

#Thejavaimplementationtouse.Required.

exportJ***A_HOME=/home/yuxl/jdk1.6.0_22

8、修改/yuxl/hadoop-0.21.0/conf/core-site.xml配置文件,内容如下:

<?xmlversion="1.0"?>

<?xml-stylesheettype="text/xsl"href="configuration.xsl"?>

<!--Putsite-specificpropertyoverridesinthisfile.-->

<configuration>

<property>

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

<value>/hadoopdata</value>

<description>Abaseforothertemporarydirectories.</description>

</property>


<property>

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

<value>hdfs://192.168.2.27:9000</value>

<description>Thenameofthedefaultfilesystem.AURIwhose

schemeandauthoritydeterminetheFileSystemimplementation.The

uri'sschemedeterminestheconfigproperty(fs.SCHEME.impl)naming

theFileSystemimplementationclass.Theuri'sauthorityisusedto

determinethehost,port,etc.forafilesystem.</description>

</property>


<property>

<name>dfs.hosts.exclude</name>

<value>excludes</value>

</property>

</configuration>

9、修改/yuxl/hadoop-0.21.0/conf/hdfs-site.xml配置文件,内容如下:

<?xmlversion="1.0"?>

<?xml-stylesheettype="text/xsl"href="configuration.xsl"?>

<!--Putsite-specificpropertyoverridesinthisfile.-->

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>

10、修改/jz/hadoop-0.20.2/conf/mapred-site.xml配置文件,内容如下:

<?xmlversion="1.0"?>

<?xml-stylesheettype="text/xsl"href="configuration.xsl"?>

<!--Putsite-specificpropertyoverridesinthisfile.-->

<configuration>

<property>

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

<value>192.168.2.27:9001</value>

<description>ThehostandportthattheMapReducejobtrackerruns

at.If"local",thenjobsarerunin-processasasinglemap

andreducetask.

</description>

</property>

</configuration>

11、修改ect/hosts配置文件,内容如下:

#Donotremovethefollowingline,orvariousprograms

#thatrequirenetworkfunctionalitywillfail.

127.0.0.1localhost

192.168.2.27机器名

192.168.2.28机器名

192.168.2.29机器名

12、修改/ect/profile配置文件,在末尾追加以下内容,并输入source/etc/profile使之生效:

exportJ***A_HOME=/home/yuxl/jdk1.6.0_22


exportJRE_HOME=/home/yuxl/jdk1.6.0_22/jre


exportCLASSPATH=.:$J***A_HOME/lib:$JRE_HOME/lib:$CLASSPATH


exportPATH=$J***A_HOME/bin:$PATH


exportHADOOP_HOME=/home/yuxl/hadoop-0.21.0


exportPATH=$HADOOP_HOME/bin:$PATH


exportPATH=$PATH:$HIVE_HOME/bin


13、将/jz/hadoop-0.20.2拷贝到192.168.3.132和192.168.3.133对应的目录下。将/ect/profile和/etc/hosts也拷贝到132和133机器上。注意profile需要做生效操作。

三、启动/停止hadoop

1、通过shell脚本启动hadoop。

sh/yuxl/hadoop-0.21.0/bin/start-all.sh

2、停止hadoop

sh/yuxl/hadoop-0.21.0/bin/stop-all.sh

四、初始配置

1、格式化HDFS文件系统。进入/jz/hadoop-0.20.2/bin目录。执行:

hadoopnamenode–format

2、在/yuxl/hadoop-0.21.0/bin目录下,执行:

hadoopfs-ls/

如果控制台返回结果,表示初始化成功。可以向里面录入数据。

3、通过WEB查看hadoop

查看集群状态http://192.168.2.27:50070/dfshealth.jsp

查看JOB状态http://192.168.2.27:50030/jobtracker.jsp

五、注意事项

1、hadoop的安装千万计的修改/etc/hosts文件。修改之后最好是重启机器。
2、master和slaves这2个配置文件可以不拷贝到s132和s133机器上,只在master上保存即可。
3、通过web查看hadoop的时候,如果使用IE一些图形工具显示不出来,建议使用opera或是chrome。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: