`

安装Hadoop和HBase

阅读更多
我使用的是ubuntu10.04.3版本,Hadoop与HBase使用的是Cloudera公司的hadoop0.20.2-cdh3u1与hbase0.90.3-cdh3u1版本。

1.集群规划:
使用3个虚拟机来构建集群,以后可以考虑做增加节点的实验。
机器名,IP分别为:
myCloud01,10.63.0.121, hadoop namenode,datanode / hbase HMaster
myCloud02,10.63.0.122, hadoop datanode / hbase HRegionServer
myCloud03,10.6.30.123, hadoop daganode / hbase HRegionServer

myCloud01做为master,slave与JobTracker,myCloud02与myCloud03做为slave与TaskTracker。

查看机器名字:$hostname
修改ubuntun机器的hostname,直接修改/etc /hostname文件

2.安装Hadoop与HBase之前的准备:
1) 创建非root用户hadoop
由于Cloudera公司的Hadoop只能在非root用户下启动,因此,我们建立一个非root用户hadoop,密码也为hadoop。

2)安装jdk
由于Hadoop要使用到jdk,因此在安装Hadoop之前必须安装jdk。我下载的是jdk-6u16-dlj-linux-i586.bin。首先赋予该文件执行权限:
$chmod a+x jdk-6u16-dlj-linux-i586.bin
然后安装jdk:
$./jdk-6u16-dlj-linux-i586.bin

3)解压hadoop0.20.2-cdh3u1,hbase0.90.3-cdh3u1
在myCloud01,myCloud02,myCloud03上创建cdh3目录
$mkdir /home/hadoop/cdh3
在myCloud01上解压hadoop0.20.2-cdh3u1,hbase0.90.3-cdh3u1,zookeeper-3.3.3-cdh3u1
$tar zxvf hadoop0.20.2-cdh3u1.tar.gz -C /home/hadoop/cdh3
$tar zxvf hbase0.90.3-cdh3u1.tar.gz -C /home/hadoop/cdh3
$tar zxvf zookeeper-3.3.3-cdh3u1.tar.gz -C /home/hadoop/cdh3

在myCloud01上修改/etc/profile
$sudo vim /etc/profile
添加代码
JAVA_HOME=/home/hadoop/cdh3/jdk1.6.0_16

JRE_HOME=$JAVA_HOME/jre

HADOOP_HOME=/home/hadoop/cdh3/hadoop-0.20.2-cdh3u1

HBASE_HOME=/home/hadoop/cdh3/hbase-0.90.3-cdh3u1

ZOOKEEPER_HOME=/home/hadoop/cdh3/zookeeper-3.3.3-cdh3u1

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH

PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf:$PATH

export JAVA_HOME JRE_HOME CLASSPATH HADOOP_HOME HBASE_HOME ZOOKEEPER_HOME PATH


在myCloud02,myCloud03上修改/etc/profile
$sudo vim /etc/profile
添加代码
JAVA_HOME=/home/hadoop/cdh3/jdk1.6.0_16

JRE_HOME=$JAVA_HOME/jre

HADOOP_HOME=/home/hadoop/cdh3/hadoop-0.20.2-cdh3u1

HBASE_HOME=/home/hadoop/cdh3/hbase-0.90.3-cdh3u1

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar$CLASSPATH

PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin:$PATH

export JAVA_HOME JRE_HOME CLASSPATH HADOOP_HOME HBASE_HOME PATH


4)设置ssh免密码登录
用hadoop用户登录myCloud01,myCloud02,myCloud03,在/home/hadoop/下建立.ssh目录

$ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
在~/.ssh/会生成两个文件:id_rsa和id_rsa.pub
$cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
将authorized_keys拷贝到myCould02和myCloud03
$ scp /home/hadoop/.ssh/authorized_keys hadoop@10.63.0.122:/home/hadoop/.ssh/

5)修改hosts文件
$sudo vim /etc/hosts
修改所有机器的/etc/hosts文件为:
127.0.0.1     loaclhost
10.63.0.121   myCloud01
10.63.0.122   myCloud02
10.63.0.123   myCloud03


然后在myCloud01上用ssh登陆myCloud02,myCloud03,第一次登录需要确认,以后就不需要了。
$ssh myCloud02
$ssh myCloud03

3.安装Hadoop
1)在myCloud01上修改Hadoop环境变量
在/home/hadoop/cdh3/hadoop-0.20.2-cdh3u1/conf/hadoop-env.sh中添加
export JAVA_HOME=/home/hadoop/cdh3/jdk1.6.0_16

2)在/home/hadoop/cdh3/hadoop-0.20.2-cdh3u1/conf/core-site.xml中添加
<property>
<name>fs.default.name</name>
<value>hdfs://myCloud01:9000</value>
</property>

<property>
<name>hadoop.tmp.dir</name>
<value>/data/tmp</value>
</property>

3)在/home/hadoop/cdh3/hadoop-0.20.2-cdh3u1/conf/hdfs-site.xml中添加
<property>
<name>dfs.replication</name>
<value>1</value>
</property>

<property>
<name>dfs.permissions</name>
<value>false</value>
</property>

<property>
<name>dfs.name.dir</name>
<value>/data/name</value>
</property>

<property>
<name>dfs.data.dir</name>
<value>/data/data</value>
</property>


4)在/home/hadoop/cdh3/hadoop-0.20.2-cdh3u1/conf/mapred-site.xml中添加
<property>
<name>mapred.job.tracker</name>
<value>myCloud01:9001</value>
</property>


5)将/home/hadoop/cdh3/hadoop-0.20.2-cdh3u1/conf/masters修改为
myCloud01


6)将/home/hadoop/cdh3/hadoop-0.20.2-cdh3u1/conf/slaves修改为
myCloud01
myCloud02
myCloud03


7)拷贝myCloud01的Hadoop到myCloud02与myCloud03
$ scp -r /home/hadoop/cdh3/hadoop-0.20.2-cdh3u1/hadoop@10.63.0.122:/home/hadoop/cdh3/

8)格式化Hadoop
在myCloud01上使用下面的命令:
$hadoop namenode -format
启动Hadoop:
$start-all.sh
使用$jps命令查看,如果namenode,secondarynode,datanode,jobtracker,tasktracker都启动起来表明Hadoop启动成功。然后打开http//myCloud01:50070就可以观察datanode,打开http://myCloud01:50030就可以观察JobTracker。

4.安装HBase
1)在myCloud01上修改/home/hadoop/cdh3/hbase-0.90.3-cdh3u1/conf/hbase-env.sh添加
export JAVA_HOME=/home/hadoop/cdh3/jdk1.6.0_16
export HBASE_CLASSPATH=/home/hadoop/cdh3/hbase-0.90.3/conf 


2) 在myCloud01上修改/home/hadoop/cdh3/hadoop-0.20.2-cdh3u1/conf/hadoop-env.sh添加
export HBASE_HOME=/home/hadoop/cdh3/hbase-0.90.3-cdh3u1
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HBASE_HOME/hbase-0.90.3-cdh3u1.jar:$HBASE/hbase-0.90.3-cdh3u1-tests.jar:$HBASE_HOME/lib/zookeeper-3.3.3-cdh3u1.jar


2)在myCloud01上修改/home/hadoop/cdh3/hbase-0.90.3-cdh3u1/conf/hbase-site.xml添加
<property>
<name>hbase.rootdir</name>
<value>hdfs://myCloud01:9000/hbase</value>
</property>

<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>

<property>
<name>hbase.master.port</name>
<value>6000</value>
</property>

<property>
<name>hbase.zookeeper.quorum</name>
<value>myCloud01</value>
</property>


3)在myCloud01上/home/hadoop/cdh3/hbase-0.90.3-cdh3u1/conf/regionservers添加
myCloud01
myCloud02
myCloud03


4)将myCloud01上得hbase拷贝到myCloud02与myCloud03上
$ scp -r /home/hadoop/cdh3/hbase-0.90.3-cdh3u1/ hadoop@10.63.0.122:/home/hadoop/cdh3/

5) 在Hadoop启动的情况下,使用$start-hbase.sh命令,用$jps查看,如果发现HMaster进程,则表明已经HBase已经启动。可以打开http://myCloud01查看HBase的详细信息。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics