我遇到了一个通过hbase v1.0客户端api获取数据的问题。
以下是我的hbase和自定义zookeeper设置:
H主机:
172.17.0.2 master
127.0.0.1 localhost
192.168.1.32 master2
hbase-site.xml:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hduser/zookeeper/data</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master</value>
</property>
<property>
<name>dfs.support.append</name>
<value>true</value>
</property>
</configuration>
动物园.cfg:
dataDir=/home/hduser/zookeeper/data
clientPort=2181
server.1=master:2888:3888
在我运行客户端代码连接到zookeeper之后,看起来这个连接成功了。
2015-04-09 08:51:37,901 [myid:] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@197] - Accepted socket connection from /192.168.1.30:56295
2015-04-09 08:51:37,906 [myid:] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:ZooKeeperServer@868] - Client attempting to establish new session at /192.168.1.30:56295
2015-04-09 08:51:37,939 [myid:] - INFO [SyncThread:0:ZooKeeperServer@617] - Established session 0x14c9d46501d000b with negotiated timeout 40000 for client /192.168.1.30:56295
2015-04-09 08:52:04,000 [myid:] - INFO [SessionTracker:ZooKeeperServer@347] - Expiring session 0x14c9d46501d000a, timeout of 40000ms exceeded
2015-04-09 08:52:04,000 [myid:] - INFO [ProcessThread(sid:0 cport:-1)::PrepRequestProcessor@494] - Processed session termination for sessionid: 0x14c9d46501d000a
然而,当我试图把一个数据放入一个表中时,我在表中观察到什么也没有发生 zookeeper.out
在这种情况下可能出现什么问题?
下面的代码是我试图通过scala连接到hbase的代码
主.scala:
object Main {
def main(args: Array[String]): Unit = {
val con = new HBaseUtils().getConnection
try {
val table = con.getTable(TableName.valueOf("TimeIndexTable"))
val put = new Put(Bytes.toBytes("r2")).addColumn(Bytes.toBytes("post_info"), Bytes.toBytes("abc"), Bytes.toBytes("value"))
table.put(put)
println("Success")
}
catch {
case e: Exception => e.printStackTrace()
}
finally {
con.close()
}
}
}
hbaseutils.scala文件:
class HBaseUtils {
private val hbaseURL = "192.168.1.31"
def getConnection = ConnectionFactory.createConnection(setConf)
def setConf = {
val config = HBaseConfiguration.create()
config.set("hbase.zookeeper.quorum",hbaseURL)
config
}
}
暂无答案!
目前还没有任何答案,快来回答吧!