Windows下安装HBase

Windows下安装HBase

  • 一、HBase简介
  • 二、HBase下载安装包
  • 三、环境准备
    • 3.1、 JDK的安装
    • 3.2、 Hadoop的安装
  • 四、HBase安装
    • 4.1、压缩包解压为文件夹
    • 4.2、配置环境变量
    • 4.3、%HBASE_HOME%目录下新建临时文件夹
    • 4.4、修改配置文件 hbase-env.cmd
      • 4.4.1、配置JAVA环境
      • 4.4.2、set HBASE_MANAGES_ZK=true
    • 4.5、修改配置文件 hbase-site.xml
  • 五、HBase启动
    • 5.1、先启动Hadoop
    • 5.1、启动HBase
  • 六、错误处理
    • 6.1、Could not initialize class org.fusesource.jansi.internal.Kernel32
    • 6.2、Hbase启动hbase shell运行命令报Class path contains multiple SLF4J bindings.错误
  • 七、HBase测试
    • 7.1、HBase基本命令
      • 7.1.1、进入HBase:hbase shell
      • 7.1.2、测试其他基本命令
    • 7.2、HBase创建表
    • 7.3、修改表结构
    • 7.4、插入数据
  • 八、通过页面访问判断HBase是否启动成功

一、HBase简介

HBase(Hadoop Database),是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。
HBase官网:HBase官网

二、HBase下载安装包

HBase下载地址:https://dlcdn.apache.org/hbase/
本次演示下载的是:hbase-2.0.0-alpha4-bin.tar.gz

三、环境准备

3.1、 JDK的安装

jdk的安装这里就不赘述了。这里安装的jdk1.8。

3.2、 Hadoop的安装

需要预先安装好hadoop,详细安装步骤点这里:windows下安装Hadoop

四、HBase安装

4.1、压缩包解压为文件夹

解压到:D:\hbase-2.0.0-alpha4

4.2、配置环境变量

变量设置参数如下:
变量名:HBASE_HOME;变量值:D:\hbase-2.0.0-alpha4
变量名:Path;添加变量值:%HBASE_HOME%\bin

4.3、%HBASE_HOME%目录下新建临时文件夹

先在%HBASE_HOME%目录下建立 tmp 文件夹:

D:\hbase-2.0.0-alpha4\tmp

然后到 tmp 文件夹下,建立 root、tmp、zoo 三个目录:

D:\hbase-2.0.0-alpha4\tmp\root
D:\hbase-2.0.0-alpha4\tmp\tmp
D:\hbase-2.0.0-alpha4\tmp\zoo

在这里插入图片描述

4.4、修改配置文件 hbase-env.cmd

文件路径:\conf\hbase-env.cmd

4.4.1、配置JAVA环境

注意:JAVA文件安装路径不要有空格

set JAVA_HOME=D:\java\java1.8

在这里插入图片描述

4.4.2、set HBASE_MANAGES_ZK=true

set HBASE_MANAGES_ZK=true

在这里插入图片描述

4.5、修改配置文件 hbase-site.xml

文件路径:\conf\hbase-site.xml
注意:下面的目录改为自己的HBase安装目录

<configuration><property><name>hbase.rootdir</name><!-- <value>hdfs://localhost:9000/</value> --><value>file:///D:/hbase-2.0.0-alpha4/tmp/root</value></property><property><name>hbase.tmp.dir</name><value>D:/hbase-2.0.0-alpha4/tmp/tmp</value></property><property><name>hbase.zookeeper.quorum</name><value>127.0.0.1</value></property><property><name>hbase.zookeeper.property.dataDir</name><value>D:/hbase-2.0.0-alpha4/tmp/zoo</value></property><property><name>hbase.cluster.distributed</name><value>false</value></property>
</configuration>

五、HBase启动

5.1、先启动Hadoop

D:
cd D:\hadoop-3.1.0\sbin
start-all.cmd

在这里插入图片描述
查看启动的Hadoop服务:
在这里插入图片描述

5.1、启动HBase

D:
cd D:\hbase-2.0.0-alpha4\bin
start-hbase.cmd

在这里插入图片描述
查看启动的HBase服务:
在这里插入图片描述

六、错误处理

6.1、Could not initialize class org.fusesource.jansi.internal.Kernel32

这是缺少jansi-1.4.jar包导致的,下载jansi-1.4.jar包放到 hbase-2.0.0-alpha4\lib 下,重新启动即可。
下载地址:jansi-1.4.jar

6.2、Hbase启动hbase shell运行命令报Class path contains multiple SLF4J bindings.错误

“D:\hbase-2.0.0-alpha4\lib\” 目录下
修改 slf4j-log4j12-1.7.10.jar 文件名称,slf4j-log4j12-1.7.10.jar-copy
修改前:
在这里插入图片描述
修改后:
在这里插入图片描述

七、HBase测试

7.1、HBase基本命令

hbase shell            #进入HBase
help                   #进入到HBase后,查看帮助
status                 #查看数据库集群状态
version                #查看数据库版本
list                   #查看数据库中所有的表
describe 'tablename'   #查看表的详细信息

7.1.1、进入HBase:hbase shell

在这里插入图片描述

7.1.2、测试其他基本命令

在这里插入图片描述

7.2、HBase创建表

create 'member','member_id','address','info'
describe 'member'

在这里插入图片描述

7.3、修改表结构

disable 'member'                                      #使得表离线(这样才可以修改表结构)
alter 'member',{NAME=>'member_id',METHOD=>'delete'}   #删除表字段(目前在在线的情况下也可以修改表结构)
enable 'member'                                       #使得表在线

在这里插入图片描述

7.4、插入数据

put'member','wanglaoshi','info:age','32'
put'member','wanglaoshi','info:birthday','1984-12-2'
put'member','wanglaoshi','info:company','lx'
put'member','wanglaoshi','address:contry','china'
put'member','wanglaoshi','address:province','guangdong'
put'member','wanglaoshi','address:city','sz'
put'member','chenlaoshi','info:birthday','1984-1-2'
put'member','chenlaoshi','info:favorite','movie'
put'member','chenlaoshi','info:company','lx'
put'member','chenlaoshi','address:contry','china'
put'member','chenlaoshi','address:province','guangdong'
put'member','chenlaoshi','address:city','dg'
put'member','chenlaoshi','address:town','cp'

在这里插入图片描述

在这里插入图片描述

八、通过页面访问判断HBase是否启动成功

http://127.0.0.1:16010/master-status
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/14106.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Hutool工具类中的BeanUtil.fillBeanWithMap方法报错`DateException`

使用Hutool工具类中的BeanUtil.fillBeanWithMap方法报错DateException 问题背景 在实现登录功能时&#xff0c;我先将用户信息存入Redis中&#xff0c;然后再获取用户信息的时候&#xff0c;又取出来。我存入Redis的用户信息是Hash格式的&#xff0c;所以取出来的时候&#xff…

Ansible的脚本 --- playbook 剧本

文章目录 一、playbook剧本的组成创建剧本运行playbook二、定义、引用变量三、指定远程主机sudo切换用户四、when条件判断五、迭代Templates 模块tags 模块 一、playbook剧本的组成 playbooks 本身由以下各部分组成 &#xff08;1&#xff09;Tasks&#xff1a;任务&#xff0…

kubernetes 证书更新

参考&#xff1a; https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/https://kubernetes.io/zh-cn/docs/tasks/tls/certificate-rotation/ 查看证书 查看 kubelet是否支持证书自动轮换&#xff0c;默认轮换的证书位于目录 /var/lib/kubele…

vscode 打开文件时如何在资源管理器中展开文件所在的整个目录树(包含node_modules)

如题。去 首选项 --> 设置 中 搜索 “Auto Reveal”&#xff0c;然后选true&#xff0c;注意把下面的Auto Reveal Exclude排除项中的node_modules去掉&#xff0c;这样才能定位到node_modules中的文件。 **/node_modules

正则,JS:this,同步异步,原型链笔记整理

一 正则表达式 正则表达式&#xff08;regular expression&#xff09;是一种表达文本模式&#xff08;即字符串结构&#xff09;的方法&#xff0c;有点像字符串的模板&#xff0c;常常用来按照“给定模式”匹配文本 正则表达式可以用于以下常见操作&#xff1a; 匹配&…

Leetcode刷题---C语言实现初阶数据结构---单链表

1 删除链表中等于给定值 val 的所有节点 删除链表中等于给定值 val 的所有节点 给你一个链表的头节点head和一个整数val&#xff0c;请你删除链表中所有满足Node.valval的节点&#xff0c;并返回新的头节点 输入&#xff1a;head [1,2,6,3,4,5,6], val 6 输出&#xff1a;[…

基于 ThinkPHP 5.1(稳定版本) 开发wms 进销存系统源码

基于ThinkPHP 5.1&#xff08;LTS版本&#xff09;开发的WMS进销存系统源码 管理员账号密码&#xff1a;admin 一、项目简介 这个系统是一个基于ThinkPHP框架的WMS进销存系统。 二、实现功能 控制台 – 权限管理&#xff08;用户管理、角色管理、节点管理&#xff09; – 订…

Docker 入门终极指南[详细]

前言 富 Web 时代&#xff0c;应用变得越来越强大&#xff0c;与此同时也越来越复杂。集群部署、隔离环境、灰度发布以及动态扩容缺一不可&#xff0c;而容器化则成为中间的必要桥梁。 本节我们就来探索一下 Docker 的神秘世界&#xff0c;从零到一掌握 Docker 的基本原理与实…

