分享

Hadoop学习笔记之HBase客户端程序开发

 陈永正的图书馆 2017-04-12

先说一下今天的学习目标:

今天我们将使用Java在Window7客户端上对Hbase进行调用,进行创建表,插入行,读取行,读取所有表记录,删除表等基础操作。

下面开始今天的学习

1.开启Hadoop,并测试是否可用

  • start-all.sh

    Warning不用管,不影响使用。
  • jps

  • hadoop fs -ls /

2.开启HBase

  • start-hbase.sh

  • hbase shell

  • jps 检测Java进程

3.开始Eclipse 连接HDFS

连接成功

4.创建项目Hadoop_5_HBase开始编程

我们将要创建HBaseHelper.java和HBaseInvoke.java两个类。

HBaseHelper:主要实现对HBase的连接和对数据库的构建、创建表、删除表、插入记录、删除记录、获取一条记录、获取所有记录等功能。

HBaseInvoke :主要实现通过对HBaseHelper的调用实现对HBase的基础操作的测试。

HBaseHelper.java 代码如下:

  1. package com.hugy.hadoop;  
  2.   
  3. import java.io.IOException;  
  4. import java.util.ArrayList;  
  5. import java.util.List;  
  6.   
  7. import org.apache.hadoop.conf.Configuration;  
  8. import org.apache.hadoop.hbase.HBaseConfiguration;  
  9. import org.apache.hadoop.hbase.HColumnDescriptor;  
  10. import org.apache.hadoop.hbase.HTableDescriptor;  
  11. import org.apache.hadoop.hbase.client.Delete;  
  12. import org.apache.hadoop.hbase.client.Get;  
  13. import org.apache.hadoop.hbase.client.HBaseAdmin;  
  14. import org.apache.hadoop.hbase.client.HTable;  
  15. import org.apache.hadoop.hbase.client.Put;  
  16. import org.apache.hadoop.hbase.client.Result;  
  17. import org.apache.hadoop.hbase.client.ResultScanner;  
  18. import org.apache.hadoop.hbase.client.Scan;  
  19.   
  20. public class HBaseHelper {  
  21.     private Configuration conf;// 配置器  
  22.     private HBaseAdmin admin;// HBase管理员  
  23.   
  24.     /** 
  25.      * 获取HBase配置器 
  26.      *  
  27.      * @param conf 
  28.      *            Hadoop配置器 
  29.      * @throws IOException 
  30.      */  
  31.     public HBaseHelper(Configuration conf) throws IOException {  
  32.         this.conf = HBaseConfiguration.create(conf);  
  33.         this.admin = new HBaseAdmin(this.conf);  
  34.         System.out.println("创建HBase配置成功!");  
  35.     }  
  36.   
  37.     /** 
  38.      * 获取HBase配置器 
  39.      *  
  40.      * @throws IOException 
  41.      */  
  42.     public HBaseHelper() throws IOException {  
  43.         Configuration cnf = new Configuration();  
  44.         this.conf = HBaseConfiguration.create(cnf);  
  45.         this.admin = new HBaseAdmin(this.conf);  
  46.         System.out.println("创建HBase配置成功!");  
  47.     }  
  48.   
  49.     /** 
  50.      * 创建HBase表 
  51.      *  
  52.      * @param tableName 
  53.      *            表名 
  54.      * @param colFamilies 
  55.      *            列簇 
  56.      * @throws IOException 
  57.      */  
  58.     public void createTable(String tableName, String colFamilies[])  
  59.             throws IOException {  
  60.         if (this.admin.tableExists(tableName)) {  
  61.             System.out.println("Table: " + tableName + " already exists !");  
  62.         } else {  
  63.             HTableDescriptor dsc = new HTableDescriptor(tableName);  
  64.             int len = colFamilies.length;  
  65.             for (int i = 0; i < len; i++) {  
  66.                 HColumnDescriptor family = new HColumnDescriptor(colFamilies[i]);  
  67.                 dsc.addFamily(family);  
  68.             }  
  69.             admin.createTable(dsc);  
  70.             System.out.println("创建表" + tableName + "成功");  
  71.         }  
  72.   
  73.     }  
  74.   
  75.     /** 
  76.      * 删除表 
  77.      *  
  78.      * @param tableName 
  79.      *            表名 
  80.      * @throws IOException 
  81.      */  
  82.     public void deleteTable(String tableName) throws IOException {  
  83.         if (this.admin.tableExists(tableName)) {  
  84.             admin.disableTable(tableName);  
  85.             System.out.println("禁用表" + tableName + "!");  
  86.             admin.deleteTable(tableName);  
  87.             System.out.println("删除表成功!");  
  88.         } else {  
  89.             System.out.println(tableName + "表不存在 !");  
  90.         }  
  91.     }  
  92.   
  93.     /** 
  94.      * 插入记录 
  95.      *  
  96.      * @param tableName 
  97.      *            表名 
  98.      * @param rowkey 
  99.      *            键 
  100.      * @param family 
  101.      *            簇 
  102.      * @param qualifier 
  103.      * @param value 
  104.      *            值 
  105.      * @throws IOException 
  106.      */  
  107.     public void insertRecord(String tableName, String rowkey, String family,  
  108.             String qualifier, String value) throws IOException {  
  109.         HTable table = new HTable(this.conf, tableName);  
  110.         Put put = new Put(rowkey.getBytes());  
  111.         put.add(family.getBytes(), qualifier.getBytes(), value.getBytes());  
  112.         table.put(put);  
  113.         System.out.println(tableName + "插入key:" + rowkey + "行成功!");  
  114.     }  
  115.   
  116.     /** 
  117.      * 删除一行记录 
  118.      *  
  119.      * @param tableName 
  120.      *            表名 
  121.      * @param rowkey 
  122.      *            主键 
  123.      * @throws IOException 
  124.      */  
  125.     public void deleteRecord(String tableName, String rowkey)  
  126.             throws IOException {  
  127.         HTable table = new HTable(this.conf, tableName);  
  128.         Delete del = new Delete(rowkey.getBytes());  
  129.         table.delete(del);  
  130.         System.out.println(tableName + "删除行" + rowkey + "成功!");  
  131.     }  
  132.   
  133.     /** 
  134.      * 获取一条记录 
  135.      *  
  136.      * @param tableName 
  137.      *            表名 
  138.      * @param rowkey 
  139.      *            主键 
  140.      * @return 
  141.      * @throws IOException 
  142.      */  
  143.     public Result getOneRecord(String tableName, String rowkey)  
  144.             throws IOException {  
  145.         HTable table = new HTable(this.conf, tableName);  
  146.         Get get = new Get(rowkey.getBytes());  
  147.         Result rs = table.get(get);  
  148.         return rs;  
  149.     }  
  150.   
  151.     /** 
  152.      * 获取所有数据 
  153.      * @param tableName 表名 
  154.      * @return 
  155.      * @throws IOException 
  156.      */  
  157.     public List<Result> getAllRecord(String tableName) throws IOException {  
  158.         HTable table = new HTable(this.conf, tableName);  
  159.         Scan scan = new Scan();  
  160.         ResultScanner scanner = table.getScanner(scan);  
  161.         List<Result> list = new ArrayList<Result>();  
  162.         for (Result r : scanner) {  
  163.             list.add(r);  
  164.         }  
  165.         scanner.close();  
  166.         return list;  
  167.     }  
  168. }  

