专栏首页大数据学习笔记Hadoop基础教程-第10章 HBase:Hadoop数据库(10.3 HBase安装与配置)(草稿)

Hadoop基础教程-第10章 HBase:Hadoop数据库(10.3 HBase安装与配置)(草稿)

第10章 HBase:Hadoop数据库

10.3 HBase安装与配置

HBase服务规划

机器名

HMaster

HRegionServer

Zookeeper

node1

Y

Y

Y

node2

Y

Y

Y

node3

N

Y

Y

注意,如果集群较大,HMaster可以大于2。

首先通过物理机(Windows系统)下载HBase软件包,其次通过XShell上传到node1节点,然后在node1节点上进行HBase相关配置,最后分发到node2和node3节点上。按照这个思路,下面来演示HBase的安装与配置。

10.3.1 HBase下载

HBase官方网址:http://hbase.apache.org/

下载推荐的当前稳定版1.2.6

10.3.2 HBase安装

(1)上传软件包。通过XShell将HBase软件包上传到集群中的一个节点,比如node1

(2)解压缩软件包

[root@node1 ~]# tar -zxvf hbase-1.2.6-bin.tar.gz -C /opt

(3)进入HBase根目录

[root@node1 ~]# cd /opt/hbase-1.2.6/
[root@node1 hbase-1.2.6]# ls
bin  CHANGES.txt  conf  docs  hbase-webapps  LEGAL  lib  LICENSE.txt  NOTICE.txt  README.txt
[root@node1 hbase-1.2.6]# 

10.3.3 HBase集群模式配置

1、配置hbase-env.sh

[root@node1 hbase-1.2.6]# vi conf/hbase-env.sh 

需要设置4处 (1)JAVA_HOME

# The java implementation to use.  Java 1.7+ required. 
export JAVA_HOME=/opt/jdk1.8.0_112

(2)针对JDK8,移除下面两项

# Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+
#export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
#export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"

(3)设置HBASE_PID_DIR

# The directory where pid files are stored. /tmp by default.
export HBASE_PID_DIR=/var/run

(4) 不使用Hbase自带的zookeeper

# Tell HBase whether it should manage it's own instance of Zookeeper or not.
export HBASE_MANAGES_ZK=false

2、配置hbase-site.xml

[root@node1 hbase-1.2.6]# vi conf/hbase-site.xml 
[root@node1 hbase-1.2.6]# cat conf/hbase-site.xml 
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
   <!--
        这里必须跟core-site.xml中的配置一致
        namenode是HA时,hbase.rootdir=hdfs://nameservices/hbase
        namenode非HA时,hbase.rootdir=hdfs://namenode节点:9000/hbase
   -->
   <property>
         <name>hbase.rootdir</name>
         <value>hdfs://cetc/hbase</value>
   </property>
   <!--指定Hbase是分布式的-->
   <property>
         <name>hbase.cluster.distributed</name>
         <value>true</value>
   </property>
   <!--hbase.master:The port the HBase Master should bind to, Default 16000-->
   <!--hbase.master.info.port:The port for the HBase Master web UI. Default 16010-->
   <property>
         <name>dfs.support.append</name>
         <value>true</value>
   </property>
   <property>
         <name>hbase.zookeeper.quorum</name>
         <value>node1:2181,node2:2181,node3:2181</value>
   </property>
   <property>
         <name>hbase.zookeeper.property.dataDir</name>
         <value>/var/lib/zookeeper</value>
   </property>
</configuration>
[root@node1 hbase-1.2.6]# 

提示,hbase-site.xml的参数hbase.zookeeper.property.dataDirZooKeeper与Zookeeper的zoo.conf中的dataDir对应。

3、配置regionservers

[root@node1 hbase-1.2.6]# vi conf/regionservers 
[root@node1 hbase-1.2.6]# cat conf/regionservers 
node1
node2
node3
[root@node1 hbase-1.2.6]#

4、设置环境变量

[root@node1 hbase-1.2.6]# cd
[root@node1 ~]# vi /etc/profile.d/custom.sh

增加如下内容

#Hbase path
export HBASE_HOME=/opt/hbase-1.2.6
export PATH=$PATH:$HBASE_HOME/bin

5、分发文件 (1)分发Hbase软件包

[root@node1 ~]# scp -r /opt/hbase-1.2.6/ node2:/opt
[root@node1 ~]# scp -r /opt/hbase-1.2.6/ node3:/opt      

(2)分发环境变量文件

