当前位置: 首页 > news >正文

新手安装HBase

环境

操作系统:Ubuntu 24.3

VMware:17

Hadoop版本:3.4.2

HBase版本:2.6.3

Zookeeper版本:3.8.5

JDK版本:1.8

下载链接

Zookeeper 阿里云镜像下载网站

HBase 阿里云镜像下载网站

注:下载选择后缀为 -bin.tar.gz 的文件

过程

注:

1.本文所使用的.tar.gz文件放置在~/Downloads文件夹

2.本文使用apache-zookeeper-3.8.5-bin.tar.gz和hbase-2.6.3-bin.tar.gz两个文件,实际安装时注意复制的命令版本是否与您下载的版本一致

apache-zookeeper-<替换成您下载的版本>-bin.tar.gz

hbase-<替换成您下载的版本>-bin.tar.gz

1.Zookeeper

1.7打开终端输入

cd ~/Downloads

ls

1.8输入

sudo tar -zvxf apache-zookeeper-3.8.5-bin.tar.gz -C /usr/local

如果弹出[sudo] password for <你的账户>:则先输入密码

1.8输入

cd /usr/local/

ls

1.9输入

sudo mv ./apache-zookeeper-3.8.5-bin/ ./zookeeper

ls

1.10输入

sudo chown -R hadoop ./zookeeper

1.11输入

cd ./zookeeper/conf

1.12输入

mv zoo_sample.cfg zoo.cfg

vim zoo.cfg

1.13找到

1.14修改为

dataDir=/usr/local/zookeeper/zkdata

1.15按下Esc,之后输入:wq保存

1.16输入

cd /usr/local/zookeeper

1.17输入

mkdir zkdata

ls

1.18输入

vim ~/.bashrc

1.19输入

export ZOOKEEPER_HOME=/usr/local/zookeeper export PATH=$ZOOKEEPER_HOME/bin:$PATH

1.20按下Esc,之后输入:wq保存

1.21输入

source ~/.bashrc

1.22输入

zkServer.sh start

启动Zookeeper

1.23输入

jps

查看进程

1.24输入

zkServer.sh status

查看状态

1.25输入

zkCli.sh

进入客户端

1.26输入

quit

退出

1.27如果关闭zookeeper输入

zkServer.sh stop


启动HBase需要先启动Zookeeper


2.HBase

打开终端输入

cd ~/Downloads

ls

输入

sudo tar -zvxf hbase-2.6.3-bin.tar.gz -C /usr/local

输入

cd /usr/local

ls

输入

sudo mv ./hbase-2.6.3/ ./hbase

输入

sudo chown -R hadoop ./hbase

输入

ls

输入

vim ~/.bashrc

