阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Hbase0.98版本的安装部署配置管理(Hadoop2.3、Hbase0.98、Hive0.13整合)

125次阅读
没有评论

共计 19544 个字符,预计需要花费 49 分钟才能阅读完成。

简介:

HStore 存储是 HBase 存储的核心了,其中由两部分组成,一部分是 MemStore,一部分是 StoreFiles。MemStore 是 Sorted Memory Buffer,用户写入的数据首先会放入 MemStore,当 MemStore 满了以后会 Flush 成一个 StoreFile(底层实现是 HFile),当 StoreFile 文件数量增长到一定阈值,会触发 Compact 合并操作,将多个 StoreFiles 合并成一个 StoreFile,合并过程中会进行版本合并和数据删除,因此可以看出 HBase 其实只有增加数据,所有的更新和删除操作都是在后续的 compact 过程中进行的,这使得用户的写操作只要进入内存中就可以立即返回,保证了 HBase I/ O 的高性能。

当 StoreFiles Compact 后,会逐步形成越来越大的 StoreFile,当单个 StoreFile 大小超过一定阈值后,会触发 Split 操作,同时把当前 Region Split 成 2 个 Region,父 Region 会下线,新 Split 出的 2 个孩子 Region 会被 HMaster 分配到相应的 HRegionServer 上,使得原先 1 个 Region 的压力得以分流到 2 个 Region 上。

1,HBase 的架构:

LSM – 解决磁盘随机写问题 (顺序写才是王道);

HFile – 解决数据索引问题 (只有索引才能高效读);

WAL – 解决数据持久化 (面对故障的持久化解决方案);

zooKeeper – 解决核心数据的一致性和集群恢复;

Replication – 引入类似 MySQL 的数据复制方案,解决可用性;

此外还有:自动分拆 Split、自动压缩 (compaction,LSM 的伴生技术)、自动负载均衡、自动 region 迁移。

HBase 集群需要依赖于一个 Zookeeper ensemble。HBase 集群中的所有节点以及要访问 HBase

的客户端都需要能够访问到该 Zookeeper ensemble。HBase 自带了 Zookeeper,但为了方便

其他应用程序使用 Zookeeper,最好使用单独安装的 Zookeeper ensemble。此外,Zookeeper ensemble 一般配置为奇数个节点,并且 Hadoop 集群、Zookeeper ensemble、HBase 集群是三个互相独立的集群,并不需要部署在相同的物理节点上,他们之间是通过网络通信的。

Hbase 和 hadoop 的关系可以如下图所示:

 

Hbase0.98 版本的安装部署配置管理(Hadoop2.3、Hbase0.98、Hive0.13 整合)

HBase 系统架构  http://www.linuxidc.com/Linux/2014-12/110077.htm

Hadoop+HBase 搭建云存储总结 PDF http://www.linuxidc.com/Linux/2013-05/83844.htm

HBase 结点之间时间不一致造成 regionserver 启动失败 http://www.linuxidc.com/Linux/2013-06/86655.htm

Hadoop+ZooKeeper+HBase 集群配置 http://www.linuxidc.com/Linux/2013-06/86347.htm

Hadoop 集群安装 &HBase 实验环境搭建 http://www.linuxidc.com/Linux/2013-04/83560.htm

基于 Hadoop 集群的 HBase 集群的配置 http://www.linuxidc.com/Linux/2013-03/80815.htm‘

Hadoop 安装部署笔记之 -HBase 完全分布模式安装 http://www.linuxidc.com/Linux/2012-12/76947.htm

单机版搭建 HBase 环境图文教程详解 http://www.linuxidc.com/Linux/2012-10/72959.htm

2,Hadoop 和 Hbase 的版本匹配

下面在给列出官网信息:
下面面符号的含义:
S = 支持并且测试,
X = 不支持,
NT = 应该可以,但是没有测试。如下图所示:

Hbase0.98 版本的安装部署配置管理(Hadoop2.3、Hbase0.98、Hive0.13 整合)

3,下载地址

从 Step2 的图中看出,由于我安装的 hadoop 是 2.3.0,所以可以选择 0.96 以上的 hbase 版本,这里选择比较稳健的 0.98 版本的 hbase 下载。

进 hbase 官网

http://hbase.apache.org/

进去,找到下载,进去

http://www.apache.org/dyn/closer.cgi/hbase/

再进去,选择 HTTP,第一个 mirrors,找到下载地址如下:

http://mirrors.cnnic.cn/apache/hbase/hbase-0.98.9/hbase-0.98.9-hadoop2-bin.tar.gz

 

 

 

 

 

4,开始安装

tar zxvf hbase-0.98.9-hadoop2-bin.tar.gz -C /home/hadoop/src/

 

5,配置

5.1),配置 hbase-site.xml

开始修改配置文件:/home/hadoop/src/hbase-0.98.9-hadoop2/conf

完全分布式安装:

<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://192.168.52.128:9000/hbase</value>
<description>HBase 数据存储目录 </description>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
<description> 指定 HBase 运行的模式:false:单机 / 伪分布;true:完全分布 </description>
</property>
<property>
<name>hbase.master</name>
<value>hdfs://192.168.52.128:60000</value>
<description> 指定 Master 位置 </description>
</property>

<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/zookeeper</value>
</property><property>
<name>hbase.zookeeper.quorum</name>
<value>192.168.52.128, 192.168.52.129, 192.168.52.130</value>
<description> 指定 ZooKeeper 集群 </description>
</property>

<property>
<name>hbase.master.info.bindAddress</name>
<value>192.168.52.128</value>
<description>The bind address for the HBase Master web UI
</description>
</property></configuration>

 

    5.1),配置

[root@name01 conf]# more hbase-site.xml

<?xml version=”1.0″?>

<?xml-stylesheet type=”text/xsl” href=”https://www.linuxidc.com/Linux/2015-01/configuration.xsl”?>

<!–

/**

 *

 * Licensed to the Apache Software Foundation (ASF) under one

 * or more contributor license agreements.  See the NOTICE file

 * distributed with this work for additional information

 * regarding copyright ownership.  The ASF licenses this file

 * to you under the Apache License, Version 2.0 (the

 * “License”); you may not use this file except in compliance

 * with the License.  You may obtain a copy of the License at

 *

 *    http://www.apache.org/licenses/LICENSE-2.0

 *

 * Unless required by applicable law or agreed to in writing, software

 * distributed under the License is distributed on an “AS IS” BASIS,

 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

 * See the License for the specific language governing permissions and

 * limitations under the License.

 */

–>

<configuration>

<property>

<name>hbase.rootdir</name>

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

<description>HBase data directory</description>

</property>

 

<property>

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

<value>true</value>

<description> 指定 HBase 运行的模式:false:单机 / 伪分布;true:完全分布 </description>

</property>

 

<property>

<name>hbase.master</name>

<value>hdfs://192.168.52.128:60000</value>

<description> 指定 Master 位置 </description>

</property>

 

<property>

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

<value>/home/hadoop/zookeeper</value>

</property><property>

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

<value>192.168.52.128, 192.168.52.129, 192.168.52.130</value>

<description> 指定 ZooKeeper 集群 </description>

</property>

 

<property>

<name>hbase.master.info.bindAddress</name>

<value>192.168.52.128</value>

<description>The bind address for the HBase Master web UI

</description>

</property>

 

</configuration>

[root@name01 conf]#

 

5.2),配置文件 regionservers:

[root@name01 conf]# more regionservers

192.168.52.128

192.168.52.129

192.168.52.130

[root@name01 conf]#

 

 

5.3),设置环境变量 hbase-env.sh:

vim hbase-env.sh

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_60

export HBASE_CLASSPATH=/home/hadoop/src/hbase-0.98.9-hadoop2/conf

export HBASE_HEAPSIZE=2048

export HBASE_MANAGES_ZK=false 

其中,JAVA_HOME 表示 java 安装目录,HBASE_CLASSPATH 指向存放有 Hadoop 配置文件的目录,这样 HBase 可以找到 HDFS 的配置信息,由于本文 Hadoop 和 HBase 部署在相同的物理节点,所以就指向了 Hadoop 安装路径下的 conf 目录。HBASE_HEAPSIZE 单位为 MB,可以根据需要和实际剩余内存设置,默认为 1000。HBASE_MANAGES_ZK=false 指示 HBase 使用已有的 Zookeeper 而不是自带的。

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2015-01/111735p2.htm

6,向各个节点复制,然后配置各个节点的环境变量

第二个节点:

