实验环境

虚拟机伪分布式

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的安装与测试相关推荐

  1. 安装hbas_非常详细的HBase的安装与配置

    本文讲述如何安装.部署 HBase 集群,以及如何通过命令行方式来完成 HBase 集群的启动和停止. 首先介绍部署 HBase 之前需要做的准备工作,如 Java.SSH 和 Hadoop 这些先决 ...

  2. 【hbase】HBASE的安装与配置的步骤详解

    在开发中,HBASE的安装一般都是有相关人员安装与维护,这里只是学习的写笔记而已.     一.上传解压:将需要安装的jar包上传解压到指定目录.   二.修改配置:下图是需要修改的配置文件的内容 配 ...

  3. hadoop+zookeeper+Hbase+spark安装部署总结

    hadoop+zookeeper+Hbase+spark安装部署总结 主要参考:https://blog.csdn.net/sunxiaoju/article/details/85918135 计算机 ...

  4. 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 ...

  5. HBase数据库安装配置

    HBase简介 HBase是一个分布式的.面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统".就像B ...

  6. Hadoop集群搭建(六:HBase的安装配置)

    实验 目的 要求 目的: 1.HBase的高可用完全分布模式的安装和验证 要求: 完成HBase的高可用完全分布模式的安装: HBase的相关服务进程能够正常的启动: HBase控制台能够正常使用: ...

  7. HBase的安装、写入和查询操作

    实验材料及说明 在Ubuntu系统的/学号(每个人之间的学号)/salesInfo目录下,有买家的购买记录文件Sales,该文件记录了买家的id,购买商品的id以及购买日期,文件为名为Sales.Sa ...

  8. HBase的安装与使用

    1.安装 由于还是学习阶段,所以没有在生产环境练习,就在本地建了个虚拟机进行HBase的安装. 下载地址http://www.apache.org/dyn/closer.cgi/hbase/,选择一个 ...

  9. my SQL下载安装,环境配置,以及密码忘记的解决,以及navicat for mysql下载,安装,测试连接...

    一.下载 在百度上搜索"mysql-5.6.24-winx64下载" 二.安装 选择安装路径,我的路径"C:\Soft\mysql-5.6.24-winx64" ...

  10. http_load安装与测试参数分析

    http_load安装与测试参数分析 http_load以并行复用的方式运行,用以测试 web 服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死. ...

最新文章

  1. 一言难尽,Jpa这个功能差点让我丢了工作
  2. CDays–2 完成核心功能 CMD模块 Python基础教程 cmd cli
  3. 实用ExtJS教程100例-004:等待对话框Ext.MessageBox.wait
  4. Linux netfilter源码分析(3)
  5. 淘宝可以改名字了?并没有!当初的年少轻狂,现在的不忍直视...
  6. Arcscan自动矢量化
  7. 学了一年php感觉什么都不会,php自学要多久_一个学了1年php后选择放弃
  8. HTML背景渐变圆圈,背景渐变:html5+css3中的background: -moz-linear-gradient 用
  9. 《Kotlin极简教程》第1章 Kotlin简介
  10. 大众碰到点评的一个字体反爬,落地技术也是绝了
  11. 微信「扫一扫识物」 的背后技术揭秘
  12. element-ui 表单校验,el-select校验失效问题
  13. 青龙BOT机器人交互
  14. Docker ROS dbus[xxx]: The last reference on a connection was dropped without closing the connection
  15. VHDL 计数器实验看VHDL语言
  16. 蓝牙耳机链接电脑(windows)莫名奇妙关机问题/老是关机问题
  17. xp电脑性能测试软件,真实的跑分软件?HDXPRT软件解析与实测
  18. python制作冰花_自制冰花小学作文
  19. vue百度地图API、获取当前经纬度以及地理位置
  20. 微信自定义tabbar有小红点_微信小程序自定义 tabbar

热门文章

  1. 祝贺自己的博客又一个关键字排名上去了
  2. 斯坦福大学的机器学习课程,浓缩成6张速查表
  3. Nginx配置多域名代理
  4. 查看电脑的s/n序列号信息方式
  5. C++入门经典-例3.9-使用嵌套表达式判断一个数是否是3和5的整数倍
  6. 图形学初探(一)图形学基础和基本术语
  7. 关于console.log() 打印得引用类型得数据得相关问题
  8. CSS之clearfix清除浮动
  9. SQL Server查询优化
  10. RHEL5.X 重启网卡出现./network-functions: line 78: .: ifc