Windows环境下安装HBase

下载HBase

官网: https://hbase.apache.org/downloads.html

不同版本集合:https://archive.apache.org/dist/hbase/

配置HBase

修改hbase-env.cmd

set JAVA_HOME=D:\Development\Java\jdk1.8
# HBase内置zookeeper,使用内置zk,需要设置为true:由HBase自己管理zookeeper
set HBASE_MANAGES_ZK=true
set HADOOP_HOME=D:\Development\Hadoop
set HBASE_LOG_DIR=D:\Development\HBase\logs

修改hbase-site.xml

<configuration><!--HBase数据在hdfs上的存储根目录--><property><name>hbase.rootdir</name><value>hdfs://localhost:9000/hbase</value></property><!--是否为分布式模式部署,true表示分布式部署--><property><name>hbase.cluster.distributed</name><value>false</value></property><!--zookeeper集群的URL配置,多个host中间用逗号--><property><name>hbase.zookeeper.quorum</name><value>localhost:2181</value></property><!--HBase在zookeeper上数据的根目录znode节点--><property><name>zookeeper.znode.parent</name><value>/hbase</value></property><!-- zookeeper数据目录--><property><name>hbase.zookeeper.property.dataDir</name><value>D:\Development\HBase\data\tmp\zoo</value></property><!-- 本地文件系统tmp目录--><property><name>hbase.tmp.dir</name><value>D:\Development\HBase\data\tmp</value></property><!-- 使用本地文件系统设置为false,使用hdfs设置为true --><property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value></property><!--HBase的Web界面访问端口--><property>  <name>hbase.master.info.port</name><value>16010</value></property><property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value></property>
</configuration>

启动HBase

注意:先启动Hadoop,再启动HBase

Windows安装Hadoop3.x及在Windows环境下本地开发

在HBase/bin目录操作,启动HBase

D:\Development\HBase\bin>start-hbase.cmd

shell操作HBase

D:\Development\HBase\bin>hbase shell
hbase(main):001:0> list
TABLE
0 row(s)
Took 1.7100 seconds
=> []
hbase(main):002:0>

访问web界面

访问:http://localhost/:16010查看Hbase情况

Java操作HBase API

添加依赖

    <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-hdfs</artifactId><version>3.1.3</version></dependency><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-client</artifactId><version>3.1.3</version></dependency><dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-server</artifactId><version>2.2.5</version></dependency><!--java.lang.NoSuchMethodError: 'void org.apache.hadoop.security.HadoopKerberosName.setRuleMechanism(java.lang.String)'--><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-auth</artifactId><version>3.1.3</version></dependency><dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-client</artifactId><version>2.2.5</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13</version></dependency></dependencies>

添加Hadoop和HBase的配置文件到项目Resources目录

core-site.xml
hbase-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.NamespaceDescriptor;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes;public class HBaseTest {/*** 获取HBase管理员类*/private Admin admin;/*** 获取数据库连接*/private Connection connection;/*** 初始化*/@Beforepublic void init() throws IOException {Configuration configuration = HBaseConfiguration.create();this.connection = ConnectionFactory.createConnection(configuration);this.admin = connection.getAdmin();}/*** 资源释放*/@Afterpublic void destory() throws IOException {if (admin != null) {admin.close();}if (connection != null) {connection.close();}}/*** 查询所有表的信息*/@Testpublic void listTables() throws IOException {TableName[] tableNames = admin.listTableNames();for (TableName tableName : tableNames) {System.out.println("tableName:" + tableName);}}
}

关键异常记录

异常1:

util.FSUtils: Waiting for dfs to exit safe mode...

退出Hadoop安全模式

hadoop dfsadmin -safemode leave

异常2:

Caused by: org.apache.hbase.thirdparty.io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further information: Coding/192.168.138.245:16000
Caused by: java.net.ConnectException: Connection refused: no further information