scp -r /home/Hadoop/zookeeper hadoop@data01:/home/hadoop/zookeeper

scp -r /home/hadoop/src/hbase-0.98.9-hadoop2/ hadoop@data01:/home/hadoop/src/hbase-0.98.9-hadoop2

第三个节点:

scp -r /home/hadoop/zookeeper hadoop@data02:/home/hadoop/zookeeper

scp -r /home/hadoop/src/hbase-0.98.9-hadoop2/ hadoop@data02:/home/hadoop/src/hbase-0.98.9-hadoop2

7,启动和停止 HBase

启动 HBase:需事先启动 HDFS 和 Zookeeper,启动顺序为 HDFS-》Zookeeper-》HBase

7.1 先启动 hadoop 进程:

[hadoop@name01 conf]$ /home/hadoop/src/hadoop-2.3.0/sbin/start-all.sh

This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh

Starting namenodes on [name01]

name01: starting namenode, logging to /home/hadoop/src/hadoop-2.3.0/logs/hadoop-hadoop-namenode-name01.out

data01: starting datanode, logging to /home/hadoop/src/hadoop-2.3.0/logs/hadoop-hadoop-datanode-data01.out

data02: starting datanode, logging to /home/hadoop/src/hadoop-2.3.0/logs/hadoop-hadoop-datanode-data02.out

Starting secondary namenodes [name01]

name01: starting secondarynamenode, logging to /home/hadoop/src/hadoop-2.3.0/logs/hadoop-hadoop-secondarynamenode-name01.out

starting yarn daemons

starting resourcemanager, logging to /home/hadoop/src/hadoop-2.3.0/logs/yarn-hadoop-resourcemanager-name01.out

data02: starting nodemanager, logging to /home/hadoop/src/hadoop-2.3.0/logs/yarn-hadoop-nodemanager-data02.out

data01: starting nodemanager, logging to /home/hadoop/src/hadoop-2.3.0/logs/yarn-hadoop-nodemanager-data01.out

[hadoop@name01 conf]$

 

7.2 再在节点一上启动 hbase,server1 上启动所有的节点:start-hbase.sh

[hadoop@name01 conf]$ /home/hadoop/src/hbase-0.98.9-hadoop2/bin/start-hbase.sh

192.168.52.129: starting zookeeper, logging to /home/hadoop/src/hbase-0.98.9-hadoop2/bin/../logs/hbase-hadoop-zookeeper-data01.out

192.168.52.130: starting zookeeper, logging to /home/hadoop/src/hbase-0.98.9-hadoop2/bin/../logs/hbase-hadoop-zookeeper-data02.out

192.168.52.128: starting zookeeper, logging to /home/hadoop/src/hbase-0.98.9-hadoop2/bin/../logs/hbase-hadoop-zookeeper-name01.out

starting master, logging to /home/hadoop/src/hbase-0.98.9-hadoop2/logs/hbase-hadoop-master-name01.out

192.168.52.129: starting regionserver, logging to /home/hadoop/src/hbase-0.98.9-hadoop2/bin/../logs/hbase-hadoop-regionserver-data01.out

192.168.52.130: starting regionserver, logging to /home/hadoop/src/hbase-0.98.9-hadoop2/bin/../logs/hbase-hadoop-regionserver-data02.out

192.168.52.128: starting regionserver, logging to /home/hadoop/src/hbase-0.98.9-hadoop2/bin/../logs/hbase-hadoop-regionserver-name01.out

 

8,管理操作 Hbase

8.1 启动结束,使用 jps 查看当前的进程

[hadoop@name01 conf]$ jps

8939 Jps

8755 HMaster

8890 HRegionServer

6794 NameNode

7117 ResourceManager

8691 HQuorumPeer

6971 SecondaryNameNode

[hadoop@name01 conf]$

 

8.2 进去 hbase,查看状态

[hadoop@name01 conf]$ hbase shell

2015-01-08 01:11:25,986 INFO  [main] Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.native.lib.available

HBase Shell; enter ‘help<RETURN>’ for list of supported commands.

Type “exit<RETURN>” to leave the HBase Shell

Version 0.98.9-hadoop2, r96878ece501b0643e879254645d7f3a40eaf101f, Mon Dec 15 23:00:20 PST 2014

 

hbase(main):001:0> status

SLF4J: Class path contains multiple SLF4J bindings.

SLF4J: Found binding in [jar:file:/home/hadoop/src/hbase-0.98.9-hadoop2/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: Found binding in [jar:file:/home/hadoop/src/hadoop-2.3.0/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

3 servers, 0 dead, 0.6667 average load

 

hbase(main):002:0>

 

8.3 查看版本号:

hbase(main):002:0> version

0.98.9-hadoop2, r96878ece501b0643e879254645d7f3a40eaf101f, Mon Dec 15 23:00:20 PST 2014

 

hbase(main):003:0>

 

 

8.4 进入 HBase,建表:

hbase(main):003:0> list

TABLE                                                                                                                                                                                       

0 row(s) in 0.1400 seconds

 

=> []

建表

hbase(main):004:0> create ‘member’,’member_id’,’address’,’info’;

查看所有表

hbase(main):005:0* list

0 row(s) in 2.2460 seconds

 

TABLE                                                                                                                                                                                         

member                                                                                                                                                                                       

1 row(s) in 0.0100 seconds

 

=> [“member”]

hbase(main):006:0>

 

8.5 查看表结构:

hbase(main):006:0> describe ‘member’

Table member is ENABLED                                                                                                                                                                       

COLUMN FAMILIES DESCRIPTION                                                                                                                                                                 

{NAME => ‘address’, DATA_BLOCK_ENCODING => ‘NONE’, BLOOMFILTER => ‘ROW’, REPLICATION_SCOPE => ‘0’, VERSIONS => ‘1’, COMPRESSION => ‘NONE’, MIN_VERSIONS => ‘0’, TTL => ‘FOREVER’, KEEP_DELETED_

CELLS => ‘FALSE’, BLOCKSIZE => ‘65536’, IN_MEMORY => ‘false’, BLOCKCACHE => ‘true’}                                                                                                           

{NAME => ‘info’, DATA_BLOCK_ENCODING => ‘NONE’, BLOOMFILTER => ‘ROW’, REPLICATION_SCOPE => ‘0’, VERSIONS => ‘1’, COMPRESSION => ‘NONE’, MIN_VERSIONS => ‘0’, TTL => ‘FOREVER’, KEEP_DELETED_CEL

LS => ‘FALSE’, BLOCKSIZE => ‘65536’, IN_MEMORY => ‘false’, BLOCKCACHE => ‘true’}                                                                                                             

{NAME => ‘member_id’, DATA_BLOCK_ENCODING => ‘NONE’, BLOOMFILTER => ‘ROW’, REPLICATION_SCOPE => ‘0’, VERSIONS => ‘1’, COMPRESSION => ‘NONE’, MIN_VERSIONS => ‘0’, TTL => ‘FOREVER’, KEEP_DELETE

D_CELLS => ‘FALSE’, BLOCKSIZE => ‘65536’, IN_MEMORY => ‘false’, BLOCKCACHE => ‘true’}                                                                                                         

3 row(s) in 0.1310 seconds

 

hbase(main):007:0>

 

8.6 查看表是否存在

hbase(main):007:0> is_enabled ‘member’

true                                                                                                                                                                                         

0 row(s) in 0.1030 seconds

 

hbase(main):008:0>

 

8.7 录入表数据

插入数据,是 put

hbase(main):008:0> put ‘member’,’xiaofeng’,’info:company’,’alibaba’

0 row(s) in 0.4970 seconds

 

hbase(main):009:0> put ‘member’,’xiaofeng’,’address:company’,’alibaba’

0 row(s) in 0.0660 seconds

 

hbase(main):010:0>

 

8.8 添加新列 age,值为 27:

hbase(main):018:0> put ‘member’,’zhijie’,’info:age’,’27’

0 row(s) in 0.0550 seconds

hbase(main):019:0>

 

8.9 查询数据,是 get,查询 zhijie 的记录

hbase(main):025:0* get ‘member’,’zhijie’

COLUMN                                          CELL                                                                                                                                       

 address:dingxilu                                timestamp=1420709522821, value=pl                                                                                                           

 info:age                                        timestamp=1420710488841, value=27                                                                                                           

2 row(s) in 0.7950 seconds

 

hbase(main):026:0>

 

8.10 查询表中所有 info 列族的数据:

hbase(main):026:0> scan ‘member’,{COLUMNS => ‘info’}

ROW                                              COLUMN+CELL                                                                                                                                 

 xiaofeng                                        column=info:company, timestamp=1420708739539, value=alibaba                                                                                 

 zhijie                                          column=info:age, timestamp=1420710488841, value=27                                                                                         

2 row(s) in 0.2380 seconds

 

hbase(main):027:0>

 

8.11 删除 member 表:

hbase(main):027:0> disable ‘member’

0 row(s) in 4.9110 seconds

 

hbase(main):028:0> drop ‘member’

0 row(s) in 2.1370 seconds

 

hbase(main):029:0> list

TABLE                                                                                                                                                                                       

0 row(s) in 0.1030 seconds

 

=> []

hbase(main):030:0>

 

9,Web 上查看架构:

Hbase 默认端口是 60010,默认网址是:http://192.168.52.128:60010/master-status

如下图所示:

Hbase0.98 版本的安装部署配置管理(Hadoop2.3、Hbase0.98、Hive0.13 整合)

10,后,3 个节点上通过 jps 查看 hadoop+hbase 启动的进程:

Name01 上:

[hadoop@name01 conf]$ jps

9292 Main

8755 HMaster

8890 HRegionServer

6794 NameNode

11972 Jps

7117 ResourceManager

8691 HQuorumPeer

6971 SecondaryNameNode

[hadoop@name01 conf]$

 

Data01 上:

[hadoop@data01 root]$ jps

3201 DataNode

3854 HRegionServer

3773 HQuorumPeer

3307 NodeManager

9948 Jps

[hadoop@data01 root]$

 

Data02 上:

[hadoop@data02 root]$ jps

5840 Jps

3853 HRegionServer

3219 DataNode

3774 HQuorumPeer

3325 NodeManager

[hadoop@data02 root]$

 

 

11,报错记录统计:

 

11.1 碰到中文乱码问题:

CentOS 乱码

1),yum install font* -y

 

2), 编辑这个文件:vi /etc/sysconfig/i18n(说明:第二步 是否必须完成 有待考证,但我按第二步做了可以达到目的)

将 LANG=”en_US.UTF-8″

SYSFONT=”latarcyrheb-sun16″

 

修改原内容为

LANG=”zh_CN.GB18030″

LANGUAGE=”zh_CN.GB18030:zh_CN.GB2312:zh_CN”

SUPPORTED=”zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en”

SYSFONT=”lat0-sun16″

 

3), 最为关键的步骤:命令行输入以下两条语句:

cd /usr/share/fonts/

fc-cache  -fv            待 fc-cache  -fv 执行完成后。

 

4), 重启 reboot

 

 

11.2,启动报错如下:

2015-01-08 00:14:29,707 FATAL [main] conf.Configuration: error parsing conf hbase-site.xml

com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 字节的 UTF-8 序列的字节 1 无效。

 

解决:删除 hbase-site.xml 里面的中文注释

 

11.3,添加列数据报错:

hbase(main):016:0> put ‘member’,’zhijie’,’age:27′,’pl’

 

ERROR: Unknown column family! Valid column names: address:*, info:*, member_id:*

 

Here is some help for this command:

Put a cell ‘value’ at specified table/row/column and optionally

timestamp coordinates.  To put a cell value into table ‘ns1:t1’ or ‘t1’

at row ‘r1’ under column ‘c1’ marked with the time ‘ts1’, do:

 

  hbase> put ‘ns1:t1’, ‘r1’, ‘c1’, ‘value’

  hbase> put ‘t1’, ‘r1’, ‘c1’, ‘value’

  hbase> put ‘t1’, ‘r1’, ‘c1’, ‘value’, ts1

  hbase> put ‘t1’, ‘r1’, ‘c1’, ‘value’, {ATTRIBUTES=>{‘mykey’=>’myvalue’}}

  hbase> put ‘t1’, ‘r1’, ‘c1’, ‘value’, ts1, {ATTRIBUTES=>{‘mykey’=>’myvalue’}}

  hbase> put ‘t1’, ‘r1’, ‘c1’, ‘value’, ts1, {VISIBILITY=>’PRIVATE|SECRET’}

 

The same commands also can be run on a table reference. Suppose you had a reference

t to table ‘t1’, the corresponding command would be:

 

  hbase> t.put ‘r1’, ‘c1’, ‘value’, ts1, {ATTRIBUTES=>{‘mykey’=>’myvalue’}}

