HBase安装教程
阅读原文时间:2023年07月09日阅读:1

linux : CentOS7

Hadoop : 2.7.6

zookeeper : 3.4.6

hbase : 1.4.6

jdk : jdk1.8.0_171

三个节点的主机名分别为:master、node1、node2

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

https://www.cnblogs.com/yy-yang/p/14615048.html

zookeeper安装步骤

hbase Client客户端、Master、Region都会通过心跳机制(RPC通信)与zookeeper保持联系

1、上传安装包到master并解压

tar -zxvf zookeeper-3.4.6.tar.gz

我这里压缩包存放在/usr/local/module下,解压到/usr/local/soft目录下,读者需要根据自己的实际情况安装,下面的环境变量也需要根据自己实际情况配置

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键,如果有提示说明环境变量配置的没问题

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

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上的配置

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,这个是随机的每次启动可能不一样

下面简单介绍下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的启动前需要先启动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

关闭默认zk配置

因为HBase自己有个zk,这里我们把它自带的关掉,用我们自己的

export HBASE_MANAGES_ZK=false

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>

4、修改regionservers文件

默认是单节点的,我这里搭建的是分布式的, 在这里列出了你希望运行的全部 HRegionServer,一行写一个host (就像Hadoop里面的 slaves 一样

改为自己的子节点主机名

vim regionservers

node1
node2

如果是伪分布式版本,增加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`

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上有

其他两个节点

8、验证hbase

http://master:16010

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

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器