Hadoop0.21在CentOS4.X上集群安装配置

以三个系统做集群为例,准备三个Linux系统IP分别为
192.168.0.100 master
192.168.0.101 hadoop1
192.168.0.102 hadoop1

192.168.0.100做为Name Node, 192.168.0.101和192.168.0.101做为Data Node

1.设置三个系统的hosts文件。
vi /ect/hots  #编辑三个系统的hosts文件,内容都一样,如下
192.168.0.100 master
192.168.0.101 hadoop1
192.168.0.102 hadoop1

2.创建hadoop用户(三个系统都要创建,用户名都是hadoop)
用root用户登陆后
[root@mylinux ~]# useradd hadoop
[root@mylinux ~]# passwd hadoop
Changing password for user hadoop.
New UNIX password: #设置密码
Retype new UNIX password: #重复刚设置的密码
passwd: all authentication tokens updated successfully.

3.设置SSH
目的是设置主节点和从节点之间不用密码就可以直接ssh访问
#首先确认防火墙关闭,设置防火墙开关在root用户下用命令
setup
#用hadoop用户进入分别进入三个系统(三个系统都要做)
[root@ ~]# su - hadoop #进入hadoop用户目录
[hadoop@ ~]$ ssh-keygen -t rsa #建立ssh目录,一路敲回车到底

#进入master系统
[hadoop@mylinux ~]$ cd .ssh
[hadoop@mylinux .ssh]$ cp  id_rsa.pub authorized_keys #复制公钥id_rsa.pub另存为authorized_keys
[hadoop@mylinux ~]$ scp  id_rsa.pub hadoop@hadoop1:/home/hadoop/.ssh/authorized_keys
#将从master系统复制的公钥文件authorized_keys传到hadoop1系统上去,第一次做会提示输入密码。
[hadoop@mylinux ~]$ scp -r id_rsa.pub hadoop@hadoop2:/home/hadoop/.ssh/authorized_keys
#将从master系统复制的公钥文件authorized_keys传到hadoop2系统上去。

#进入hadoop1系统
[root@hadoop1 ~]# su - hadoop
[hadoop@hadoop1 ~]$ cd .ssh
[hadoop@hadoop1 ~]$  scp  id_rsa.pub hadoop@master:/home/hadoop/.ssh/authorized_keys_1
#将hadoop1系统的公钥id_rsa.pub传到master系统上去,并改名为authorized_keys_1。

#进入hadoop1系统
[root@hadoop2 ~]# su - hadoop
[hadoop@hadoop2 ~]$ cd .ssh
[hadoop@hadoop2 ~]$  scp  id_rsa.pub hadoop@master:/home/hadoop/.ssh/authorized_keys_2
#将hadoop1系统的公钥id_rsa.pub传到master系统上去,并改名为authorized_keys_1。

#再进入master系统
[root@mylinux ~]# su - hadoop
[hadoop@mylinux ~]$ cd .ssh
[hadoop@mylinux ~]$ cat authorized_keys_1 >> authorized_keys  #将authorized_keys_1公钥内容追加到authorized_keys文件中
[hadoop@mylinux ~]$ cat authorized_keys_2 >> authorized_keys #将authorized_keys_2公钥内容追加到authorized_keys文件中

现在master用ssh连接hadoop1和hadoop2时不用输入密码了
可以试一下
[hadoop@mylinux ~]$ ssh hadoop1
Last login: Sun Jun 19 08:15:09 2011 from master
[hadoop@hadoop1 ~]$ #成功

4.下载JDK
下载网址http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u26-download-400750.html
我用的是Linux x86。 可以下载这种JDK来用:jdk-6u26-linux-i586.bin
下载完后将jdk-6u26-linux-i586.bin传到三个系统/home/hadoop目录下面,开始安装JDK(三个系统都要装)
su - hadoop
./jdk-6u26-linux-i586.bin
完成后搞定。

5.安装hadoop0.21
软件压缩包下载地址:http://apache.etoak.com//hadoop/common/hadoop-0.21.0/hadoop-0.21.0.tar.gz
下载完成后,压缩包hadoop-0.21.0.tar.gz传到master系统的/home/hadoop目录下
开始解压:
[root@mylinux ~]# su - hadoop
[root@mylinux ~]# tar zxvf  hadoop-0.21.0.tar.gz #解压后得到一个hadoop-0.21.0目录

安装前要配置/home/hadoop/hadoop-0.21.0/conf目录下的几个文件:hadoop-env.sh,core-site.xml,hdfs-site.xml,mapred-site,masters和slaves
#修改hadoop-env.sh
把#export JAVA_HOME=前面的#去掉,在=号后面加上java home目录/home/hadoop/jdk1.6.0_26
如下
export JAVA_HOME=/home/hadoop/jdk1.6.0_26

#修改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>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.replicatioin</name>
                <value>1<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和slaves修改后的内容如下
[hadoop@hadoop1 conf]$ cat masters
master
[hadoop@hadoop1 conf]$ cat slaves
hadoop1
hadoop2

6.配置.bash_profile文件,修改后内容如下(三个系统都要配置)
[hadoop@hadoop1 ~]$ cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin
export PATH
unset USERNAME

export JAVA_HOME=/home/hadoop/jdk1.6.0_26
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

export HADOOP_HOME=/home/hadoop/hadoop-0.21.0
export PATH=$PATH:$HADOOP_HOME/bin


7.部署到hadoop1和hadoop2系统上
进入master系统,压缩已经配置过的目录hadoop-0.21.0
[hadoop@mylinux ~]$ su - hadoop
[hadoop@mylinux ~]$ tar -zcvf hadoop-0.21.0.tar.gz hadoop-0.21.0 #压缩完成后会得到一个hadoop-0.21.0.tar.gz压缩包
现在要将这个压缩包copy到hadoop1和hadoop2系统里去
[hadoop@mylinux ~]$ scp hadoop-0.21.0.tar.gz hadoop1:/home/hadoop/    #将这个压缩包copy到hadoop1
hadoop-0.21.0.tar.gz                             100%   71MB   1.5MB/s   00:47
[hadoop@mylinux ~]$ scp hadoop-0.21.0.tar.gz hadoop2:/home/hadoop/    #将这个压缩包copy到hadoop2
hadoop-0.21.0.tar.gz                             100%   71MB   1.8MB/s   00:40

分别进入hadoop1和hadoop2解压传过来的压缩包
#进入hadoop1
[hadoop@hadoop1 ~]$ su - hadoop
[hadoop@hadoop1 ~]$ tar zxvf hadoop-0.21.0.tar.gz

#进入hadoop2
[hadoop@hadoop1 ~]$ su - hadoop
[hadoop@hadoop1 ~]$ tar zxvf hadoop-0.21.0.tar.gz


8.启动hadoop集群
进入master系统
[hadoop@mylinux bin]$ hadoop namenode -format      #格式化namenode 必需的
#如果你先进行了hadoop单机配置,在配置集群hadoop时,得将你原来机器上的数据删掉。默认数据存储在/usr/tmp/hadoop-{$user}下。否则启动守护进程时无法启动datanode和tasktracker。
#如果提示没有此命令,请检查.bash_profile中的HADOOP_HOME和PATH设置是否正确,或进入/home/hadoop/hadoop-0.21.0/bin敲start-all.sh   
[hadoop@mylinux bin]$ start-all.sh   
#这样就可以启动hadoop集群了

9.验证是否正常启动
在浏览器输入:
http://192.168.0.100:50070,页面正常显示,OK!

转载于:https://my.oschina.net/u/154922/blog/24092

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值