最坑爹的一个问题,折腾太久太久,Hadoop与HBase版本不匹配,更换版本。本次搭建使用Hadoop3.1.3与HBase2.2.5

注意:官网给出的版本兼容不可靠,任然有Bug

Linux环境下搭建HBase高可用集群

节点 HMasterActive HMasterStandBy HRegionServer Zookeeper
node01 * * *
node02 * * *
node03 * *

注意:Hadoop集群、ZooKeeper集群、Hive集群正常运行,时间同步

下载安装HBase

官网: https://hbase.apache.org/downloads.html

不同版本集合:https://archive.apache.org/dist/hbase/

修改集群环境

vim hbase-env.sh

export HBASE_LOG_DIR=${HBASE_HOME}/logs
export JAVA_HOME=/usr/local/jdk1.8
# 告诉HBase它是否应该管理自己的ZooKeeper实例
export HBASE_MANAGES_ZK=false
export HADOOP_HOME=/usr/local/program/hadoop

修改配置文件

vim hbase-site.xml

<configuration><property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value></property><!--设置HBase表数据,也就是真正的HBase数据在hdfs上的存储根目录--><property><name>hbase.rootdir</name><value>hdfs://my-hdfs/hbase</value></property><!--是否为分布式模式部署,true表示分布式部署--><property><name>hbase.cluster.distributed</name><value>true</value></property><!--zookeeper集群的URL配置,多个host中间用逗号--><property><name>hbase.zookeeper.quorum</name><value>node001:2181,node002:2181,node003:2181</value></property><!--HBase在zookeeper上数据的根目录znode节点--><property><name>zookeeper.znode.parent</name><value>/hbase</value></property><!-- 本地文件系统tmp目录,一般配置成local模式的需要设置,建议设置 --><property><name>hbase.tmp.dir</name><value>/usr/local/program/hbase/tmp</value></property><!-- 使用本地文件系统设置为false,使用hdfs设置为true --><property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value></property>
</configuration>

vim regionservers

node001
node002
node003

备用Master节点

vim backup-masters

node002

修改环境变量

vim /etc/profile

export HBASE_HOME=/usr/local/program/hbase
export PATH=$HBASE_HOME/bin:$PATH

使生效 source /etc/profile

拷贝Hadoop配置文件

cp /usr/local/program/hadoop/etc/hadoop/core-site.xml  /usr/local/program/hbase/conf/cp /usr/local/program/hadoop/etc/hadoop/hdfs-site.xml  /usr/local/program/hbase/conf/

软件分发其他节点

[root@node002 ~]# scp -r root@node001:/usr/local/program/hbase /usr/local/program[root@node003 ~]# scp -r root@node001:/usr/local/program/hbase /usr/local/program[root@node001 conf]# scp /etc/profile root@node002:/etc/profile[root@node001 conf]# scp /etc/profile root@node003:/etc/profile

使配置生效:source /etc/profile

启动集群

启动zookeeper

zkServer.sh start

启动Hadoop

start-all.sh

启动HBase

start-hbase.sh

web界面

访问:http://node001:16010查看Hbase集群情况