hbase(main):017:0>

解决:

hbase(main):018:0> put ‘member’,’zhijie’,’info:age’,’27’

0 row(s) in 0.0550 seconds

hbase(main):019:0>

更多 Hadoop 相关信息见 Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

简介:

HStore 存储是 HBase 存储的核心了,其中由两部分组成,一部分是 MemStore,一部分是 StoreFiles。MemStore 是 Sorted Memory Buffer,用户写入的数据首先会放入 MemStore,当 MemStore 满了以后会 Flush 成一个 StoreFile(底层实现是 HFile),当 StoreFile 文件数量增长到一定阈值,会触发 Compact 合并操作,将多个 StoreFiles 合并成一个 StoreFile,合并过程中会进行版本合并和数据删除,因此可以看出 HBase 其实只有增加数据,所有的更新和删除操作都是在后续的 compact 过程中进行的,这使得用户的写操作只要进入内存中就可以立即返回,保证了 HBase I/ O 的高性能。

当 StoreFiles Compact 后,会逐步形成越来越大的 StoreFile,当单个 StoreFile 大小超过一定阈值后,会触发 Split 操作,同时把当前 Region Split 成 2 个 Region,父 Region 会下线,新 Split 出的 2 个孩子 Region 会被 HMaster 分配到相应的 HRegionServer 上,使得原先 1 个 Region 的压力得以分流到 2 个 Region 上。

1,HBase 的架构:

LSM – 解决磁盘随机写问题 (顺序写才是王道);

HFile – 解决数据索引问题 (只有索引才能高效读);

WAL – 解决数据持久化 (面对故障的持久化解决方案);

zooKeeper – 解决核心数据的一致性和集群恢复;

Replication – 引入类似 MySQL 的数据复制方案,解决可用性;

此外还有:自动分拆 Split、自动压缩 (compaction,LSM 的伴生技术)、自动负载均衡、自动 region 迁移。

HBase 集群需要依赖于一个 Zookeeper ensemble。HBase 集群中的所有节点以及要访问 HBase

的客户端都需要能够访问到该 Zookeeper ensemble。HBase 自带了 Zookeeper,但为了方便

其他应用程序使用 Zookeeper,最好使用单独安装的 Zookeeper ensemble。此外,Zookeeper ensemble 一般配置为奇数个节点,并且 Hadoop 集群、Zookeeper ensemble、HBase 集群是三个互相独立的集群,并不需要部署在相同的物理节点上,他们之间是通过网络通信的。

Hbase 和 hadoop 的关系可以如下图所示:

 

Hbase0.98 版本的安装部署配置管理(Hadoop2.3、Hbase0.98、Hive0.13 整合)

HBase 系统架构  http://www.linuxidc.com/Linux/2014-12/110077.htm

Hadoop+HBase 搭建云存储总结 PDF http://www.linuxidc.com/Linux/2013-05/83844.htm

HBase 结点之间时间不一致造成 regionserver 启动失败 http://www.linuxidc.com/Linux/2013-06/86655.htm

Hadoop+ZooKeeper+HBase 集群配置 http://www.linuxidc.com/Linux/2013-06/86347.htm

Hadoop 集群安装 &HBase 实验环境搭建 http://www.linuxidc.com/Linux/2013-04/83560.htm

基于 Hadoop 集群的 HBase 集群的配置 http://www.linuxidc.com/Linux/2013-03/80815.htm‘

Hadoop 安装部署笔记之 -HBase 完全分布模式安装 http://www.linuxidc.com/Linux/2012-12/76947.htm

单机版搭建 HBase 环境图文教程详解 http://www.linuxidc.com/Linux/2012-10/72959.htm

2,Hadoop 和 Hbase 的版本匹配

下面在给列出官网信息:
下面面符号的含义:
S = 支持并且测试,
X = 不支持,
NT = 应该可以,但是没有测试。如下图所示:

Hbase0.98 版本的安装部署配置管理(Hadoop2.3、Hbase0.98、Hive0.13 整合)

3,下载地址

从 Step2 的图中看出,由于我安装的 hadoop 是 2.3.0,所以可以选择 0.96 以上的 hbase 版本,这里选择比较稳健的 0.98 版本的 hbase 下载。

进 hbase 官网

