- 浏览: 1476526 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (691)
- linux (207)
- shell (33)
- java (42)
- 其他 (22)
- javascript (33)
- cloud (16)
- python (33)
- c (48)
- sql (12)
- 工具 (6)
- 缓存 (16)
- ubuntu (7)
- perl (3)
- lua (2)
- 超级有用 (2)
- 服务器 (2)
- mac (22)
- nginx (34)
- php (2)
- 内核 (2)
- gdb (13)
- ICTCLAS (2)
- mac android (0)
- unix (1)
- android (1)
- vim (1)
- epoll (1)
- ios (21)
- mysql (3)
- systemtap (1)
- 算法 (2)
- 汇编 (2)
- arm (3)
- 我的数据结构 (8)
- websocket (12)
- hadoop (5)
- thrift (2)
- hbase (1)
- graphviz (1)
- redis (1)
- raspberry (2)
- qemu (31)
- opencv (4)
- socket (1)
- opengl (1)
- ibeacons (1)
- emacs (6)
- openstack (24)
- docker (1)
- webrtc (11)
- angularjs (2)
- neutron (23)
- jslinux (18)
- 网络 (13)
- tap (9)
- tensorflow (8)
- nlu (4)
- asm.js (5)
- sip (3)
- xl2tp (5)
- conda (1)
- emscripten (6)
- ffmpeg (10)
- srt (1)
- wasm (5)
- bert (3)
- kaldi (4)
- 知识图谱 (1)
最新评论
-
wahahachuang8:
我喜欢代码简洁易读,服务稳定的推送服务,前段时间研究了一下go ...
websocket的helloworld -
q114687576:
http://www.blue-zero.com/WebSoc ...
websocket的helloworld -
zhaoyanzimm:
感谢您的分享,给我提供了很大的帮助,在使用过程中发现了一个问题 ...
nginx的helloworld模块的helloworld -
haoningabc:
leebyte 写道太NB了,期待早日用上Killinux!么 ...
qemu+emacs+gdb调试内核 -
leebyte:
太NB了,期待早日用上Killinux!
qemu+emacs+gdb调试内核
使用hbase-0.94.17.tar.gz
如果想练机使用必须配置的
比如我的机器是mytest
配置互信
解压hbase.tar.gz
$HBASE_HOME/conf/hbase-site.xml
hbase-env.sh
$HBASE_HOME/bin/start-hbase.sh
[hadoop@localhost bin]$ jps
25309 HMaster
25244 HQuorumPeer
25924 Jps
25448 HRegionServer
[hadoop@localhost bin]$
$HBASE_HOME/bin/hbase shell
list
create 'mytable' ,'cf'
put 'mytable','first','cf:message','hello haonings hbase'
put 'mytable','first','cf:foo',0x7
put 'mytable','second','cf:foo',0x0
put 'mytable','third','cf:message',3.14159265
get 'mytable','first'
get 'mytable','second'
scan 'mytable'
describe 'mytable'
java代码测试:
如果想练机使用必须配置的
比如我的机器是mytest
vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=mytest
[root@VM_12_197_centos f1]# cat /etc/hosts 127.0.0.1 localhost 10.230.13.100 mytest
配置互信
export JAVA_HOME=/usr/local/java/jdk1.6.0_45 export CLASSPATH=/usr/local/java/jdk1.6.0_45/jre/lib/rt.jar:. export HBASE_HOME=/data/hbase/hbase-install/hbase-0.94.13 export PATH=/usr/local/java/jdk1.6.0_45/bin:$HBASE_HOME/bin:$PATH
解压hbase.tar.gz
$HBASE_HOME/conf/hbase-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>hbase.rootdir</name> <value>file:///data/hadoop/hbase/hbase-0.94.17/data</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>mytest</value> </property> </configuration>
hbase-env.sh
export JAVA_HOME=/usr/local/java/jdk1.6.0_45/ export HBASE_CLASSPATH=/data/hbase/hbase-install/hbase-0.94.13/conf export HBASE_MANAGES_ZK=true
$HBASE_HOME/bin/start-hbase.sh
[hadoop@localhost bin]$ jps
25309 HMaster
25244 HQuorumPeer
25924 Jps
25448 HRegionServer
[hadoop@localhost bin]$
$HBASE_HOME/bin/hbase shell
list
create 'mytable' ,'cf'
put 'mytable','first','cf:message','hello haonings hbase'
put 'mytable','first','cf:foo',0x7
put 'mytable','second','cf:foo',0x0
put 'mytable','third','cf:message',3.14159265
get 'mytable','first'
get 'mytable','second'
scan 'mytable'
describe 'mytable'
java代码测试:
package test; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.KeyValue; import org.apache.hadoop.hbase.MasterNotRunningException; import org.apache.hadoop.hbase.ZooKeeperConnectionException; import org.apache.hadoop.hbase.client.Delete; import org.apache.hadoop.hbase.client.Get; import org.apache.hadoop.hbase.client.HBaseAdmin; import org.apache.hadoop.hbase.client.HTable; import org.apache.hadoop.hbase.client.HTablePool; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.ResultScanner; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.filter.Filter; import org.apache.hadoop.hbase.filter.FilterList; import org.apache.hadoop.hbase.filter.SingleColumnValueFilter; import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp; import org.apache.hadoop.hbase.util.Bytes; public class TestHbase { public static Configuration configuration; static { configuration = HBaseConfiguration.create(); configuration.set("hbase.zookeeper.property.clientPort", "2181"); configuration.set("hbase.zookeeper.quorum", "10.230.13.100"); //configuration.set("hbase.master", "10.230.13.100:600000"); } public static void main(String[] args) { createTable("haoning"); // insertData("wujintao"); // QueryAll("wujintao"); // QueryByCondition1("wujintao"); // QueryByCondition2("wujintao"); //QueryByCondition3("wujintao"); //deleteRow("wujintao","abcdef"); // deleteByCondition("wujintao","abcdef"); } public static void createTable(String tableName) { System.out.println("start create table ......"); try { HBaseAdmin hBaseAdmin = new HBaseAdmin(configuration); if (hBaseAdmin.tableExists(tableName)) {// 如果存在要创建的表,那么先删除,再创建 hBaseAdmin.disableTable(tableName); hBaseAdmin.deleteTable(tableName); System.out.println(tableName + " is exist,detele...."); } HTableDescriptor tableDescriptor = new HTableDescriptor(tableName); tableDescriptor.addFamily(new HColumnDescriptor("column1")); tableDescriptor.addFamily(new HColumnDescriptor("column2")); tableDescriptor.addFamily(new HColumnDescriptor("column3")); hBaseAdmin.createTable(tableDescriptor); } catch (MasterNotRunningException e) { e.printStackTrace(); } catch (ZooKeeperConnectionException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } System.out.println("end create table ......"); } public static void insertData(String tableName) { System.out.println("start insert data ......"); HTablePool pool = new HTablePool(configuration, 1000); HTable table = (HTable) pool.getTable(tableName); Put put = new Put("112233bbbcccc".getBytes());// 一个PUT代表一行数据,再NEW一个PUT表示第二行数据,每行一个唯一的ROWKEY,此处rowkey为put构造方法中传入的值 put.add("column1".getBytes(), null, "aaa".getBytes());// 本行数据的第一列 put.add("column2".getBytes(), null, "bbb".getBytes());// 本行数据的第三列 put.add("column3".getBytes(), null, "ccc".getBytes());// 本行数据的第三列 try { table.put(put); } catch (IOException e) { e.printStackTrace(); } System.out.println("end insert data ......"); } public static void dropTable(String tableName) { try { HBaseAdmin admin = new HBaseAdmin(configuration); admin.disableTable(tableName); admin.deleteTable(tableName); } catch (MasterNotRunningException e) { e.printStackTrace(); } catch (ZooKeeperConnectionException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static void deleteRow(String tablename, String rowkey) { try { HTable table = new HTable(configuration, tablename); List list = new ArrayList(); Delete d1 = new Delete(rowkey.getBytes()); list.add(d1); table.delete(list); System.out.println("删除行成功!"); } catch (IOException e) { e.printStackTrace(); } } public static void deleteByCondition(String tablename, String rowkey) { //目前还没有发现有效的API能够实现根据非rowkey的条件删除这个功能能,还有清空表全部数据的API操作 } public static void QueryAll(String tableName) { HTablePool pool = new HTablePool(configuration, 1000); HTable table = (HTable) pool.getTable(tableName); try { ResultScanner rs = table.getScanner(new Scan()); for (Result r : rs) { System.out.println("获得到rowkey:" + new String(r.getRow())); for (KeyValue keyValue : r.raw()) { System.out.println("列:" + new String(keyValue.getFamily()) + "====值:" + new String(keyValue.getValue())); } } } catch (IOException e) { e.printStackTrace(); } } public static void QueryByCondition1(String tableName) { HTablePool pool = new HTablePool(configuration, 1000); HTable table = (HTable) pool.getTable(tableName); try { Get scan = new Get("abcdef".getBytes());// 根据rowkey查询 Result r = table.get(scan); System.out.println("获得到rowkey:" + new String(r.getRow())); for (KeyValue keyValue : r.raw()) { System.out.println("列:" + new String(keyValue.getFamily()) + "====值:" + new String(keyValue.getValue())); } } catch (IOException e) { e.printStackTrace(); } } public static void QueryByCondition2(String tableName) { try { HTablePool pool = new HTablePool(configuration, 1000); HTable table = (HTable) pool.getTable(tableName); Filter filter = new SingleColumnValueFilter(Bytes .toBytes("column1"), null, CompareOp.EQUAL, Bytes .toBytes("aaa")); // 当列column1的值为aaa时进行查询 Scan s = new Scan(); s.setFilter(filter); ResultScanner rs = table.getScanner(s); for (Result r : rs) { System.out.println("获得到rowkey:" + new String(r.getRow())); for (KeyValue keyValue : r.raw()) { System.out.println("列:" + new String(keyValue.getFamily()) + "====值:" + new String(keyValue.getValue())); } } } catch (Exception e) { e.printStackTrace(); } } public static void QueryByCondition3(String tableName) { try { HTablePool pool = new HTablePool(configuration, 1000); HTable table = (HTable) pool.getTable(tableName); List<Filter> filters = new ArrayList<Filter>(); Filter filter1 = new SingleColumnValueFilter(Bytes .toBytes("column1"), null, CompareOp.EQUAL, Bytes .toBytes("aaa")); filters.add(filter1); Filter filter2 = new SingleColumnValueFilter(Bytes .toBytes("column2"), null, CompareOp.EQUAL, Bytes .toBytes("bbb")); filters.add(filter2); Filter filter3 = new SingleColumnValueFilter(Bytes .toBytes("column3"), null, CompareOp.EQUAL, Bytes .toBytes("ccc")); filters.add(filter3); FilterList filterList1 = new FilterList(filters); Scan scan = new Scan(); scan.setFilter(filterList1); ResultScanner rs = table.getScanner(scan); for (Result r : rs) { System.out.println("获得到rowkey:" + new String(r.getRow())); for (KeyValue keyValue : r.raw()) { System.out.println("列:" + new String(keyValue.getFamily()) + "====值:" + new String(keyValue.getValue())); } } rs.close(); } catch (Exception e) { e.printStackTrace(); } } }
相关推荐
1. **概述**:单机模式是 HBase 默认的安装模式,适用于测试和开发环境。在此模式下,HBase 使用本地文件系统存储数据,不依赖于 Hadoop 和 HDFS。 2. **启动 HBase**:在根用户下启动 HBase 服务。 ```bash bin...
在本文档中,我们将详细介绍如何在Linux环境中安装、配置和实践HBase。 1. **HBase安装** - **解压安装包**:首先,我们需要下载HBase的二进制包,例如hbase-1.0.1.1-bin.tar.gz,并将其解压缩到 `/usr/local` ...
在本文中,我们将详细讲解Hbase的安装过程以及基本操作,特别针对在Linux环境下使用清华大学镜像进行下载的情况。Hbase是一个分布式的、面向列的数据库,常用于大数据存储,是Apache Hadoop生态系统的一部分。以下是...
本教程“Hadoop&Hbase安装完美教程”旨在指导用户详细地安装和配置这两个工具,确保用户能够顺利地进行大数据操作。首先,让我们深入了解Hadoop的安装过程: 1. **环境准备**:Hadoop需要Java运行环境,因此第一步...
3. **HBase测试**:启动HBase,运行 `start-hbase.sh` 命令,然后可以使用HBase的命令行工具 `hbase shell` 进行基本操作,如创建表、插入数据、查询数据等,来检查HBase是否工作正常。 **HBase启动流程:** HBase...
通过深入研究HBase的源码和编写测试用例,我们可以更好地理解和优化这个系统,从而在大数据应用中发挥出其最大潜力。无论你是数据工程师、开发人员还是系统管理员,掌握HBase都能为你的职业生涯增添亮点。
在安装HBase前,需要安装Cygwin和Hadoop。这两个软件的安装不在本文的讨论范围内。 二、下载HBase 首先,需要下载HBase的安装包。可以从HBase的官方网站(http://hadoop.apache.org/hbase/)下载。这里使用的是...
《HBase与Phoenix:在本地环境中的测试与应用》 HBase与Phoenix是两种在大数据领域广泛应用的技术。...在本地环境中进行测试和实践,有助于更好地理解和掌握这两种技术,为实际项目中的应用打下坚实的基础。
当配置YCSB以测试HBase时,需要将HBase的lib目录下的所有jar包和hbase-site.xml配置文件拷贝到YCSB中相应的位置,完成安装。 YCSB通过内置的多种压力测试场景文件来模拟不同的工作负载。例如,workloada场景是一个...
【Hadoop + HBase 部署...通过以上步骤,我们可以成功地在Vsphere虚拟机上搭建一个功能完备的Hadoop + HBase测试环境,从而进行大数据处理和分析实验。记得在实际生产环境中,还需要考虑更多的安全、性能和稳定性因素。
在对HBase进行性能测试时,我们关注的关键指标包括数据读写速度、系统资源消耗以及MapReduce框架的运行效率。以下是对文档中提到的几个重要性能指标的详细解读: 1. **顺序写入(Sequential Write)**: - **FILE:...
在本次实验中,我们将学习如何在Linux环境下,以伪分布式的方式安装和配置HBase,以及验证其安装是否成功。 一、实验目标 1. 掌握HBase的伪分布式安装过程。 2. 验证HBase的安装是否成功。 3. 使用Web UI管理界面...
本资源包主要涵盖HBase的安装与配置、Kylin的安装过程以及相关的安装测试题,旨在帮助读者深入理解和掌握这两个关键技术。 首先,让我们深入探讨HBase,它是Apache Hadoop生态系统中的一个非关系型分布式数据库...
本文档旨在详细介绍HBase性能测试的设计文档和实践经验,涵盖了HBase性能测试需要注意的一些参数设置和测试用例。下面是从该文档中提炼的相关知识点: 1.1 Pre-Creating Regions 在HBase中,默认情况下,在创建表...
5. **启动与测试**:启动HBase的Master和RegionServer进程,使用HBase Shell或自定义应用程序进行测试,确保HBase可以正常运行并存取数据。 6. **监控与管理**:通过HBase的Web UI(默认端口16010)监控HBase集群的...
完成以上步骤后,即可启动 Hadoop 服务,并进行进一步的功能测试和验证。 #### 二、Hive 安装配置 在完成了 Hadoop 的安装配置之后,接下来可以安装 Hive,以便于进行更高级的数据查询和管理操作。 1. **下载并...
在Windows 10环境下搭建Hadoop 3.1.3和HBase 2.2.2测试环境是一项技术性较强的任务,涉及到多个组件的安装、配置以及相互间的协同工作。以下将详细介绍如何进行这一过程,以及相关的配置文件作用。 首先,我们需要...
本文将详细讲解如何在HBase环境中安装和编译LZO压缩包,以及它与HBase Master节点的关系。 首先,我们需要了解HBase。HBase是一个分布式、版本化的NoSQL数据库,基于Apache Hadoop构建,用于存储大规模结构化数据。...