HBaseInvoke.java代码如下:

  1. package com.hugy.hadoop;  
  2.   
  3. import java.io.IOException;  
  4. import java.util.Iterator;  
  5. import java.util.List;  
  6.   
  7. import org.apache.hadoop.conf.Configuration;  
  8. import org.apache.hadoop.hbase.KeyValue;  
  9. import org.apache.hadoop.hbase.client.Result;  
  10.   
  11. public class HBaseInvoke {  
  12.   
  13.     /** 
  14.      * @param args 
  15.      * @throws IOException 
  16.      */  
  17.     public static void main(String[] args) throws IOException {  
  18.         System.out.println("HBase 操作开始...");  
  19.         // 1.初始化HBaseOperation  
  20.         Configuration conf = new Configuration();  
  21.         // 与hbase/conf/hbase-site.xml中hbase.zookeeper.quorum配置的值相同  
  22.         conf.set("hbase.zookeeper.quorum", "hadoop");  
  23.         // 与hbase/conf/hbase-site.xml中hbase.zookeeper.property.clientPort配置的值相同  
  24.         conf.set("hbase.zookeeper.property.clientPort", "2181");  
  25.         HBaseHelper hbase = new HBaseHelper(conf);  
  26.         // 2.测试相应操作  
  27.         // 2.1创建表  
  28.         String tableName = "blog";  
  29.         hbase.deleteTable(tableName);  
  30.         String colFamilies[] = { "article", "author" };  
  31.         hbase.createTable(tableName, colFamilies);  
  32.         // 2.2插入一条记录  
  33.         hbase.insertRecord(tableName, "1", "article", "title", "Hadoop学习资料");  
  34.         hbase.insertRecord(tableName, "1", "author", "name", "hugengyong");  
  35.         hbase.insertRecord(tableName, "1", "article", "content", "Hadoop学习,HBase学习-http://blog.csdn.net/hugengyong");  
  36.   
  37.         // 2.3查询一条记录  
  38.         Result rs1 = hbase.getOneRecord(tableName, "1");  
  39.         for (KeyValue kv : rs1.raw()) {  
  40.             System.out.println(new String(kv.getRow()));  
  41.             System.out.println(new String(kv.getFamily()));  
  42.             System.out.println(new String(kv.getQualifier()));  
  43.             System.out.println(new String(kv.getValue()));  
  44.         }  
  45.         // 2.4查询整个Table  
  46.         List<Result> list = null;  
  47.         list = hbase.getAllRecord(tableName);  
  48.         Iterator<Result> it = list.iterator();  
  49.         while (it.hasNext()) {  
  50.             Result rs2 = it.next();  
  51.             for (KeyValue kv : rs2.raw()) {  
  52.                 System.out.print("row key is : " + new String(kv.getRow()));  
  53.                 System.out.print("family is  : " + new String(kv.getFamily()));  
  54.                 System.out.print("qualifier is:"  
  55.                         + new String(kv.getQualifier()));  
  56.                 System.out.print("timestamp is:" + kv.getTimestamp());  
  57.                 System.out.println("Value  is  : " + new String(kv.getValue()));  
  58.             }  
  59.   
  60.         }  
  61.   
  62.     }  
  63.   
  64. }  

