hadoop安装与配置

一、安装准备

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"

JAVA_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.

exportJAVA_HOME=/home/yuxl/jdk1.6.0_22

8、修改/yuxl/hadoop-0.21.0/conf/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>/hadoopdata</value>
  <description>A base for other temporary directories.</description>
</property>
 
<property>
  <name>fs.default.name</name>
  <value>hdfs://192.168.2.27:9000</value>
  <description>The name of the default file system.  A URI whose
  scheme and authority determine the FileSystem implementation.  The
  uri's scheme determines the config property (fs.SCHEME.impl) naming
  the FileSystem implementation class.  The uri's authority is used to
  determine the host, port, etc. for a filesystem.</description>
</property>
 
<property>
  <name>dfs.hosts.exclude</name>
  <value>excludes</value>
</property>
</configuration>

9、修改/yuxl/hadoop-0.21.0/conf/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>
</configuration>

10、修改/jz/hadoop-0.20.2/conf/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>192.168.2.27:9001</value>
  <description>The host and port that the MapReduce job tracker runs
  at.  If "local", then jobs are run in-process as a single map
  and reduce task.
  </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使之生效:

exportJAVA_HOME=/home/yuxl/jdk1.6.0_22

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

exportCLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

exportPATH=$JAVA_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。

相关推荐