Hadoop2.6+Hbase1.0集群搭建

HBase安装

http://hbase.apache.org/

HBase的安装也有三种模式:单机模式、伪分布模式和完全分布式模式,在这里只介绍完全分布模式。前提是Hadoop集群和Zookeeper已经安装完毕,并能正确运行。 

第一步:下载安装包,解压到合适位置,并将权限分配给hadoop用户(运行hadoop的账户)

这里下载的是hbase-0.94.6,Hadoop集群使用的是1.0.4,将其解压到/usr/local下并重命名为hbase

sudo cp hbase-0.94.6.tar.gz /usr/local

sudo tar -zxf hbase-0.94.6.tar.gz

sudo mv hbase-0.94.6 hbase

sudo chown -R hadoop:hadoop hbase 

第二步:配置相关的文件

(1)配置hbase-env.sh,该文件在/usr/local/hbase/conf

设置以下值:

export JAVA_HOME=/usr/local/java/jdk1.6.0_27    #Java安装路径

export HBASE_CLASSPATH=/usr/local/hadoop/conf    #HBase类路径

export HBASE_MANAGES_ZK=true    #由HBase负责启动和关闭Zookeeper 

(2)配置hbase-site.xml,该文件位于/usr/local/hbase/conf

<property>

           <name>hbase.master</name>

           <value>master:6000</value>

   </property>

   <property>

           <name>hbase.master.maxclockskew</name>

           <value>180000</value>

   </property>

   <property>

           <name>hbase.rootdir</name>

           <value>hdfs://master:9000/hbase</value>

   </property>

   <property>

           <name>hbase.cluster.distributed</name>

           <value>true</value>

   </property>

   <property>

           <name>hbase.zookeeper.quorum</name>

           <value>master</value>

   </property>

   <property>

           <name>hbase.zookeeper.property.dataDir</name>

           <value>/home/${user.name}/tmp/zookeeper</value>

   </property>

   <property>

           <name>dfs.replication</name>

           <value>1</value>

   </property> 

其中,hbase.master是指定运行HMaster的服务器及端口号;

hbase.master.maxclockskew是用来防止HBase节点之间时间不一致造成regionserver启动失败,默认值是30000;

hbase.rootdir指定HBase的存储目录;

hbase.cluster.distributed设置集群处于分布式模式;

hbase.zookeeper.quorum设置Zookeeper节点的主机名,它的值个数必须是奇数;

hbase.zookeeper.property.dataDir设置Zookeeper的目录,默认为/tmp,dfs.replication设置数据备份数,集群节点小于3时需要修改,本次试验是一个节点,所以修改为1。

(3)配置regionservers,该文件位于/usr/local/hbase/conf

设置所运行HBase的机器,此文件配置和hadoop中的slaves类似,一行指定一台机器,本次试验仅用一台机器,设置master即可。

(4)设置HBase环境变量,文件位于/etc/profile

在文件末尾添加:

   #hbase Env

export HBASE_HOME=/usr/local/hbase

export PATH=$PATH:$HBASE_HOME/bin 

使之生效:source /etc/profile

第三步:运行测试

启动hadoop后,在终端输入$HBASE_HOME/bin/start-hbase.sh,查看运行的进程:

关闭:stop-hbase.sh

参考1:

Hbase完全分布式集群安装配置(Hbase1.0.0,Hadoop2.6.0)

http://blog.csdn.net/wuwenxiang91322/article/details/44684655

1.安装软件

    OS:centos6.5

    Hadoop:hadoop2.6.0

    Hbase:hbase.1.0.0

    JDK: jdk1.7.0_51

集群机器:

    192.168.153.130(hadoop01 namenode)

    192.168.153.131 (hadoop02 datanode)

    192.168.153.132 (hadoop03 datanode)

2.安装步骤

    如下安装步骤假设的JDK已经安装,如果未安装请自行查找JDK安装教程。

2.1 安装hadoop

(1)下载hadoop版本(hadoop2.6.0),下载地址:http://www.apache.org/dyn/closer.cgi/hadoop/common/   在此路径下选择相应的版本下载。

(2)解压hadoop-2.6.0.tar.gz

    tar zxvf hadoop-2.6.0.tar.gz  -C /usr/local/soft/

    将hadoop解压到/usr/local/soft/ 目录下。

(3)将hadoop添加到环境变量中

    vim ~/.bashrc 打开.bashrc文件添加HADOOP_HOME

    exportJAVA_HOME=/usr/local/soft/jdk1.7.0_79

    export PATH=$HADOOP_HOME/bin:$PATH

(4)修改配置文件($HADOOP_HOME/etc/hadoop目录下)

 配置core-site.xml

 <configuration>

  <property>

    <name>fs.defaultFS</name>

    <value>hdfs://192.168.8.101:8020</value>

    <final>true</final>

  </property>

  <property>

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

    <value>/usr/local/soft/hadoop-2.6.0/data/tmp</value>

  </property>

</configuration>

配置hdfs-site.xml:

<configuration>

  <property>

    <name>dfs.namenode.name.dir</name>

    <value>/usr/local/soft/hadoop-2.6.0/data/namenode</value>

  </property>

  <property>

    <name>dfs.datanode.data.dir</name>

    <value>/usr/local/soft/hadoop-2.6.0/data/datanode</value>

  </property>

  <property>

    <name>dfs.replication</name>

    <value>1</value>

  </property>

</configuration>

配置mapred-site.xml文件

  <configuration>

  <property>

    <name>mapreduce.framework.name</name>

    <value>yarn</value>

  </property>

  <property>

    <name>mapreduce.jobhistory.address</name>

    <value>hadoop01:10020</value>

  </property>

  <property>

    <name>mapreduce.jobhistory.webapp.address</name>

    <value>hadoop01:19888</value>

  </property>

  <property>

    <name>mapreduce.cluster.temp.dir</name>

    <value>/usr/local/soft/hadoop-2.6.0/data/mr_temp</value>

  </property>

</configuration>

配置yarn-site.xml文件

<configuration>

  <property>

    <name>yarn.resourcemanager.hostname.rm1</name>

    <value>hadoop01</value>

  </property>

  <property>

    <name>yarn.nodemanager.aux-services</name>

    <value>mapreduce_shuffle</value>

  </property>

  <property>

    <name>yarn.log.dir</name>

    <value>/usr/local/soft/hadoop-2.6.0/data/yarn_log</value>

  </property>

</configuration>

修改slaves文件,添加datanode节点hostname到slaves文件中

hadoop01

hadoop02

hadoop03

(5)格式化集群,在hadoop01节点上执行如下命令:

    hadoop namenode -format

(6)启动集群,在hadoop01节点上执行如下命令:

    start-all.sh

(7) 通过浏览器查看hadoop是否安装成功:

    输入: http://hadoop01:50070

    

    输入:http://hadoop01:8088/

    

2.2 安装Hbase

(1)下载hbase版本

    下载地址:http://www.apache.org/dyn/closer.cgi/hbase/,在此路径下选择相应的版本下载,本次安装下载hadoop1.0.0版本

(2)解压hbase-1.0.0-bin.tar.gz

    tar zxvf hbase-1.0.0-bin.tar.gz –C /usr/local/soft/

(3)将hbase添加到环境变量中

    export HBASE_HOME=:/usr/local/soft/hbase-1.0.0

    export PATH=$HBASE_HOME/bin:$PATH

(4)修改配置文件

    修改hbase-env.sh

    exportJAVA_HOME=/home/hadoop001/thirdparty/jdk1.7.0_51

    修改hbase-site.xml

    <configuration>

        <property>

         <name>hbase.rootdir</name>

         <value>hdfs://hadoop01:8020/hbase</value>

        </property>

        <property>

          <name>hbase.cluster.distributed</name>

          <value>true</value>

        </property>

        <property>

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

         <value>hadoop01,hadoop02,hadoop03</value>

        </property>

        <property>

         <name>hbase.zookeeper.property.dataDir</name>

         <value>/usr/local/soft/hadoop/zookeeper</value>

        </property>

           <property>

           <name>hbase.master.maxclockskew</name>

           <value>180000</value>

        </property>

</configuration>

备注:

    在上面的配置文件中,第一个属性指定本机的hbase的存储目录;

第二个属性指定hbase的运行模式,true代表全分布模式;第三和第四个属性是关于Zookeeper集群的配置。我的Zookeeper安装在hadoop01,hadoop02和hadoop03上。

修改regionservers,在regionservers文件中添加如下内容:

    hadoop02

    hadoop03

复制到其他两个节点

     scp -r hadoop01 \hadoop02:/usr/local/soft 

     scp -r hadoop01 \hadoop03:/usr/local/soft 

(5)启动hbase

    启动hbase时要确保hdfs已经启动。在主节点上执行:

    start-hbase.sh   $HBASE_HOME/bin/start-hbase.sh

    启动成功后集群会多出如下进程:

    NameNode节点:

     图片省略...

    Datanode节点:

      图片省略...

    通过浏览器查看:

    输入:http://hadoop01:16010  

      图片省略...

2.3 Hbase shell测试

(1)执行$HBASE_HOME/bin/hbase shell 命令:

(2)创建testtable表

     create 'testtable:colfaml'

(3)put数据

     hbase shell是基于Ruby实现的,因此使用过程中可以将hbase shell与Ruby代码混合使用,此示例参考《HBase权威指南》p-66页shell介绍。

    for i in 'a'..'z' do for j in 'a'..'z' do \

    put 'testtable' , "row-#{i}#{j}","colfaml:#{j}" ,"#{j}" end end(4)查看插入数据

    scan 'testtable'

    部分结果截图:

      图片省略...

3.常用参数(待续)

4.备注

    目前安装所有配置都是最简配置,并没有考虑参数优化,此教程的目的是让Hbase先跑起来,优化后期继续做。

bug:

1、没有HRegionServer、HMaster

2、centos-zookeeper-01的hbase服务启动不起来