[root@node1 ~]# scp /etc/profile.d/custom.sh node2:/etc/profile.d/
custom.sh                                                                                                                                                  100%  410     0.4KB/s   00:00    
[root@node1 ~]# scp /etc/profile.d/custom.sh node3:/etc/profile.d/
custom.sh 

(3)source

[root@node1 ~]# source /etc/profile.d/custom.sh
[root@node2 ~]# source /etc/profile.d/custom.sh
[root@node3 ~]# source /etc/profile.d/custom.sh

10.3.3 HBase运行

(1)不失一般性,选择node1节点启动HBase

[root@node1 ~]# start-hbase.sh
starting master, logging to /opt/hbase-1.2.6/logs/hbase-root-master-node1.out
node2: starting regionserver, logging to /opt/hbase-1.2.6/logs/hbase-root-regionserver-node2.out
node3: starting regionserver, logging to /opt/hbase-1.2.6/logs/hbase-root-regionserver-node3.out
node1: starting regionserver, logging to /opt/hbase-1.2.6/logs/hbase-root-regionserver-node1.out

(2)然后选择另一个节点启动备份Hmaster

[root@node3 ~]# hbase-daemon.sh start master
starting master, logging to /opt/hbase-1.2.6/logs/hbase-root-master-node3.out

(3)jps,查看进程 node1

[root@node1 ~]# jps
2176 QuorumPeerMain
11488 HRegionServer
3667 ResourceManager
11908 Jps
3542 NameNode
11368 HMaster
2764 JournalNode
2924 DFSZKFailoverController
3164 NodeManager
2541 DataNode

node2

[root@node2 ~]# jps
2176 QuorumPeerMain
2359 NameNode
2423 DataNode
2649 DFSZKFailoverController
5817 HRegionServer
6041 Jps
2525 JournalNode
2734 NodeManager

node3

[root@node3 ~]# jps
2177 QuorumPeerMain
2561 NodeManager
3763 HMaster
3911 Jps
2460 JournalNode
3532 HRegionServer
2366 DataNode
2703 ResourceManager

10.3.4 Web

10.3.5 测试HMaster高可用性

[root@node1 ~]# jps|grep HMaster
11368 HMaster
[root@node1 ~]# kill 11368

重新启动node1节点是HMaster

[root@node1 ~]# hbase-daemon.sh start master
starting master, logging to /opt/hbase-1.2.6/logs/hbase-root-master-node1.out
[root@node1 ~]# jps
2176 QuorumPeerMain
11488 HRegionServer
3667 ResourceManager
12579 HMaster
3542 NameNode
12647 Jps
2764 JournalNode
3164 NodeManager
2541 DataNode

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Hadoop基础教程-第10章 HBase:Hadoop数据库(10.5 HBase Shell)(草稿)

    第10章 HBase:Hadoop数据库 10.5 HBase Shell 10.5.1 官方快速入门教程 http://hbase.apache.org/bo...

    程裕强
  • CentOS系统SSH免密后依然需要输入密码(已解决)

    1、问题 通过ssh-keygen -t rsa和ssh-copy-id -i node1操作后,免密登录依然需要输入密码。 [root@node1 ~]# s...

    程裕强
  • 查看Hadoop HDFS 中的一个文件对应block信息

    本文地址:http://blog.csdn.net/chengyuqiang/article/details/78163091 如果需要查看Hadoop HDF...

    程裕强
  • HA专题: corosync+pacemaker实现nginx高可用

    前言 这几天都会学习高可用集群, 也会将其中的一些实验写出来分享给大家, 这个专题估计会写5篇左右, 实验介绍 这次的实验比较简单,在CentOS7使用cor...

    小小科
  • OpenStack查看某台主机资源情况

    院长技术
  • 【基础】 mysqldump 创建基于GTID的从库

    mysqldump -uroot -pwww.Mwbyd91@ -A -q --single-transaction --master-data=2 > /ro...

    二狗不要跑
  • CentOS 7 下使用虚拟环境Virtualenv安装Tensorflow cpu版记录

    在使用centos7的软件包管理程序yum安装python-pip的时候会报一下错误:

    用户1539362
  • 使用pscp从windows电脑拷贝数据到linux遇到的ssh_init错误

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    Jerry Wang
  • sudo: /usr/lib/sudo/sudoers.so must be owned by...

    安装软件时显示 sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0 sudo:...

    闵开慧
  • 【音视频连载-011】第二季 FFmpeg 一层一层获取文件信息

    https://github.com/glumes/av-beginner/blob/master/resource/video/video-avi-320x3...

    glumes

扫码关注云+社区

领取腾讯云代金券