执行结果如下:

  1. HBase 操作开始...  
  2. 14/07/26 19:44:54 INFO zookeeper.ZooKeeper: Client environment:zookeeper.version=3.4.5-1392090, built on 09/30/2012 17:52 GMT  
  3. 14/07/26 19:44:54 INFO zookeeper.ZooKeeper: Client environment:host.name=hugengyong-PC  
  4. 14/07/26 19:44:54 INFO zookeeper.ZooKeeper: Client environment:java.version=1.6.0_13  
  5. 14/07/26 19:44:54 INFO zookeeper.ZooKeeper: Client environment:java.vendor=Sun Microsystems Inc.  
  6. 14/07/26 19:44:54 INFO zookeeper.ZooKeeper: Client environment:java.home=D:\JavaJDK\jdk\jre  
  7. 14/07/26 19:44:54 INFO zookeeper.ZooKeeper: Client environment:java.class.path=D:\AndroidWork\Hadoop_5_HBase\bin;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\activation-1.1.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\asm-3.1.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\avro-1.5.3.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\avro-ipc-1.5.3.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\commons-beanutils-1.7.0.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\commons-beanutils-core-1.8.0.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\commons-cli-1.2.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\commons-codec-1.4.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\commons-collections-3.2.1.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\commons-configuration-1.6.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\commons-digester-1.8.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\commons-el-1.0.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\commons-httpclient-3.1.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\commons-io-2.1.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\commons-lang-2.5.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\commons-logging-1.1.1.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\commons-math-2.1.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\commons-net-1.4.1.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\core-3.1.1.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\guava-11.0.2.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\hadoop-core-1.0.4.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\hamcrest-core-1.3.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\high-scale-lib-1.1.1.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\httpclient-4.1.2.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\httpcore-4.1.3.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\jackson-core-asl-1.8.8.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\jackson-jaxrs-1.8.8.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\jackson-mapper-asl-1.8.8.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\jackson-xc-1.8.8.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\jamon-runtime-2.3.1.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\jasper-compiler-5.5.23.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\jasper-runtime-5.5.23.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\jaxb-api-2.1.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\jaxb-impl-2.2.3-1.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\jersey-core-1.8.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\jersey-json-1.8.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\jersey-server-1.8.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\jettison-1.1.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\jetty-6.1.26.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\jetty-util-6.1.26.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\jruby-complete-1.6.5.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\jsp-2.1-6.1.14.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\jsp-api-2.1-6.1.14.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\jsr305-1.3.9.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\junit-4.11.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\libthrift-0.8.0.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\log4j-1.2.16.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\metrics-core-2.1.2.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\netty-3.2.4.Final.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\protobuf-java-2.4.0a.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\servlet-api-2.5-6.1.14.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\slf4j-api-1.4.3.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\slf4j-log4j12-1.4.3.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\snappy-java-1.0.3.2.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\stax-api-1.0.1.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\velocity-1.7.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\xmlenc-0.52.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\lib\zookeeper-3.4.5.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\hbase-0.94.20.jar;F:\Hadoop\HadoopTools\hbase-0.94.20\hbase-0.94.20\hbase-0.94.20-tests.jar  
  8. 14/07/26 19:44:54 INFO zookeeper.ZooKeeper: Client environment:java.library.path=D:\JavaJDK\jdk\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:/JavaJDK/jdk/bin/../jre/bin/client;D:/JavaJDK/jdk/bin/../jre/bin;D:/JavaJDK/jdk/bin/../jre/lib/i386;D:\JavaJDK\jdk\bin;D:\JavaJDK\jdk\jre\bin;C:\Program Files\Common Files\NetSarang;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\JavaJDK\eclipse-jee-juno-SR1-win32\eclipse;  
  9. 14/07/26 19:44:54 INFO zookeeper.ZooKeeper: Client environment:java.io.tmpdir=C:\Users\ADMINI~1\AppData\Local\Temp\  
  10. 14/07/26 19:44:54 INFO zookeeper.ZooKeeper: Client environment:java.compiler=<NA>  
  11. 14/07/26 19:44:54 INFO zookeeper.ZooKeeper: Client environment:os.name=Windows Vista  
  12. 14/07/26 19:44:54 INFO zookeeper.ZooKeeper: Client environment:os.arch=x86  
  13. 14/07/26 19:44:54 INFO zookeeper.ZooKeeper: Client environment:os.version=6.1  
  14. 14/07/26 19:44:54 INFO zookeeper.ZooKeeper: Client environment:user.name=Administrator  
  15. 14/07/26 19:44:54 INFO zookeeper.ZooKeeper: Client environment:user.home=C:\Users\Administrator  
  16. 14/07/26 19:44:54 INFO zookeeper.ZooKeeper: Client environment:user.dir=D:\AndroidWork\Hadoop_5_HBase  
  17. 14/07/26 19:44:54 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=hadoop:2181 sessionTimeout=180000 watcher=hconnection  
  18. 14/07/26 19:44:54 INFO zookeeper.ClientCnxn: Opening socket connection to server hadoop/192.168.1.107:2181. Will not attempt to authenticate using SASL (无法定位登录配置)  
  19. 14/07/26 19:44:54 INFO zookeeper.RecoverableZooKeeper: The identifier of this process is 6120@hugengyong-PC  
  20. 14/07/26 19:44:54 INFO zookeeper.ClientCnxn: Socket connection established to hadoop/192.168.1.107:2181, initiating session  
  21. 14/07/26 19:44:54 INFO zookeeper.ClientCnxn: Session establishment complete on server hadoop/192.168.1.107:2181, sessionid = 0x1477414006d000e, negotiated timeout = 180000  
  22. 创建HBase配置成功!  
  23. 14/07/26 19:44:54 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=hadoop:2181 sessionTimeout=180000 watcher=catalogtracker-on-org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@17b0998  
  24. 14/07/26 19:44:54 INFO zookeeper.ClientCnxn: Opening socket connection to server hadoop/192.168.1.107:2181. Will not attempt to authenticate using SASL (无法定位登录配置)  
  25. 14/07/26 19:44:54 INFO zookeeper.RecoverableZooKeeper: The identifier of this process is 6120@hugengyong-PC  
  26. 14/07/26 19:44:54 INFO zookeeper.ClientCnxn: Socket connection established to hadoop/192.168.1.107:2181, initiating session  
  27. 14/07/26 19:44:54 INFO zookeeper.ClientCnxn: Session establishment complete on server hadoop/192.168.1.107:2181, sessionid = 0x1477414006d000f, negotiated timeout = 180000  
  28. 14/07/26 19:44:55 INFO zookeeper.ZooKeeper: Session: 0x1477414006d000f closed  
  29. 14/07/26 19:44:55 INFO zookeeper.ClientCnxn: EventThread shut down  
  30. 14/07/26 19:44:55 INFO client.HBaseAdmin: Started disable of blog  
  31. 14/07/26 19:44:55 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=hadoop:2181 sessionTimeout=180000 watcher=catalogtracker-on-org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@17b0998  
  32. 14/07/26 19:44:55 INFO zookeeper.RecoverableZooKeeper: The identifier of this process is 6120@hugengyong-PC  
  33. 14/07/26 19:44:55 INFO zookeeper.ClientCnxn: Opening socket connection to server hadoop/192.168.1.107:2181. Will not attempt to authenticate using SASL (无法定位登录配置)  
  34. 14/07/26 19:44:55 INFO zookeeper.ClientCnxn: Socket connection established to hadoop/192.168.1.107:2181, initiating session  
  35. 14/07/26 19:44:55 INFO zookeeper.ClientCnxn: Session establishment complete on server hadoop/192.168.1.107:2181, sessionid = 0x1477414006d0010, negotiated timeout = 180000  
  36. 14/07/26 19:44:55 INFO zookeeper.ZooKeeper: Session: 0x1477414006d0010 closed  
  37. 14/07/26 19:44:55 INFO zookeeper.ClientCnxn: EventThread shut down  
  38. 14/07/26 19:44:56 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=hadoop:2181 sessionTimeout=180000 watcher=catalogtracker-on-org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@17b0998  
  39. 14/07/26 19:44:56 INFO zookeeper.RecoverableZooKeeper: The identifier of this process is 6120@hugengyong-PC  
  40. 14/07/26 19:44:56 INFO zookeeper.ClientCnxn: Opening socket connection to server hadoop/192.168.1.107:2181. Will not attempt to authenticate using SASL (无法定位登录配置)  
  41. 14/07/26 19:44:56 INFO zookeeper.ClientCnxn: Socket connection established to hadoop/192.168.1.107:2181, initiating session  
  42. 14/07/26 19:44:56 INFO zookeeper.ClientCnxn: Session establishment complete on server hadoop/192.168.1.107:2181, sessionid = 0x1477414006d0011, negotiated timeout = 180000  
  43. 14/07/26 19:44:56 INFO zookeeper.ClientCnxn: EventThread shut down  
  44. 14/07/26 19:44:56 INFO zookeeper.ZooKeeper: Session: 0x1477414006d0011 closed  
  45. 14/07/26 19:44:57 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=hadoop:2181 sessionTimeout=180000 watcher=catalogtracker-on-org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@17b0998  
  46. 14/07/26 19:44:57 INFO zookeeper.RecoverableZooKeeper: The identifier of this process is 6120@hugengyong-PC  
  47. 14/07/26 19:44:57 INFO zookeeper.ClientCnxn: Opening socket connection to server hadoop/192.168.1.107:2181. Will not attempt to authenticate using SASL (无法定位登录配置)  
  48. 14/07/26 19:44:57 INFO zookeeper.ClientCnxn: Socket connection established to hadoop/192.168.1.107:2181, initiating session  
  49. 14/07/26 19:44:57 INFO zookeeper.ClientCnxn: Session establishment complete on server hadoop/192.168.1.107:2181, sessionid = 0x1477414006d0012, negotiated timeout = 180000  
  50. 14/07/26 19:44:57 INFO zookeeper.ZooKeeper: Session: 0x1477414006d0012 closed  
  51. 14/07/26 19:44:57 INFO zookeeper.ClientCnxn: EventThread shut down  
  52. 禁用表blog!  
  53. 14/07/26 19:44:57 INFO client.HBaseAdmin: Disabled blog  
  54. 14/07/26 19:44:58 INFO client.HBaseAdmin: Deleted blog  
  55. 删除表成功!  
  56. 14/07/26 19:44:58 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=hadoop:2181 sessionTimeout=180000 watcher=catalogtracker-on-org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@17b0998  
  57. 14/07/26 19:44:58 INFO zookeeper.ClientCnxn: Opening socket connection to server hadoop/192.168.1.107:2181. Will not attempt to authenticate using SASL (无法定位登录配置)  
  58. 14/07/26 19:44:58 INFO zookeeper.RecoverableZooKeeper: The identifier of this process is 6120@hugengyong-PC  
  59. 14/07/26 19:44:58 INFO zookeeper.ClientCnxn: Socket connection established to hadoop/192.168.1.107:2181, initiating session  
  60. 14/07/26 19:44:58 INFO zookeeper.ClientCnxn: Session establishment complete on server hadoop/192.168.1.107:2181, sessionid = 0x1477414006d0013, negotiated timeout = 180000  
  61. 14/07/26 19:44:58 INFO zookeeper.ZooKeeper: Session: 0x1477414006d0013 closed  
  62. 14/07/26 19:44:58 INFO zookeeper.ClientCnxn: EventThread shut down  
  63. 14/07/26 19:45:00 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=hadoop:2181 sessionTimeout=180000 watcher=catalogtracker-on-org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@17b0998  
  64. 14/07/26 19:45:00 INFO zookeeper.ClientCnxn: Opening socket connection to server hadoop/192.168.1.107:2181. Will not attempt to authenticate using SASL (无法定位登录配置)  
  65. 14/07/26 19:45:00 INFO zookeeper.RecoverableZooKeeper: The identifier of this process is 6120@hugengyong-PC  
  66. 14/07/26 19:45:00 INFO zookeeper.ClientCnxn: Socket connection established to hadoop/192.168.1.107:2181, initiating session  
  67. 14/07/26 19:45:00 INFO zookeeper.ClientCnxn: Session establishment complete on server hadoop/192.168.1.107:2181, sessionid = 0x1477414006d0014, negotiated timeout = 180000  
  68. 创建表blog成功  
  69. 14/07/26 19:45:00 INFO zookeeper.ZooKeeper: Session: 0x1477414006d0014 closed  
  70. 14/07/26 19:45:00 INFO zookeeper.ClientCnxn: EventThread shut down  
  71. blog插入key:1行成功!  
  72. blog插入key:1行成功!  
  73. blog插入key:1行成功!  
  74. 1  
  75. article  
  76. content  
  77. Hadoop学习,HBase学习-http://blog.csdn.net/hugengyong  
  78. 1  
  79. article  
  80. title  
  81. Hadoop学习资料  
  82. 1  
  83. author  
  84. name  
  85. hugengyong  
  86. row key is : 1family is  : articlequalifier is:contenttimestamp is:1406403867951Value  is  : Hadoop学习,HBase学习-http://blog.csdn.net/hugengyong  
  87. row key is : 1family is  : articlequalifier is:titletimestamp is:1406403867924Value  is  : Hadoop学习资料  
  88. row key is : 1family is  : authorqualifier is:nametimestamp is:1406403867940Value  is  : hugengyong  

HBase数据库操作代码编写完成测试成功。

5.查看HBase目录结构如下图所示



今天的学习笔记就记录到这里。

下一节我们来分析一下HBase的用途,什么样的需求适合使用HBase数据库。

以及HBase的真实应用场景。



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多