HBase安装部署

1、Zookeeper正常部署

首先保证Zookeeper集群的正常部署,并启动之:
bin/zkServer.sh start

2、Hadoop正常部署

Hadoop集群的正常部署并启动,在hadoop机器和yarn机器分别执行
sbin/start-dfs.sh
sbin/start-yarn.sh

3、Hbase安装

3.1 HBase的解压

解压Hbase到指定目录:
tar -zxvf hbase-2.0.5-bin.tar.gz -C /opt/module

3.2 HBase的配置文件

修改HBase对应的配置文件。

3.2.1 hbase-env.sh修改内容:

export HBASE_MANAGES_ZK=false

#若ssh的端口不是默认的22,则找SSH,在下面添加一行

export HBASE_SSH_OPTS="-p 端口号"

#若报 Error: JAVA_HOME is not set  添加

export JAVA_HOME=/usr/java/jdk1.8.0_212

3.2.2 hbase-site.xml修改内容:

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://hadoop102:8020/hbase</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>hadoop102,hadoop103,hadoop104</value>
  </property>
  <property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
  </property>
<property>
<name>hbase.wal.provider</name>
<value>filesystem</value>
</property>
</configuration>

3.3 修改regionservers:

hadoop102
hadoop103
hadoop104

3.4 软连接hadoop配置文件到HBase:

ln -s /opt/module/hadoop-3.1.3/etc/hadoop/core-site.xml /opt/module/hbase/conf/core-site.xml
ln -s /opt/module/hadoop-3.1.3/etc/hadoop/hdfs-site.xml /opt/module/hbase/conf/hdfs-site.xml

3.5 HBase远程发送到其他集群  

xsync hbase/

3.6 HBase服务的启动

3.6.1 启动方式

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

提示:如果集群之间的节点时间不同步,会导致regionserver无法启动,抛出ClockOutOfSyncException异常。
修复提示:
a、同步时间服务
b、属性:hbase.master.maxclockskew设置更大的值

<property>
        <name>hbase.master.maxclockskew</name>
        <value>180000</value>
        <description>Time difference of regionserver from master</description>
</property>

3.6.2 启动方式2

bin/start-hbase.sh
bin/stop-hbase.sh

3.7 查看HBase页面  

启动成功后,可以通过“host:port”的方式来访问HBase管理页面,例如:
http://hadoop102:16010

3.8 高可用(可选)

在HBase中HMaster负责监控HRegionServer的生命周期,均衡RegionServer的负载,如果HMaster挂掉了,那么整个HBase集群将陷入不健康的状态,并且此时的工作状态并不会维持太久。所以HBase支持对HMaster的高可用配置。


3.8.1 关闭HBase集群(如果没有开启则跳过此步)

bin/stop-hbase.sh

3.8.2 在conf目录下创建backup-masters文件

touch conf/backup-masters

3.8.3 在backup-masters文件中配置高可用HMaster节点

echo hadoop103 > conf/backup-masters

3.8.4 将整个conf目录scp到其他节点

scp -r conf/ hadoop103:/opt/module/hbase/
scp -r conf/ hadoop104:/opt/module/hbase/

3.8.5 打开页面测试查看

http://hadooo102:16010

4. Phoenix部署

4.1 解压并改名

tar -zxvf /opt/software/apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz -C /opt/module
mv apache-phoenix-5.0.0-HBase-2.0-bin phoenix

4.2 复制server包并拷贝到各个节点的hbase/lib

cp /opt/module/phoenix/phoenix-5.0.0-HBase-2.0-server.jar /opt/module/hbase/lib/

4.3 复制client包并拷贝到各个节点的hbase/lib

cp /opt/module/phoenix/phoenix-5.0.0-HBase-2.0-client.jar /opt/module/hbase/lib/

4.4 配置环境变量

#phoenix
export PHOENIX_HOME=/opt/module/phoenix
export PHOENIX_CLASSPATH=$PHOENIX_HOME
export PATH=$PATH:$PHOENIX_HOME/bin

4.5 启动Phoenix

/opt/module/phoenix/bin/sqlline.py hadoop102,hadoop103,hadoop104:2181

4.6 二级索引配置文件

4.6.1 添加如下配置到HBase的HRegionserver和 HMaster 节点的hbase-site.xml

  <!-- phoenix regionserver 配置参数-->
  <property>
    <name>hbase.regionserver.wal.codec</name>
    <value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>
  </property>

  <property>
    <name>hbase.region.server.rpc.scheduler.factory.class</name>
    <value>org.apache.hadoop.hbase.ipc.PhoenixRpcSchedulerFactory</value>
    <description>Factory to create the Phoenix RPC Scheduler that uses separate queues for index and metadata updates</description>
  </property>

  <property>
    <name>hbase.rpc.controllerfactory.class</name>
    <value>org.apache.hadoop.hbase.ipc.controller.ServerRpcControllerFactory</value>
    <description>Factory to create the Phoenix RPC Scheduler that uses separate queues for index and metadata updates</description>
  </property>
  <!-- phoenix master 配置参数 -->
  <property>
    <name>hbase.master.loadbalancer.class</name>
    <value>org.apache.phoenix.hbase.index.balancer.IndexLoadBalancer</value>
  </property>
  <property>
    <name>hbase.coprocessor.master.classes</name>
    <value>org.apache.phoenix.hbase.index.master.IndexMasterObserver</value>
  </property>

 4.7 瘦客户端

4.7.1 执行启动

queryserver.py start

4.7.2 命令访问或软件连接

sqlline-thin.py hadoop102

posted @ 2020-12-31 16:29  coolid  阅读(167)  评论(0编辑  收藏  举报