集群规划

高可用 :

cpu101 cpu102 cpu103
HDFS NameNode NameNode NameNode
JournalNode JournalNode JournalNode
DataNode DataNode DataNode
ZKFC ZKFC ZKFC
Zookeeper Zookeeper Zookeeper Zookeeper
HBase HMaster HMaster HMaster
HRegionServer HRegionServer HRegionServer

前置准备

Zookeeper 启动

https://blog.csdn.net/qq_44226094/article/details/123119682

Hadoop 启动 :

https://blog.csdn.net/qq_44226094/article/details/122993590

高可用启动(选择) :

https://blog.csdn.net/qq_44226094/article/details/123401032

解压 HBase

解压 Hbase 到指定目录:

tar -zxvf hbase-2.0.5-bin.tar.gz -C /opt/module/

在这里插入图片描述

配置环境变量

sudo vim /etc/profile.d/my_env.sh
#HBASE_HOME
export HBASE_HOME=/opt/module/hbase-2.0.5
export PATH=$PATH:$HBASE_HOME/bin

在这里插入图片描述

source /etc/profile

分发

sudo ~/bin/xsync /etc/profile.d/my_env.sh

在这里插入图片描述

配置文件

/opt/module/hbase-2.0.5/conf 目录中

hbase-env.sh 修改内容 :

vim hbase-env.sh
# 使用独立部署的 zookeeper
export HBASE_MANAGES_ZK=false

# 防止 HBase 的进程号被操作系统删除
export HBASE_PID_DIR=/opt/module/hbase-2.0.5/pids

在这里插入图片描述

hbase-site.xml 修改内容 :

vim hbase-site.xml

HA

<configuration>
	<!-- RegionServer共享目录 -->
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://mycluster/hbase</value>
    </property>
	<!-- HBase的运行模式 , false : 单机模式,true : 分布式模式 -->
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
	<!-- Zookeeper 集群的地址列表 -->
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>cpu101,cpu102,cpu103</value>
    </property>
    
    <property>
         <name>hbase.zookeeper.property.clientPort</name>
         <value>2181</value>
    </property>

    <!-- Hbase 临时目录 -->
	<property>
		<name>hbase.tmp.dir</name>
		<value>/opt/module/hbase-2.0.5/tmp</value>
	</property>

	<!-- 控制HBase是否检查流功能(hflush / hsync), false: 在rootdir表示的LocalFileSystem上运行 -->
	<property>
		<name>hbase.unsafe.stream.capability.enforce</name>
		<value>false</value>
	</property>
	
	<!-- 备份的副本数(不会放在同一节点上),不能超过datanode的节点数。
	注意hadoop的hdfs-site.xml配置文件中也有dfs.replication这个参数,跟hbase-site.xml的dfs.replication参数是不同的,
	hbase的数据备份数需要在hbase-site.xml配置文件中单独设置!否则hbase写入的数据regionServer只会保存一份! -->
	<property>
		<name>dfs.replication</name>
		<value>3</value>
	</property>

</configuration>

未HA ;

<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://cpu101:8020/hbase</value>
    </property>

    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>

    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>cpu101,cpu102,cpu103</value>
    </property>
</configuration>

在这里插入图片描述

regionservers :

cpu101
cpu102
cpu103

在这里插入图片描述

分发

xsync hbase-2.0.5/

在这里插入图片描述

HBase启动

start-hbase.sh

在这里插入图片描述

查看状态

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

http://cpu101:16010

在这里插入图片描述

高可用

关闭 HBase 集群

stop-hbase.sh

在这里插入图片描述

配置文件

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

vim backup-masters
cpu102
cpu103

在这里插入图片描述

分发

xsync backup-masters

在这里插入图片描述

启动

start-hbase.sh

在这里插入图片描述

查看

http://cpu101:16010

在这里插入图片描述

在这里插入图片描述

Phoenix

解压 tar 包

/opt/software

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

在这里插入图片描述

改名 :

mv apache-phoenix-5.0.0-HBase-2.0-bin phoenix-5.0.0-HBase-2.0

在这里插入图片描述

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

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

在这里插入图片描述

分发

xsync phoenix-5.0.0-HBase-2.0-server.jar

在这里插入图片描述

配置环境变量

sudo vim /etc/profile.d/my_env.sh
#phoenix
export PHOENIX_HOME=/opt/module/phoenix-5.0.0-HBase-2.0
export PHOENIX_CLASSPATH=$PHOENIX_HOME
export PATH=$PATH:$PHOENIX_HOME/bin

在这里插入图片描述

配置文件

在 Hbase 中 conf 目录下的 hbase-site.xml 和 phoenix 中 bin 目录下的 hbase-site.xml 中

	<!-- 支持 HBase命名空间映射 , 创建 schema -->
	<property>
		<name>phoenix.schema.isNamespaceMappingEnabled</name>
		<value>true</value>
	</property>

在这里插入图片描述

在这里插入图片描述

二级索引配置文件 :

HBase 中 hbase-site.xml

	<!-- phoenix regionserver 配置参数-->
	<!-- 支持索引预写日志编码 -->
	<property>
		<name>hbase.regionserver.wal.codec</name>
		<value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>
	</property>
	<!-- Phoenix RPC调度 -->
	<property>
		<name>hbase.region.server.rpc.scheduler.factory.class</name>
		<value>org.apache.hadoop.hbase.ipc.PhoenixRpcSchedulerFactory</value>
	</property>
	
	<property>
		<name>hbase.rpc.controllerfactory.class</name>
		<value>org.apache.hadoop.hbase.ipc.controller.ServerRpcControllerFactory</value>
	</property>

在这里插入图片描述

xsync hbase-site.xml

在这里插入图片描述

HBase与Hive集成使用 :

在 hive-site.xml 中添加 zookeeper 的属性

	<property>
		<name>hive.zookeeper.quorum</name>
		<value>cpu101,cpu102,cpu103</value>
	</property>
	
	<property>
		<name>hive.zookeeper.client.port</name>
		<value>2181</value>
	</property>

在这里插入图片描述

重启HBase

stop-hbase.sh
start-hbase.sh

在这里插入图片描述

Logo

更多推荐