HBase 系列(二)安装部署分析

java哥 阅读:253 2020-02-20 19:09:29 评论:0

HBase 系列(二)安装部署

本节以 Hadoop-2.7.6,HBase-1.4.5 为例安装 HBase 环境。HBase 也有三种模式:本地模式、伪分布模式、分布模式。

一、环境准备

(1) HBase 下载

HBase 下载地址:http://archive.apache.org/dist/hbase/

(2) SSH 服务

service sshd status

参考:http://www.cnblogs.com/binarylei/p/9049149.html

(3) 域名系统 DNS

/etc/hosts

(4) 本地环回地址

127.0.0.1 localhost

(5) 时间同步

ntp

(6) 资源限制命令

# 限制用户打开的文件数 
soft nofile 10240 
hard nofile 10240 
 
# 限制用户打开的进程数 
soft noproc 10240 
hard noproc 10240

(7) Hadoop 版本选择

本文以 Hadoop-2.7.6,HBase-1.4.5。并且将 $HBASE_HOME/lib 下的有关 hadoop 的 jar 包替换成 $HADOOP_HOME/share/... 的 jar 包。

<!-- hadoop 的 datanode 配置项,设置同时处理文件的上限个数,默认 256,至少是 4096,甚至更大 --> 
<property> 
    <name>dfs.datanode.max.xcievers</name> 
    <value>4096</value> 
</property>

(8) 安装 Zookeeper

最好以 hadoop 用户启动。参考:http://www.cnblogs.com/binarylei/p/8721129.html

二、HBase 运行模式

2.1 本地模式

(1) 解压后添加环境变量

vi /etc/profile.d/start.sh 
 
# hbase 
export HBASE_HOME=/home/hadoop/habase 
export PATH=$PATH:$HBASE_HOME/bin

(2) 修改 conf/hbase-env.sh

JAVA_HOME=/usr/local/jdk 
export HBASE_MANAGES_ZK=false   # 不使用自带的 zookeeper

(3) 修改 conf/hbase-site.xml

<property> 
    <name>hbase.rootdir</name> 
    <value>file:/home/hadoop/hbase/HFiles</value> 
</property>

2.2 伪分布模式

<property> 
    <name>hbase.cluster.distributed</name> 
    <value>true</value> 
</property> 
<property> 
    <name>hbase.rootdir</name> 
    <value>hdfs://master:8030/hbase</value> 
</property>

2.3 分布模式

(1) 修改 conf/hbase-site.xml

<configuration> 
    <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>192.168.2.110:2181,192.168.2.111:2181,192.168.2.111:2181</value> 
    </property> 
    <property> 
        <name>hbase.zookeeper.property.dataDir</name> 
        <value>/home/hadoop/hbase/data/zookeeper</value> 
    </property> 
    <property> 
        <name>hbase.tmp.dir</name> 
        <value>/home/hadoop/hbase/data</value> 
    </property> 
    <!-- web 页面端口,默认16010 --> 
    <property> 
        <name>hbase.master.info.port</name> 
        <value>60010</value> 
    </property> 
</configuration>

(2) 修改 conf/regionservers

192.168.140.110 
192.168.140.111

(3) 分发

scp -r /home/hadoop/hbase-1.4.5 [email protected]:`pwd`  
ssh [email protected] 'ln -sv /home/hadoop/hbase-1.4.5 /home/hadoop/hbase' 
ssh [email protected] 'chown -h -R hadoop:hadoop /home/hadoop/hbase'

(4) 启动

bin/start-hbase.sh

(5) HBase 高可用

bin/hbase-daemon.sh start master 
bin/hbase-daemons.sh start regionserver

查看 WEB 页面:

HMaster:http://192.168.140.110:60010/master-status
HRegionServer:http://192.168.140.110:16030/master-status

HBase Shell 查看 HBase 状态:

create 't1', {NAME => 'f1', VERSIONS => 5} 
describe 't1' 
 
put 't1', 'row1', 'f1:a', '2' 
put 't1', 'row2', 'f1:b', '3' 
get 't1', 'row1' 
scan 't1' 
 
disable 't1' 
drop 't1'

三、HBase 和 Hadoop 的 HA 集成

(1) 在 $HBASE_HOME/hbase-env.sh 文件添加 hadoop 配置文件目录到 HBASE_CLASSPATH 环境变量并分发

    vi $HBASE_HOME/hbase-env.sh 
 
    export HBASE_CLASSPATH=$HBASE_CLASSPATH:$HADOOP_HOME/etc/hadoop

(2) 在 $HBASE_HOME/conf/ 目录下创建到 hadoop 的 hdfs-site.xml 符号连接

    $>ln -s $HADOOP_HOME/etc/hadoop/hdfs-site.xml $HBASE_HOME/conf/hdfs-site.xml

(3) 修改 $HBASE_HOME/hbase-site.xml 文件中 hbase.rootdir 的目录值

    vi $HBASE_HOME//hbase-site.xml 
 
    <property> 
            <name>hbase.rootdir</name> 
            <value>hdfs://mycluster/hbase</value> 
    </property>

(4) 将以上步骤分发处理

四、踩过的坑

问题1:ERROR: Can't get master address from ZooKeeper; znode data == null

解决:在 hbase-site.xml 指定一个运行 hbase 的用户有写入文件权限的目录作为 zookeeper 数据目录,如

<property> 
    <name>hbase.zookeeper.property.dataDir</name> 
    <value>/home/hadoop/hbase/data/zookeeper</value> 
</property>

参考:https://www.cnblogs.com/zlslch/p/6556870.html


每天用心记录一点点。内容也许不重要,但习惯很重要!

标签:hadoop
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
排行榜
关注我们

扫一扫关注我们,了解最新精彩内容