Windows环境下安装HBase(Hadoop3.1.3、HBase2.2.5)与Linux环境下搭建HBase高可用集群相关推荐

  1. Redis创建高可用集群教程【Windows环境】

    模仿的过程中,加入自己的思考和理解,也会有进步和收获. 在这个互联网时代,在高并发和高流量可能随时爆发的情况下,单机版的系统或者单机版的应用已经无法生存,越来越多的应用开始支持集群,支持分布式部署了. ...

  2. Redis高可用集群-哨兵模式(Redis-Sentinel)搭建配置教程【Windows环境】

    ================================================= 人工智能教程.零基础!通俗易懂!风趣幽默!大家可以看看是否对自己有帮助! 点击查看高清无码教程 == ...

  3. Haoop之hbase高可用集群的 安装与使用

    Haoop之hbase高可用集群的 安装与使用 实验目的.要求 掌握完全分布模式的整合平台中HBase的高可用完全分布模式的安装 1.完成HBase的高可用完全分布模式的安装 2.HBase的相关服务 ...

  4. centOS 7下安装与配置heartbeat高可用集群

    Heartbeat项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统.心跳服务和集群通信是高可用集群的两个关键组件,在 Heartbeat 项目里,由 heartbeat 模块实 ...

  5. 内网环境下手动部署kubernetes(v1.26.3)高可用集群

    这篇博客主要是记录了手动部署一个高可用的Kubernetes集群的过程.旨在帮助自己及初学者学习kubernetes,并记录下具体的操作过程和总结的知识点.文中可能存在一些问题或不足之处,仅供参考. ...

  6. Hadoop(二): YARN(资源管理器 RM)、HBase高可用集群搭建

    目录 一.Hadoop的高可用原理概述 1.1 原理概述 1.2 实验环境要求 二.高可用集群的搭建 2.1 搭建Zookeeper 2.2 搭建HA的高可用 2.3 YARN(资源管理器 RM)高可 ...

  7. Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase)

    一.服务器环境 主机名 IP 用户名 密码 安装目录 master 192.168.142.124 root xxx /usr/hadoop-2.6.5/ slave1 192.168.142.125 ...

  8. HBase 高可用集群整合 Phoenix 配置

    HBase 高可用集群整合 Phoenix 配置 接上文:HBase 高可用集群配置 命令行参考:https://blog.csdn.net/ubuntu64fan/article/details/8 ...

  9. Linux: CentOS 7下搭建高可用集群

    转载: http://linux.cn/article-3963-1.html 本文以两台机器实现双集热备高可用集群,主机名node1的IP为192.168.122.168 ,主机名node2的IP为 ...

最新文章

  1. Recovering unassigned shards on elasticsearch 2.x——副本shard可以设置replica为0在设置回来...
  2. Windows文件目录DOS窗口
  3. python拷贝文件夹目录和文件_Python 拷贝文件及文件夹到远程主机目录
  4. linux指令快速复制粘贴[龟速更新中]
  5. Cortex-M3-复位(序列)
  6. 程序猿永远就是程序员的命么?
  7. makefile初步制作,arm-linux- (gcc/ld/objcopy/objdump)详解
  8. !!只保留文本中的中英文和符号.,其余都删除
  9. Chrome 咕咕牛懒器(guge niú lǎn qì) 安装 及助手插件操作
  10. 当前安全设置不允许下载该文件的解决办法
  11. win10计算机用户怎么删除,Win10系统怎么管理的家庭成员账户? Win10删除账户的教程...
  12. 10 分钟把你的 Web 应用转为桌面端应用
  13. 【深度学习】基于MindSpore和pytorch的Softmax回归及前馈神经网络
  14. Massve MIMO波束成形
  15. TemplateBinding和Binding的区别
  16. 股票交易接口开发原理是什么?
  17. 微信小程序之 打印json数据或者object类型的数据技巧
  18. WIFI MAC地址规则常见问题(WIFI MAC)
  19. sakai项目中chat子模块解读
  20. html5 交互作品,20个交互动效很棒的网页设计例子

热门文章

  1. javafx粒子系统之烟雾模拟
  2. 炒股大赛项目中遇到的跨域情况
  3. Linuxvim 中批量添加注释
  4. 【ubuntu】Ubuntu中Android SDK下载跟配置
  5. 拿下ABB需要多少代码!《abb机器人资料》
  6. 输入框input 修改placeholder样式
  7. 步进电机 高速光耦_双向高速高速度光耦模块作用,光耦控制继电器原理图
  8. VS2008 安装失败,.net framework卸载不了的问题
  9. Seata分布式事务模式(TA、TCC、XA、SAGA)工作机制
  10. MySQL怎么修改密码/MySQL重装教程(MySQL忘记密码,MySQL安装失败)