HBase安装教程

一、版本介绍

linux : CentOS7
Hadoop : 2.7.6
zookeeper : 3.4.6
hbase : 1.4.6
jdk : jdk1.8.0_171
三个节点的主机名分别为:master、node1、node2

二、安装Hadoop

HBase 是在 Hadoop 这种分布式框架中提供持久化的数据存储与管理的工具。在使用 HBase 的分布式集群模式时,前提是必须有 Hadoop 系统,所以我们需要先安装Hadoop,进行到这一步相信大家已经安装过Hadoop环境了,如果没有安装的可以参考下面的链接。
https://www.cnblogs.com/yy-yang/p/14615048.html

三、安装zookeeper

zookeeper安装步骤
hbase Client客户端、Master、Region都会通过心跳机制(RPC通信)与zookeeper保持联系
1、上传安装包到master并解压
tar -zxvf zookeeper-3.4.6.tar.gz
我这里压缩包存放在/usr/local/module下,解压到/usr/local/soft目录下,读者需要根据自己的实际情况安装,下面的环境变量也需要根据自己实际情况配置
image
2、配置环境变量

vim /etc/profile

在配置文件中加入以下内容

export ZOOKEEPER_HOME=/usr/local/soft/zookeeper-3.4.6 
export PATH=$PATH:$ZOOKEEPER_HOME/bin

使环境变量生效
source /etc/profile
输入zk按tab键,如果有提示说明环境变量配置的没问题
image

3、修改配置文件
cd /usr/local/soft/zookeeper-3.4.6/conf
cp zoo_sample.cfg zoo.cfg

修改zoo.cfg
data目录下面会创建
注意:路径要与自己的一致
dataDir=/usr/local/soft/zookeeper-3.4.6/data
增加以下内容
注意:主机名要改成自己的

server.0=master:2888:3888
server.1=node1:2888:3888
server.2=node2:2888:3888

image
4、同步到其它节点
该命令在/usr/local/soft下面执行

scp -r zookeeper-3.4.6 node1:`pwd`
scp -r zookeeper-3.4.6 node2:`pwd`

同步配置node1和node2的环境变量
下面写的为绝对路径,可以在任意地方执行

scp /etc/profile node1:/etc/
scp /etc/profile node2:/etc/

在所有节点执行使新配置的环境变量生效
source /etc/profile

4、创建/usr/local/soft/zookeeper-3.4.6/data目录,所有节点都要创建

mkdir /usr/local/soft/zookeeper-3.4.6/data

在data目录下创建myid文件
vim /usr/local/soft/zookeeper-3.4.6/data/myid
master,node1,node2分别加上0,1,2
这个数字用来唯一标识这个服务,一定要保证唯一性,zookeeper会根据这个id来取出server.x上的配置
image

image

image
5、同步时间
zookeeper节点之间需要实时监听节点是否存活
如果没有ntpdate命令,可以yum命令先安装:
yum install ntp -y
从网络服务器同步时间(需要虚拟机联网):
ntpdate -u s2c.time.edu.cn
(经常挂起虚拟机,可能会导致时间停止,可使用crontab做成定时同步)
   crontab -e // 进入crontab命令编辑模式
   加入以下内容(每十分钟同步一次):
   */10 * * * * ntpdate -u s2c.time.edu.cn

6、启动zk,
zkServer.sh start 三台都需要执行
zkServer.sh status 查看状态

当有一个leader的时候启动成功,我这里node2为leader,这个是随机的每次启动可能不一样
image

下面简单介绍下zookeeper的使用,与本次安装无关,可以忽略
连接zk
zkCli.sh

zk 是一个目录结构 ,每个节点可以存数据,同时可以有子节点

zk shell
创建目录
create /test test create /test/a 1
获取数据
get /test
ls /test

delete只能删除没有子节点的节点
rmr /test 删除节点

重置zk
1、杀掉所有zk进程
kiil -9 pid

2、删除data目录下的version文件, 所有节点都要删除
rm -rf /usr/local/soft/zookeeper-3.4.6/data/version-2

2、启动zk
zkServer.sh start

三、HBase安装

Hbase的启动前需要先启动zookeeper和Hadoop,这里先启动好再进行下面的安装
准备工作
1、启动hadoop
start-all.sh
验证
http://master:50070

2、启动zookeeper
需要在在三台中分别启动
zkServer.sh start zkServer.sh status
搭建hbase

1、上传解压到自己的安装目录
tar -zxvf hbase-1.4.6-bin.tar.gz

2、修改hbase-env.sh文件
进入到配置文件目录
cd /usr/local/soft/hbase-1.4.6/conf
vim hbase-env.sh
增加java配置(根据自己实际情况配置,文件中的这行注释掉了,可以找到后修改也可以直接在最后面添加这一行)
export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
image
关闭默认zk配置
因为HBase自己有个zk,这里我们把它自带的关掉,用我们自己的
export HBASE_MANAGES_ZK=false
image
3、修改hbase-site.xml文件
vim hbase-site.xml

  <!--hbase.root.dir 将数据写入哪个目录-->
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://master:9000/hbase</value>
  </property>
  <!--单机模式不需要配置,分布式配置此项,value值为true,多节点分布-->
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <!--单机模式不需要配置多个IP,分布式配置此项value值为多个主机ip,多节点分布-->
    <name>hbase.zookeeper.quorum</name>
    <value>node1,node2,master</value>
  </property>

image
4、修改regionservers文件
默认是单节点的,我这里搭建的是分布式的, 在这里列出了你希望运行的全部 HRegionServer,一行写一个host (就像Hadoop里面的 slaves 一样
改为自己的子节点主机名
vim regionservers

node1
node2

image

如果是伪分布式版本,增加master即可

5、同步到所有节点(如果是伪分布式不需要同步)
命令在hbase安装的文件目录下运行,例如我的hbase装在/usr/local/soft
命令就在/usr/local/soft下运行
scp -r hbase-1.4.6/ node1:`pwd` scp -r hbase-1.4.6/ node2:`pwd`
image
6、配置环境变量
vim /etc/profile

export HBASE_HOME=/usr/local/soft/hbase-1.4.6
export PATH=$PATH:$HBASE_HOME/bin

同步配置node1和node2的环境变量
下面写的为绝对路径,可以在任意地方执行

scp /etc/profile node1:/etc/
scp /etc/profile node2:/etc/

在所有节点执行使新配置的环境变量生效
source /etc/profile
7、启动hbase集群 , 需要在master上执行

start-hbase.sh
通过jps查看下进程
master上有
image
其他两个节点
image
8、验证hbase
http://master:16010
image
hbase日志文件所在的目录
/usr/local/soft/hbase-1.4.6/logs
关闭集群的命令
stop-hbase.sh
通过 hbase shell 进入到hbase的命令行

创建表 列簇 列式数据库
create 'test','info'
插入数据

put 'test','001','info:name','zhangsan'

查询数据

get 'test','001'

如果hbase 搭建失败了 不知道问题出在哪里
重置hbase
1、关闭hbase集群
杀死进程
stop-hbase.sh
2、删除hdfs数据
hadoop dfs -rmr /hbase

3、删除元数据 zk
zkCli.sh
rmr /hbase
4、重启hbase

start-hbase.sh

posted on 2021-04-19 20:12  yang_12138  阅读(4141)  评论(0编辑  收藏  举报