ToB企服应用市场:ToB评测及商务社交产业平台
标题:
HBase 集群部署全攻略:轻松上手
[打印本页]
作者:
拉不拉稀肚拉稀
时间:
昨天 04:40
标题:
HBase 集群部署全攻略:轻松上手
HBase
HBase 是基于 Hadoop 的分布式数据库,依赖于 Hadoop 的 HDFS 存储和 YARN 资源管理。
条件
搭建 HBase 条件条件:
Hadoop 集群已成功设置和启动。
1. 下载并安装 HBase
HBase 官方:https://hbase.apache.org/
去官方,下载合适的 HBase 版本。
解压到合适的目录中,比方:/usr/local/hbase。
注意,HBase 要与 Hadoop 有版本对应关系:
src:(source)源码:包含源代码,通常用于开发和自定义。
bin:(binary)二进制:包含已经编译好的二进制文件和可执行命令,用户通常用来操作框架。
这里,我们的 Hadoop 用3.x.x版本,所以要用 hadoop3-bin :
- hadoop3-bin (sha512 asc):这个包是专为与 Hadoop 3.x 版本兼容的 HBase 所准备的二进制文件。它包含了与 Hadoop 3.x 集群兼容的特定 HBase 版本的二进制文件。
复制代码
下载 hbase-2.6.1-hadoop3-bin.tar.gz 压缩包
# 解压压缩包
tar -zxvf hbase-2.6.1-hadoop3-bin.tar.gz
# 转移到 `/usr/local/hbase`下面
mv hbase-2.6.1-hadoop3 /usr/local/hbase
复制代码
2. 设置 HBase
设置 hbase-env.sh
cd /usr/local/hbase/conf
vi hbase-env.sh
# 将 JAVA_HOME 配置成自己本地的JAVA_HOME环境 `echo $JAVA_HOME` 可以查看。
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
复制代码
设置 hbase-site.xml
vi /usr/local/hbase/conf/hbase-site.xml
复制代码
<configuration>
<!-- 由于我们是分布式节点启动,所以这里一定要改为 true,不然无法启动! -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- HBase Master 和 RegionServer 绑定的地址 -->
<property>
<name>hbase.master</name>
<value>hbase://vm-01:16000</value>
</property>
<!-- HBase 使用的 ZooKeeper 集群 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>vm-01,vm-02,vm-03</value>
</property>
<!-- 默认的 ZooKeeper 客户端端口 -->
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<!-- HBase 根目录 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://vm-01:9000/hbase</value> <!-- 存储在 HDFS 中 -->
</property>
<!-- Zookeeper 的根节点 -->
<property>
<name>zookeeper.znode.parent</name>
<value>/hbase</value>
</property>
<!-- 启用 HBase Master 和 RegionServer -->
<property>
<name>hbase.master.port</name>
<value>16000</value>
</property>
<property>
<name>hbase.regionserver.port</name>
<value>16020</value>
</property>
</configuration>
复制代码
确保 利用的 hdfs://vm-01:9000 是你 Hadoop集群中 HDFS的 core-site.xml 和 hdfs-site.xml 设置。
3. 设置 ZooKeeper (HBase 必要依赖 ZooKeeper)
3.1 下载并安装 ZooKeeper
HBase 必要利用 ZooKeeper 来协调集群中的节点,因此,必要启动一个ZooKeeper集群。现在,在HBase 集群的每一台假造机上启动 ZooKeeper。
下载并解压 ZooKeeper
tar -xzvf apache-zookeeper-3.8.4-bin.tar.gz
mv apache-zookeeper-3.8.4-bin /usr/local/zookeeper
复制代码
注意:版本对应,这里利用 apache-zookeeper-3.8.4-bin.tar.gz 来举行操作。
3.2 设置 ZooKeeper 集群
ZooKeeper 默认利用 conf/zoo_sample.cfg 文件作为设置模板。将其复制为 zoo.cfg。
cd /usr/local/zookeeper/conf/
cp zoo_sample.cfg zoo.cfg
复制代码
编辑 zoo.cfg 文件,设置如下内容:
# 基本配置
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/data
clientPort=2181
maxClientCnxns=60
# 注意:以上大部分配置已存在,需要替换就行
# 集群服务器列表
server.1=vm-01:2888:3888
server.2=vm-02:2888:3888
server.3=vm-03:2888:3888
# tickTime:ZooKeeper 服务器与客户端之间或服务器之间心跳的基本时间单位,单位为毫秒。
# initLimit:Follower 节点连接 Leader 节点的初始化时间,单位为 tickTime 的倍数。
# syncLimit:Leader 和 Follower 之间同步的最大时间,单位为 tickTime 的倍数。
# dataDir:ZooKeeper 保存数据的目录,需要为每台虚拟机单独创建。
# clientPort:客户端连接 ZooKeeper 集群的端口,默认是 2181。
# server.X:X 是每个节点的唯一编号;2888 是节点通信端口;3888 是选举端口。
复制代码
为每个节点设置 myid 文件]
在 dataDir(好比 /usr/local/zookeeper/data)中,为每个假造机创建一个名为 myid 的文件,用于标识节点编号。内容为 zoo.cfg 中设置的 server.X 的编号:
在 vm-01:
mkdir -p /usr/local/zookeeper/data
echo "1" > /usr/local/zookeeper/data/myid
复制代码
在 vm-02:
mkdir -p /usr/local/zookeeper/data
echo "2" > /usr/local/zookeeper/data/myid
复制代码
在 vm-03:
mkdir -p /usr/local/zookeeper/data
echo "3" > /usr/local/zookeeper/data/myid
复制代码
启动 ZooKeeper 集群
# 1. 启动 ZooKeeper
cd /usr/local/zookeeper/bin
./zkServer.sh start
# 2. 查看ZooKeeper状态
./zkServer.sh status
# 3. 停止 ZooKeeper
./zkServer.sh stop
# 4. 重启 ZooKeeper
./zkServer.sh restart
复制代码
验证集群是否访问成功。
# 1. 通过客户端连接 ZooKeeper :
./zkCli.sh -server 192.168.10.68:2181
# 2. 执行一些简单命令验证:
ls /
create /test "HelloZooKeeper"
get /test
复制代码
4. 启动 HBase 集群
先在 主节点 vm-01 上 执行 ./start-hbase.sh
:
cd /usr/local/hbase/bin
./start-hbase.sh
复制代码
后在 从节点 vm-02 和 vm-03 上 执行 ./start-hbase.sh
:
./start-hbase.sh
复制代码
提示:HBase 在第一次启动时必要通过 hbase init 操作将集群的元数据存储在 ZooKeeper 中(包括 /hbase/hbaseid 节点)。
usr/local/zookeeper/bin/zkCli.sh 执行 ls /hbase 检察。
5. 检测 HBase 集群是否启动成功
全部节点运行 jps
下令:
HBase Master:应该看到 HMaster 进程。
RegionServer:应该看到 HRegionServer 进程。
jps
复制代码
检查 日记:
# master
tail -f /usr/local/hbase/logs/hbase-root-master-vm-01.log
tail -f /usr/local/hbase/logs/hbase-root-master-vm-01.out
# regionServer
tail -f /usr/local/hbase/logs/hbase-root-regionserver-vm-02.log
tail -f /usr/local/hbase/logs/hbase-root-regionserver-vm-02.out
复制代码
利用 HBase Shell 检查集群状态:
# 启动 HBase Shell :
/usr/local/hbase/bin/hbase shell
# 检查集群状态
hbase:001:0> status
1 active master, 2 backup masters, 3 servers, 0 dead, 0.6667 average load
Took 1.3920 seconds
复制代码
6. 访问 HBase Web UI
HBase 提供了一个 Web UI,可以在浏览器中检察集群的状态。
HBase Master Web UI:访问 http://<hbase-master-hostname>:16010(比方 http://vm-01:16010)。
你可以检察集群的整体状态、各个 RegionServer 的信息以及其他集群指标。
HBase RegionServer Web UI:访问 http://<regionserver-hostname>:16030(比方 http://vm-02:16030)。
你可以检察 RegionServer 的具体信息,比方 Region 分布、内存利用情况等。
7. 向 HBase 中写入数据并读取
# 进入 HBase Shell
hbase shell
# 创建一个表: 在 HBase Shell 中,创建一个表:
create 'test_table', 'cf1'
# 插入数据: 插入一些数据:
put 'test_table', 'row1', 'cf1:name', 'John'
# 查询数据: 查询数据:
get 'test_table', 'row1'
复制代码
至此,HBase集群搭建成功。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4