centos7 hbase1.4.13+hadoop2.7.1+单机环境搭建
时间:2022-07-23
本文章向大家介绍centos7 hbase1.4.13+hadoop2.7.1+单机环境搭建,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
前言
因后续要学习研究hbase,那就先从搭建hbase开始吧。先搭建一个单机版的,方便自己学习使用。
安装配置hadoop
参考我的另一篇文章:centos7 hadoop 单机模式安装配置 注:这里的JDK为1.8,版本支持如图
下载hbase
下载地址:http://mirror.bit.edu.cn/apache/hbase/ 我下载的是hbase-1.4.13-bin.tar.gz (官网下载地址 太慢了) 关于hbase与hadoop版本对应关系参考http://hbase.apache.org/book.html#configuration
解压
tar -zxvf hbase-1.4.13-bin.tar.gz -C /opt
配置环境变量
```
vim ~/.bashrc
```bash
export HBASE_HOME=/opt/hbase-1.4.13
export PATH=$PATH:$HBASE_HOME/bin
source ~/.bashrc
修改配置文件
cd /opt/hbase-1.4.13/conf/
修改hbase-env.sh
vim hbase-env.sh
export JAVA_HOME=/opt/jdk1.8.0_45/
export HBASE_MANAGES_ZK=true
修改hbase-site.xml
vim hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://192.168.44.128:8888/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/home/hadoop/data/hbase/tmp</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/data/hbase/zookeeper</value>
</property>
</configuration>
其中hbase.rootdir要和配置hadoop时core-site.xml 里的fs.defaultFS(或fs.default.name)配置对应
启动
先启动hadoop
$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh
jps确认一下hadoop的每个进程都启动了
启动hbase
$HBASE_HOME/bin/start-hbase.sh
jps 看一下HMaster、HRegionServer、HQuorumPeer都启动了,代表成功(单机伪分布式模式)
hbase 简单操作
连接HBASE
hbase shell
查看帮助文档
help
创建表
必须同时制定表名称和列簇名称
hbase(main):004:0> create 'test', 'cf'
0 row(s) in 4.9150 seconds
=> Hbase::Table - test
列出表信息
hbase(main):005:0> list 'test'
TABLE
test
1 row(s) in 0.0750 seconds
=> ["test"]
可以用describe命令查看更详细的信息,包括默认配置
hbase(main):006:0> describe 'test'
Table test is ENABLED
test
COLUMN FAMILIES DESCRIPTION
{NAME => 'cf', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536
', REPLICATION_SCOPE => '0'}
1 row(s) in 0.3090 seconds
往表里添加数据
hbase(main):007:0> put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0.5670 seconds
hbase(main):008:0> put 'test', 'row2', 'cf:b', 'value2'
0 row(s) in 0.0680 seconds
hbase(main):009:0> put 'test', 'row3', 'cf:c', 'value3'
0 row(s) in 0.0430 seconds
扫描表中所有数据
hbase(main):010:0> scan 'test'
ROW COLUMN+CELL
row1 column=cf:a, timestamp=1597366721664, value=value1
row2 column=cf:b, timestamp=1597366759913, value=value2
row3 column=cf:c, timestamp=1597366769034, value=value3
3 row(s) in 0.1230 seconds
获取单行数据
hbase(main):011:0> get 'test', 'row1'
COLUMN CELL
cf:a timestamp=1597366721664, value=value1
1 row(s) in 0.0920 seconds
禁用表
如果要删除表或更改其设置,以及在某些其他情况下,则需要先使用disable命令禁用该表。您可以使用enable命令重新启用它。
hbase(main):001:0> disable 'test'
0 row(s) in 4.4460 seconds
hbase(main):002:0> enable 'test'
0 row(s) in 1.5420 seconds
测试完 enable 命令,再次禁用表
hbase(main):003:0> disable 'test'
0 row(s) in 2.4260 seconds
删除表
删除表之前,先禁用表
hbase(main):004:0> drop 'test'
0 row(s) in 1.3600 seconds
退出hbase shell
hbase(main):005:0> exit
停止hbase
$HBASE_HOME/bin/stop-hbase.sh
停止可能需要一段时间,运行完之后,使用jps命令确认一下hbase的相关进程已关闭。
参考
- 使用Spring Boot开发一个Spring Mobile程序
- Spring Cloud中Hystrix 线程隔离导致ThreadLocal数据丢失
- 内网穿透工具-ittun
- Elastic-Job-Spring-Boot-Starter简化你的任务配置
- Spring Boot处理REST API错误的正确姿势
- C语言之位运算
- C语言之预处理命令与用typedef命名已有类型
- spring-data-mongodb之MongoTemplate 删除操作
- 总结了一些指针易出错的常见问题(六)
- spring-data-mongodb之MongoTemplate 修改数据
- spring-data-mongodb之MongoTemplate 添加数据
- Cannot create a session after the response has been committed
- spring-data-mongodb之环境准备(1)
- java8 Lambda尝尝鲜
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- SAP Cloud for Customer Rule Editor的使用方法和底层工作原理
- (数据科学学习手札94)QGIS+Conda+jupyter玩转Python GIS
- 72-STM32+ESP8266+AIR202基本控制篇-移植使用-移植Android的MQTT包到自己的工程项目
- 用上Latex实现编辑伪代码
- TensorFlow交叉熵函数(cross_entropy)·理解
- 第05期:Prometheus 数据查询(一)
- 技术分享 | MySQL 复制那点事 - Seconds_behind_Master 参数调查笔记
- 线程有多少种状态?Runnable 一定在执行任务吗?
- swift 中类(class)和结构体(struct)区别
- C语言三剑客之《C专家编程》一书精华提炼
- 前端必备技能:json-server全攻略
- 温故知新——Spring AOP(二)
- R语言中的偏最小二乘PLS回归算法
- R如何与Tableau集成分步指南
- 漏洞复现 | CVE‐2020‐5902踩坑记