【Golang】Golang进阶系列教程--Go 语言 new 和 make 关键字的区别

文章目录 前言new源码使用 make源码使用 总结 前言 本篇文章来介绍一道非常常见的面试题&#xff0c;到底有多常见呢&#xff1f;可能很多面试的开场白就是由此开始的。那就是 new 和 make 这两个内置函数的区别。 在 Go 语言中&#xff0c;有两个比较雷同的内置函数&#xf…

忽略nan值,沿指定轴计算标准(偏)差numpy.nanstd()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 沿指定轴方向 计算标准(偏)差 numpy.nanstd() [太阳]选择题 import numpy as np a np.array([[1,2],[np.nan,3]]) print("【显示】a ") print(a) print("【执行】np.std(a)&qu…

微信小程序:生成二维码带参数并获取值

通过后台接口可以获取小程序任意页面的小程序码&#xff0c;需要注意的是接口只能生成已发布的小程序的二维码 小程序接口文档 获取 scene 值 1&#xff09;scene 字段的值会作为 query 参数传递给小程序/小游戏。用户扫描该码进入小程序/小游戏后&#xff0c;开发者可以获取…

链表OJ题目1 (移除链表元素)

力扣&#xff08;链接放这里喽&#xff09; 先贴代码再做讲解&#xff1a; struct ListNode* removeElements(struct ListNode* head, int val) {struct ListNode* cur head;struct ListNode* tail NULL;while(cur){if(cur->val val){if(cur head){head head->next…

「问题」如何解决 MyBatis 中的 if 标签无法识别参数为 0 的问题

如何解决 MyBatis 中的 if 标签无法识别参数为 0 的问题 如何让参数为0也能进入if标签的方法中&#xff1f;1、问题2、原因3、怎么解决这个问题&#xff1f; 如何让参数为0也能进入if标签的方法中&#xff1f; 1、问题 mybatis中的自己写的判断方法&#xff0c;若参数buildin…

react map使用方法详解

在React中&#xff0c;map()方法是用于数组的常见方法之一&#xff0c;它可以用于处理数组并返回一个新的数组。在React中&#xff0c;经常使用map()方法来遍历数组&#xff0c;生成对应的组件列表或进行数据转换操作。 下面是map()方法在React中的使用方法详解&#xff1a; …

chatGPT 学习分享:内含PPT分享下载

InstructGPT论文地址&#xff1a; Training language models to follow instructions with human feedbackchatGPT地址&#xff1a;openAI个人整理的PPT&#xff08;可编辑&#xff09;&#xff0c;下载地址&#xff1a;chatGPT学习分享PPT

阿里巴巴 arthas的MathGame源码是什么

阿里巴巴开源的arthas是一个非常优秀的在线调试工具&#xff0c;为了方便学习者练习&#xff0c;提供了一个demo程序MathGame&#xff0c;并且发布在github中&#xff0c;不过呢&#xff0c;国内有时打不开&#xff0c;此时我们可以使用源码直接在我们的idea中启动&#xff0c;…

JUC并发编程之等待唤醒机制

目录 1. 线程等待唤醒机制 1.1 使用Object的wait()和notify()方法 1.2 使用Condition接口 1.3 使用LockSupport类 1. 线程等待唤醒机制 在JUC&#xff08;Java Util Concurrent&#xff09;并发编程中&#xff0c;线程等待唤醒机制是实现线程之间协作和同步的重要手段。这…

AIGC(Artificial Intelligence and Graph Computing)职业发展路径和前景如何?

目录 一、AIGC 基本概念二、AIGC 市场规模三、AIGC 未来发展前景四、AIGC 职业发展路径五、AIGC 技能要求六、AIGC 相关公司 AIGC&#xff08;Artificial Intelligence and Graph Computing&#xff09;是人工智能和图计算的结合&#xff0c;它是一种用于处理大规模复杂数据的计…

暑假刷题第16天--7/28

143. 最大异或对 - AcWing题库&#xff08;字典树&#xff09; #include<iostream> using namespace std; const int N100005; int a[N]; int nex[10000007][2],cnt; void insert(int x){int p0;for(int i30;i>0;i--){int ux>>i&1;if(!nex[p][u])nex[p][u]…

java排序算法之插入排序

文章目录 &#x1f4cb;插入排序概念&#x1f4d6;实现步骤&#x1f516;代码示例 &#x1f4c8;总结 &#x1f4cb;插入排序概念 插入排序&#xff08;Insertion Sort&#xff09;是一种简单直观的排序算法。它将数组划分为已排序和未排序两个部分&#xff0c;每次从未排序部分…