import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HTable;
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.util.Bytes;
public class MyLittleHBaseClient {
public static void main(String[] args) throws IOException {
Configuration config = HBaseConfiguration.create();
config.addResource("/Users/apple/Documents/tools/hbase-0.94.17/conf/hbase-site.xml");
HTable table = new HTable(config, "myLittleHBaseTable");
Put p = new Put(Bytes.toBytes("myLittleRow"));
p.add(Bytes.toBytes("myLittleFamily"), Bytes.toBytes("someQualifier"),
Bytes.toBytes("Some Value"));
table.put(p);
Get g = new Get(Bytes.toBytes("myLittleRow"));
Result r = table.get(g);
byte [] value = r.getValue(Bytes.toBytes("myLittleFamily"),
Bytes.toBytes("someQualifier"));
String valueStr = Bytes.toString(value);
System.out.println("GET: " + valueStr);
Scan s = new Scan();
s.addColumn(Bytes.toBytes("myLittleFamily"), Bytes.toBytes("someQualifier"));
ResultScanner scanner = table.getScanner(s);
try {
for (Result rr = scanner.next(); rr != null; rr = scanner.next()) {
// print out the row we found and the columns we were looking for
System.out.println("Found row: " + rr);
}
} finally {
scanner.close();
}
}
}
当我使用上面的java代码连接到Hbase(没有Hadoop的独立模式)时,我得到了以下信息:
14/04/06 15:26:14 INFO zookeeper.ZooKeeper: Client environment:zookeeper.version=3.4.5-1392090, built on 09/30/2012 17:52 GMT
14/04/06 15:26:14 INFO zookeeper.ZooKeeper: Client environment:host.name=183.221.16.69
14/04/06 15:26:14 INFO zookeeper.ZooKeeper: Client environment:java.version=1.6.0_65
14/04/06 15:26:14 INFO zookeeper.ZooKeeper: Client environment:java.vendor=Apple Inc.
14/04/06 15:26:14 INFO zookeeper.ZooKeeper: Client environment:java.home=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
14/04/06 15:26:14 INFO zookeeper.ZooKeeper: Client environment:java.class.path=/Users/apple/Documents/GeoGit/src/storage/hbase/target/classes:/Users/apple/.m2/repository/javax/media/jai_core/1.1.3/jai_core-1.1.3.jar:/Users/apple/.m2/repository/javax/inject/javax.inject/1/javax.inject-1.jar:/Users/apple/.m2/repository/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1.jar:/Users/apple/.m2/repository/javax/activation/activation/1.1/activation-1.1.jar:/Users/apple/.m2/repository/org/geogit/geogit-core/0.8-SNAPSHOT/geogit-core-0.8-SNAPSHOT.jar:/Users/apple/.m2/repository/org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.jar:/Users/apple/.m2/repository/com/vividsolutions/jts/1.13/jts-1.13.jar:/Users/apple/.m2/repository/org/geotools/gt-opengis/10.5/gt-opengis-10.5.jar:/Users/apple/.m2/repository/net/java/dev/jsr-275/jsr-275/1.0-beta-2/jsr-275-1.0-beta-2.jar:/Users/apple/.m2/repository/java3d/vecmath/1.3.2/vecmath-1.3.2.jar:/Users/apple/.m2/repository/commons-pool/commons-pool/1.5.4/commons-pool-1.5.4.jar:/Users/apple/.m2/repository/org/geotools/gt-referencing/10.5/gt-referencing-10.5.jar:/Users/apple/.m2/repository/org/geotools/gt-metadata/10.5/gt-metadata-10.5.jar:/Users/apple/.m2/repository/jgridshift/jgridshift/1.0/jgridshift-1.0.jar:/Users/apple/.m2/repository/org/geotools/gt-epsg-hsql/10.5/gt-epsg-hsql-10.5.jar:/Users/apple/.m2/repository/hsqldb/hsqldb/1.8.0.10/hsqldb-1.8.0.10.jar:/Users/apple/.m2/repository/org/geotools/gt-main/10.5/gt-main-10.5.jar:/Users/apple/.m2/repository/org/geotools/gt-api/10.5/gt-api-10.5.jar:/Users/apple/.m2/repository/org/geotools/gt-cql/10.5/gt-cql-10.5.jar:/Users/apple/.m2/repository/com/google/guava/guava/14.0.1/guava-14.0.1.jar:/Users/apple/.m2/repository/net/sourceforge/findbugs/jsr305/1.3.7/jsr305-1.3.7.jar:/Users/apple/.m2/repository/com/google/inject/guice/3.0/guice-3.0.jar:/Users/apple/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar:/Users/apple/.m2/repository/com/google/inject/extensions/guice-multibindings/3.0/guice-multibindings-3.0.jar:/Users/apple/.m2/repository/com/google/code/gson/gson/2.2.2/gson-2.2.2.jar:/Users/apple/.m2/repository/com/ning/compress-lzf/0.9.8/compress-lzf-0.9.8.jar:/Users/apple/.m2/repository/org/apache/hbase/hbase/0.94.17/hbase-0.94.17.jar:/Users/apple/.m2/repository/com/yammer/metrics/metrics-core/2.1.2/metrics-core-2.1.2.jar:/Users/apple/.m2/repository/commons-cli/commons-cli/1.2/commons-cli-1.2.jar:/Users/apple/.m2/repository/commons-configuration/commons-configuration/1.6/commons-configuration-1.6.jar:/Users/apple/.m2/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar:/Users/apple/.m2/repository/commons-lang/commons-lang/2.5/commons-lang-2.5.jar:/Users/apple/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar:/Users/apple/.m2/repository/commons-digester/commons-digester/1.8/commons-digester-1.8.jar:/Users/apple/.m2/repository/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar:/Users/apple/.m2/repository/commons-beanutils/commons-beanutils-core/1.8.0/commons-beanutils-core-1.8.0.jar:/Users/apple/.m2/repository/com/github/stephenc/high-scale-lib/high-scale-lib/1.1.1/high-scale-lib-1.1.1.jar:/Users/apple/.m2/repository/commons-codec/commons-codec/1.4/commons-codec-1.4.jar:/Users/apple/.m2/repository/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar:/Users/apple/.m2/repository/commons-io/commons-io/2.1/commons-io-2.1.jar:/Users/apple/.m2/repository/log4j/log4j/1.2.16/log4j-1.2.16.jar:/Users/apple/.m2/repository/org/apache/avro/avro/1.5.3/avro-1.5.3.jar:/Users/apple/.m2/repository/org/codehaus/jackson/jackson-mapper-asl/1.8.8/jackson-mapper-asl-1.8.8.jar:/Users/apple/.m2/repository/org/codehaus/jackson/jackson-core-asl/1.8.8/jackson-core-asl-1.8.8.jar:/Users/apple/.m2/repository/org/xerial/snappy/snappy-java/1.0.3.2/snappy-java-1.0.3.2.jar:/Users/apple/.m2/repository/org/apache/avro/avro-ipc/1.5.3/avro-ipc-1.5.3.jar:/Users/apple/.m2/repository/org/mortbay/jetty/jetty/6.1.26/jetty-6.1.26.jar:/Users/apple/.m2/repository/org/mortbay/jetty/jetty-util/6.1.26/jetty-util-6.1.26.jar:/Users/apple/.m2/repository/org/jboss/netty/netty/3.2.4.Final/netty-3.2.4.Final.jar:/Users/apple/.m2/repository/org/apache/velocity/velocity/1.7/velocity-1.7.jar:/Users/apple/.m2/repository/org/apache/zookeeper/zookeeper/3.4.5/zookeeper-3.4.5.jar:/Users/apple/.m2/repository/org/slf4j/slf4j-log4j12/1.7.5/slf4j-log4j12-1.7.5.jar:/Users/apple/.m2/repository/org/apache/thrift/libthrift/0.8.0/libthrift-0.8.0.jar:/Users/apple/.m2/repository/org/apache/httpcomponents/httpclient/4.1.2/httpclient-4.1.2.jar:/Users/apple/.m2/repository/org/apache/httpcomponents/httpcore/4.1.3/httpcore-4.1.3.jar:/Users/apple/.m2/repository/org/jruby/jruby-complete/1.6.5/jruby-complete-1.6.5.jar:/Users/apple/.m2/repository/org/mortbay/jetty/jsp-2.1/6.1.14/jsp-2.1-6.1.14.jar:/Users/apple/.m2/repository/org/eclipse/jdt/core/3.1.1/core-3.1.1.jar:/Users/apple/.m2/repository/org/mortbay/jetty/jsp-api-2.1/6.1.14/jsp-api-2.1-6.1.14.jar:/Users/apple/.m2/repository/org/mortbay/jetty/servlet-api-2.5/6.1.14/servlet-api-2.5-6.1.14.jar:/Users/apple/.m2/repository/org/codehaus/jackson/jackson-jaxrs/1.8.8/jackson-jaxrs-1.8.8.jar:/Users/apple/.m2/repository/org/codehaus/jackson/jackson-xc/1.8.8/jackson-xc-1.8.8.jar:/Users/apple/.m2/repository/tomcat/jasper-compiler/5.5.23/jasper-compiler-5.5.23.jar:/Users/apple/.m2/repository/tomcat/jasper-runtime/5.5.23/jasper-runtime-5.5.23.jar:/Users/apple/.m2/repository/commons-el/commons-el/1.0/commons-el-1.0.jar:/Users/apple/.m2/repository/org/jamon/jamon-runtime/2.3.1/jamon-runtime-2.3.1.jar:/Users/apple/.m2/repository/com/google/protobuf/protobuf-java/2.4.0a/protobuf-java-2.4.0a.jar:/Users/apple/.m2/repository/com/sun/jersey/jersey-core/1.8/jersey-core-1.8.jar:/Users/apple/.m2/repository/com/sun/jersey/jersey-json/1.8/jersey-json-1.8.jar:/Users/apple/.m2/repository/org/codehaus/jettison/jettison/1.0.1/jettison-1.0.1.jar:/Users/apple/.m2/repository/stax/stax-api/1.0.1/stax-api-1.0.1.jar:/Users/apple/.m2/repository/com/sun/xml/bind/jaxb-impl/2.2.3-1/jaxb-impl-2.2.3-1.jar:/Users/apple/.m2/repository/com/sun/jersey/jersey-server/1.8/jersey-server-1.8.jar:/Users/apple/.m2/repository/asm/asm/3.1/asm-3.1.jar:/Users/apple/.m2/repository/org/apache/hadoop/hadoop-core/1.0.4/hadoop-core-1.0.4.jar:/Users/apple/.m2/repository/xmlenc/xmlenc/0.52/xmlenc-0.52.jar:/Users/apple/.m2/repository/org/apache/commons/commons-math/2.1/commons-math-2.1.jar:/Users/apple/.m2/repository/commons-net/commons-net/1.4.1/commons-net-1.4.1.jar:/Users/apple/.m2/repository/oro/oro/2.0.8/oro-2.0.8.jar:/Users/apple/.m2/repository/net/java/dev/jets3t/jets3t/0.7.1/jets3t-0.7.1.jar:/Users/apple/.m2/repository/net/sf/kosmosfs/kfs/0.3/kfs-0.3.jar:/Users/apple/.m2/repository/org/geogit/geogit-core/0.8-SNAPSHOT/geogit-core-0.8-SNAPSHOT-tests.jar:/Users/apple/.m2/repository/junit/junit/4.10/junit-4.10.jar:/Users/apple/.m2/repository/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar
14/04/06 15:26:14 INFO zookeeper.ZooKeeper: Client environment:java.library.path=.:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
14/04/06 15:26:14 INFO zookeeper.ZooKeeper: Client environment:java.io.tmpdir=/var/folders/f9/4wqkgrcd5ln0s2tm4pjpdv6m0000gn/T/
14/04/06 15:26:14 INFO zookeeper.ZooKeeper: Client environment:java.compiler=<NA>
14/04/06 15:26:14 INFO zookeeper.ZooKeeper: Client environment:os.name=Mac OS X
14/04/06 15:26:14 INFO zookeeper.ZooKeeper: Client environment:os.arch=x86_64
14/04/06 15:26:14 INFO zookeeper.ZooKeeper: Client environment:os.version=10.9.2
14/04/06 15:26:14 INFO zookeeper.ZooKeeper: Client environment:user.name=apple
14/04/06 15:26:14 INFO zookeeper.ZooKeeper: Client environment:user.home=/Users/apple
14/04/06 15:26:14 INFO zookeeper.ZooKeeper: Client environment:user.dir=/Users/apple/Documents/GeoGit/src/storage/hbase
14/04/06 15:26:14 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=localhost:2181 sessionTimeout=180000 watcher=hconnection
14/04/06 15:26:14 INFO zookeeper.RecoverableZooKeeper: The identifier of this process is 1254@rickie-MacBook-Pro.local
14/04/06 15:26:14 INFO zookeeper.ClientCnxn: Opening socket connection to server localhost/0:0:0:0:0:0:0:1:2181. Will not attempt to authenticate using SASL (Unable to locate a login configuration)
14/04/06 15:26:14 INFO zookeeper.ClientCnxn: Socket connection established to localhost/0:0:0:0:0:0:0:1:2181, initiating session
14/04/06 15:26:14 INFO zookeeper.ClientCnxn: Session establishment complete on server localhost/0:0:0:0:0:0:0:1:2181, sessionid = 0x14535ee07d20002, negotiated timeout = 40000
14/04/06 15:26:36 INFO ipc.HBaseRPC: Problem connecting to server: /183.221.23.121:49418
14/04/06 15:26:58 INFO ipc.HBaseRPC: Problem connecting to server: /183.221.23.121:49418
14/04/06 15:27:20 INFO ipc.HBaseRPC: Problem connecting to server: /183.221.23.121:49418
...
&#34; 183.221.23.121:49418&#34;意思?实际上我的电脑的IP是&#34; 183.221.16.69&#34;,我真的不知道它是怎么出来的。
另外我在这里附上我的/conf/hbase-site.xml:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///Users/apple/Documents/tools/hbase-0.94.17/hbase-rootdir/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/Users/apple/Documents/tools/hbase-0.94.17/hbase-zookeeper/zookeeper</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
</configuration>