将export前缀部分改为

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH export ZOOKEEPER_HOME=/usr/local/zookeeper export PATH=:$ZOOKEEPER_HOME/bin:$PATH export HADOOP_HOME=/usr/local/hadoop export PATH=${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:/usr/local/hbase/bin:$PATH

按下Esc,之后输入:wq保存

输入

source ~/.bashrc

输入

hbase version

验证安装

输入

cd ./hbase/conf
vim hbase-env.sh

在开头插入

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export HBASE_MANAGES_ZK=false export HBASE_CLASSPATH=/usr/local/hadoop/etc/hadoop export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"

1.18按下Esc,之后输入:wq保存

1.19输入

vim hbase-site.xml

1.20在<configuration>和</configuration>之间加入

<property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.tmp.dir</name> <value>hdfs://localhost:9000/hbase</value> </property> <property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> <property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/usr/local/zookeeper/zkData</value> </property> <property> <name>hbase.coprocessor.abortonerror</name> <value>false</value> </property>

按下Esc,输入:wq保存

注意:在HBase启动之后,hbase-site.xml尽量不要修改,容易造成报错

1.21输入

start-dfs.sh

启动hdfs

1.22输入

start-hbase.sh

1.23输入

jps

1.24输入

hbase shell

进入HBase

测试使用

以学生表为例

学生表(Student)

学号(S_No)

姓名(S_Name)

性别(S_Sex)

年龄(S_Age)

2015001

Zhangsan

male

23

2015003_1

Mary

female

22

1.创建实验使用的表

# 创建student表(列族info) create 'student', 'info' # 插入2015001的记录 put 'student', '2015001', 'info:S_Name', 'Zhangsan' put 'student', '2015001', 'info:S_Sex', 'male' put 'student', '2015001', 'info:S_Age', '23' # 插入2015003的两条记录(注意学号重复,实际应确保学号唯一,此处按原数据处理) put 'student', '2015003_1', 'info:S_Name', 'Mary' put 'student', '2015003_1', 'info:S_Sex', 'female' put 'student', '2015003_1', 'info:S_Age', '22'

注意:如果出现,需要jps查看HMaster和HRegionServer服务是否存在,如果缺少可以重新启动HDFS和HBase;如果重新启动仍然不存在需要找到其他原因。

2.1输入

list

2.1输入

scan ‘student’

http://www.jsqmd.com/news/659288/

相关文章:

  • 跨平台开发实战:ClearerVoice-Studio在Qt应用中的集成
  • 维普AI检测到底查什么?搞懂原理才能有效降AI率
  • 生成式AI搜索优化失效真相:从BERT重排到MUM升级,3层语义理解断层如何精准修复?
  • GEMINI编代码时输不出iloc[0]
  • 千问3.5-9B Visual Studio Code高效插件配置与AI编程工作流
  • Qt Widget控件属性详解
  • Elasticsearch实战篇:索引库、文档与JavaRestClient操作指南
  • 【路径规划】基于A_star算法实现三机器人仓储巡逻路径规划附Matlab代码
  • 一个好用的AI驱动的日志分析工具 - RCA Agent Portal
  • **编译器优化新视角:基于LLVM的循环展开与向量化实战解析**在现代高性能计算和嵌入式
  • LeetCode热题100-最长公共子序列
  • Flutter 入门第八课:网络请求与数据解析(对接后端实战)
  • Abaqus Cohesive单元疲劳损伤的UMAT实现与工程验证
  • 【独家首曝】SITS2026未公开实验数据:传统RAG补全 vs. 新型Control-Code Modeling,响应延迟下降63%!
  • 不止于使能:用汇川PLC功能块封装,实现伺服轴状态管理与安全逻辑
  • 刚学编程不会debug?6个傻瓜式排查步骤,Python/Java/C通用,90%报错自己就能解决不用求人
  • 零基础上手DeepSeek-OCR-2:本地智能OCR工具保姆级部署教程
  • **图算法新视角:用Python实现最短路径的多种策略与性能对比**在现代软件开发中,**图算法**早已成为解决复杂问
  • IndexTTS-2-LLM快速入门:免费、本地化、高可用的语音合成解决方案
  • LFM2.5-1.2B-Thinking-GGUF从零开始:无Python环境依赖的纯二进制GGUF部署方案
  • 告别Word!用Cursor和MiKTeX打造你的专属LaTeX论文写作环境(附完整配置JSON)
  • 图像处理避坑指南:为什么你的Retinex算法总产生光晕?实测3种保边滤波方案
  • MacBook全盘格式化后如何通过联网恢复重装MacOS系统
  • mac codex intel版本
  • 如何生成ADDM报告_@addmrpt.sql自动数据库诊断监控工具
  • Display Driver Uninstaller技术解析:系统级驱动清理机制深度剖析
  • 实战Python逆向:从CRC32校验值反推隐藏数据
  • 8个效率神站 全免费 ,用过就回不去了
  • 2026建筑结构胶市场:这些企业以品质赢得口碑,建筑加固/建筑结构胶/建筑结构检测,建筑结构胶实力厂家选哪家 - 品牌推荐师
  • 告别手动整理!UDOP-large一键部署,英文文档智能分析原来这么简单