Hbase的安装与测试
实验环境
虚拟机伪分布式
Ubuntu 17.10
JDK 1.8
Hadoop 2.7.6
Hbase 1.3.3
①安装和配置HBase。
首先从官网http://archive.apache.org/dist/hbase/下载HBase安装包,为了兼容性,这里选择HBase-1.3.3。然后解压到文件夹。
②配置环境变量
将hbase下的bin目录添加到path中
编辑~/.bashrc文件添加 export PATH=$PATH:bin路径
③伪分布式模式配置
配置hbase/conf/hbase-env.sh
配置hbase/conf/hbase-site.xml
假设当前Hadoop集群运行在伪分布式模式下,在本机上运行,且NameNode运行在9000端口。
④启动Hadoop
启动Hbase
⑤根据表格,用Hbase Shell命令模式设计student学生表格。
⑥查询zhangsan 的Computer成绩。
⑦修改lisi的Math成绩,改为95。
⑧根据上面的student表,用Hbase Java API编程
新建一个工程,将hbase/lib中的所有jar包添加到项目
a) 添加数据:English:45 Math:89 Computer:100
1 import java.io.IOException; 2 import org.apache.hadoop.conf.Configuration; 3 import org.apache.hadoop.hbase.HBaseConfiguration; 4 import org.apache.hadoop.hbase.TableName; 5 import org.apache.hadoop.hbase.client.Admin; 6 import org.apache.hadoop.hbase.client.Connection; 7 import org.apache.hadoop.hbase.client.ConnectionFactory; 8 import org.apache.hadoop.hbase.client.Put; 9 import org.apache.hadoop.hbase.client.Table; 10 11 public class Hbase { 12 public static Configuration configuration; 13 public static Connection connection; 14 public static Admin admin; 15 16 public static void main(String[] args) { 17 configuration = HBaseConfiguration.create(); 18 configuration.set("hbase.rootdir", "hdfs://localhost:9000/hbase"); 19 try { 20 connection = ConnectionFactory.createConnection(configuration); 21 admin = connection.getAdmin(); 22 } catch (IOException e) { 23 e.printStackTrace(); 24 } 25 try { 26 insertRow("student", "scofield", "score", "English", "45"); 27 insertRow("student", "scofield", "score", "Math", "89"); 28 insertRow("student", "scofield", "score", "Computer", "100"); 29 } catch (IOException e) { 30 e.printStackTrace(); 31 } 32 close(); 33 } 34 35 public static void insertRow(String tableName, String rowKey, String colFamily, String col, String val) 36 throws IOException { 37 Table table = connection.getTable(TableName.valueOf(tableName)); 38 Put put = new Put(rowKey.getBytes()); 39 put.addColumn(colFamily.getBytes(), col.getBytes(), val.getBytes()); 40 table.put(put); 41 table.close(); 42 } 43 44 public static void close() { 45 try { 46 if (admin != null) { 47 admin.close(); 48 } 49 if (null != connection) { 50 connection.close(); 51 } 52 } catch (IOException e) { 53 e.printStackTrace(); 54 } 55 } 56 }
Hbase添加数据
b) 获取scofield的English成绩信息
1 import java.io.IOException; 2 import org.apache.hadoop.conf.Configuration; 3 import org.apache.hadoop.hbase.Cell; 4 import org.apache.hadoop.hbase.CellUtil; 5 import org.apache.hadoop.hbase.HBaseConfiguration; 6 import org.apache.hadoop.hbase.TableName; 7 import org.apache.hadoop.hbase.client.Admin; 8 import org.apache.hadoop.hbase.client.Connection; 9 import org.apache.hadoop.hbase.client.ConnectionFactory; 10 import org.apache.hadoop.hbase.client.Get; 11 import org.apache.hadoop.hbase.client.Result; 12 import org.apache.hadoop.hbase.client.Table; 13 14 public class GetScofieid { 15 public static Configuration configuration; 16 public static Connection connection; 17 public static Admin admin; 18 19 public static void main(String[] args) { 20 configuration = HBaseConfiguration.create(); 21 configuration.set("hbase.rootdir", "hdfs://localhost:9000/hbase"); 22 try { 23 connection = ConnectionFactory.createConnection(configuration); 24 admin = connection.getAdmin(); 25 getData("student", "scofield", "score", "English"); 26 } catch (IOException e) { 27 e.printStackTrace(); 28 } 29 close(); 30 } 31 32 public static void getData(String tableName, String rowKey, String colFamily, String col) throws IOException { 33 Table table = connection.getTable(TableName.valueOf(tableName)); 34 Get get = new Get(rowKey.getBytes()); 35 get.addColumn(colFamily.getBytes(), col.getBytes()); 36 Result result = table.get(get); 37 Cell[] cells = result.rawCells(); 38 for (Cell cell : cells) { 39 System.out.println("RowName:" + new String(CellUtil.cloneRow(cell))); 40 System.out.println("timestamp:" + cell.getTimestamp()); 41 System.out.println("column Family:" + new String(CellUtil.cloneFamily(cell))); 42 System.out.println("row Name:" + new String(CellUtil.cloneQualifier(cell))); 43 System.out.println("value:" + new String(CellUtil.cloneValue(cell))); 44 } 45 table.close(); 46 } 47 48 public static void close() { 49 try { 50 if (admin != null) { 51 admin.close(); 52 } 53 if (null != connection) { 54 connection.close(); 55 } 56 } catch (IOException e) { 57 e.printStackTrace(); 58 } 59 } 60 }
Hbase获取数据
⑨关闭所有服务
转载于:https://www.cnblogs.com/flyuz/p/10795946.html
Hbase的安装与测试相关推荐
- 安装hbas_非常详细的HBase的安装与配置
本文讲述如何安装.部署 HBase 集群,以及如何通过命令行方式来完成 HBase 集群的启动和停止. 首先介绍部署 HBase 之前需要做的准备工作,如 Java.SSH 和 Hadoop 这些先决 ...
- 【hbase】HBASE的安装与配置的步骤详解
在开发中,HBASE的安装一般都是有相关人员安装与维护,这里只是学习的写笔记而已. 一.上传解压:将需要安装的jar包上传解压到指定目录. 二.修改配置:下图是需要修改的配置文件的内容 配 ...
- hadoop+zookeeper+Hbase+spark安装部署总结
hadoop+zookeeper+Hbase+spark安装部署总结 主要参考:https://blog.csdn.net/sunxiaoju/article/details/85918135 计算机 ...
- hadoop安装Snappy HBase本地安装Snappy
1.环境 Centos7 hadoop-2.7.7 zookeeper-3.4.14 hbase-1.4.10 JDK1.8 2.hadoop安装snappy(集群,在主库安装) 2.1.安装snap ...
- HBase数据库安装配置
HBase简介 HBase是一个分布式的.面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统".就像B ...
- Hadoop集群搭建(六:HBase的安装配置)
实验 目的 要求 目的: 1.HBase的高可用完全分布模式的安装和验证 要求: 完成HBase的高可用完全分布模式的安装: HBase的相关服务进程能够正常的启动: HBase控制台能够正常使用: ...
- HBase的安装、写入和查询操作
实验材料及说明 在Ubuntu系统的/学号(每个人之间的学号)/salesInfo目录下,有买家的购买记录文件Sales,该文件记录了买家的id,购买商品的id以及购买日期,文件为名为Sales.Sa ...
- HBase的安装与使用
1.安装 由于还是学习阶段,所以没有在生产环境练习,就在本地建了个虚拟机进行HBase的安装. 下载地址http://www.apache.org/dyn/closer.cgi/hbase/,选择一个 ...
- my SQL下载安装,环境配置,以及密码忘记的解决,以及navicat for mysql下载,安装,测试连接...
一.下载 在百度上搜索"mysql-5.6.24-winx64下载" 二.安装 选择安装路径,我的路径"C:\Soft\mysql-5.6.24-winx64" ...
- http_load安装与测试参数分析
http_load安装与测试参数分析 http_load以并行复用的方式运行,用以测试 web 服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死. ...
最新文章
- 一言难尽,Jpa这个功能差点让我丢了工作
- CDays–2 完成核心功能 CMD模块 Python基础教程 cmd cli
- 实用ExtJS教程100例-004:等待对话框Ext.MessageBox.wait
- Linux netfilter源码分析(3)
- 淘宝可以改名字了?并没有!当初的年少轻狂,现在的不忍直视...
- Arcscan自动矢量化
- 学了一年php感觉什么都不会,php自学要多久_一个学了1年php后选择放弃
- HTML背景渐变圆圈,背景渐变:html5+css3中的background: -moz-linear-gradient 用
- 《Kotlin极简教程》第1章 Kotlin简介
- 大众碰到点评的一个字体反爬,落地技术也是绝了
- 微信「扫一扫识物」 的背后技术揭秘
- element-ui 表单校验,el-select校验失效问题
- 青龙BOT机器人交互
- Docker ROS dbus[xxx]: The last reference on a connection was dropped without closing the connection
- VHDL 计数器实验看VHDL语言
- 蓝牙耳机链接电脑(windows)莫名奇妙关机问题/老是关机问题
- xp电脑性能测试软件,真实的跑分软件?HDXPRT软件解析与实测
- python制作冰花_自制冰花小学作文
- vue百度地图API、获取当前经纬度以及地理位置
- 微信自定义tabbar有小红点_微信小程序自定义 tabbar
热门文章
- 祝贺自己的博客又一个关键字排名上去了
- 斯坦福大学的机器学习课程,浓缩成6张速查表
- Nginx配置多域名代理
- 查看电脑的s/n序列号信息方式
- C++入门经典-例3.9-使用嵌套表达式判断一个数是否是3和5的整数倍
- 图形学初探(一)图形学基础和基本术语
- 关于console.log() 打印得引用类型得数据得相关问题
- CSS之clearfix清除浮动
- SQL Server查询优化
- RHEL5.X 重启网卡出现./network-functions: line 78: .: ifc