http://hbase.apache.org/

进去,找到下载,进去

http://www.apache.org/dyn/closer.cgi/hbase/

再进去,选择 HTTP,第一个 mirrors,找到下载地址如下:

http://mirrors.cnnic.cn/apache/hbase/hbase-0.98.9/hbase-0.98.9-hadoop2-bin.tar.gz

 

 

 

 

 

4,开始安装

tar zxvf hbase-0.98.9-hadoop2-bin.tar.gz -C /home/hadoop/src/

 

5,配置

5.1),配置 hbase-site.xml

开始修改配置文件:/home/hadoop/src/hbase-0.98.9-hadoop2/conf

完全分布式安装:

<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://192.168.52.128:9000/hbase</value>
<description>HBase 数据存储目录 </description>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
<description> 指定 HBase 运行的模式:false:单机 / 伪分布;true:完全分布 </description>
</property>
<property>
<name>hbase.master</name>
<value>hdfs://192.168.52.128:60000</value>
<description> 指定 Master 位置 </description>
</property>

<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/zookeeper</value>
</property><property>
<name>hbase.zookeeper.quorum</name>
<value>192.168.52.128, 192.168.52.129, 192.168.52.130</value>
<description> 指定 ZooKeeper 集群 </description>
</property>

<property>
<name>hbase.master.info.bindAddress</name>
<value>192.168.52.128</value>
<description>The bind address for the HBase Master web UI
</description>
</property></configuration>

 

    5.1),配置

[root@name01 conf]# more hbase-site.xml

<?xml version=”1.0″?>

<?xml-stylesheet type=”text/xsl” href=”https://www.linuxidc.com/Linux/2015-01/configuration.xsl”?>

<!–

/**

 *

 * Licensed to the Apache Software Foundation (ASF) under one

 * or more contributor license agreements.  See the NOTICE file

 * distributed with this work for additional information

 * regarding copyright ownership.  The ASF licenses this file

 * to you under the Apache License, Version 2.0 (the

 * “License”); you may not use this file except in compliance

 * with the License.  You may obtain a copy of the License at

 *

 *    http://www.apache.org/licenses/LICENSE-2.0

 *

 * Unless required by applicable law or agreed to in writing, software

 * distributed under the License is distributed on an “AS IS” BASIS,

 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

 * See the License for the specific language governing permissions and

 * limitations under the License.

 */

–>

<configuration>

<property>

<name>hbase.rootdir</name>

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

<description>HBase data directory</description>

</property>

 

<property>

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

<value>true</value>

<description> 指定 HBase 运行的模式:false:单机 / 伪分布;true:完全分布 </description>

</property>

 

<property>

<name>hbase.master</name>

<value>hdfs://192.168.52.128:60000</value>

<description> 指定 Master 位置 </description>

</property>

 

<property>

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

<value>/home/hadoop/zookeeper</value>

</property><property>

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

<value>192.168.52.128, 192.168.52.129, 192.168.52.130</value>

<description> 指定 ZooKeeper 集群 </description>

</property>

 

<property>

<name>hbase.master.info.bindAddress</name>

<value>192.168.52.128</value>

<description>The bind address for the HBase Master web UI

</description>

</property>

 

</configuration>

[root@name01 conf]#

 

5.2),配置文件 regionservers:

[root@name01 conf]# more regionservers

192.168.52.128

192.168.52.129

192.168.52.130

[root@name01 conf]#

 

 

5.3),设置环境变量 hbase-env.sh:

vim hbase-env.sh

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_60

export HBASE_CLASSPATH=/home/hadoop/src/hbase-0.98.9-hadoop2/conf

export HBASE_HEAPSIZE=2048

export HBASE_MANAGES_ZK=false 

其中,JAVA_HOME 表示 java 安装目录,HBASE_CLASSPATH 指向存放有 Hadoop 配置文件的目录,这样 HBase 可以找到 HDFS 的配置信息,由于本文 Hadoop 和 HBase 部署在相同的物理节点,所以就指向了 Hadoop 安装路径下的 conf 目录。HBASE_HEAPSIZE 单位为 MB,可以根据需要和实际剩余内存设置,默认为 1000。HBASE_MANAGES_ZK=false 指示 HBase 使用已有的 Zookeeper 而不是自带的。

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2015-01/111735p2.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计19544字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中