当前位置:首页 » 密码管理 » 访问hbase

访问hbase

发布时间: 2022-06-11 17:08:16

⑴ hbase使用出的错,求帮助

一、客户端访问hbase时出现 no further information
使用java api访问hbase时,一直连不上,查看日志发现以下错误:
java.net.ConnectException: Connection refused: no further information
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(Unknown Source)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:933)
10/06/25 15:44:23 WARN zookeeper.ClientCnxn: Ignoring exception ring shutdown input
java.nio.channels.ClosedChannelException
at sun.nio.ch.SocketChannelImpl.shutdownInput(Unknown Source)
at sun.nio.ch.SocketAdaptor.shutdownInput(Unknown Source)

查看hbase日志发现有客户端连接信息,但是响应之后一直客户端便一直报上述错误。查资料得知该错一般由于客户端获取hbase regionServer的Ip错误导致,查看zookeeper中的地址发现存的是localhost。经网上资料得知伪分布式式下若未配置host默认获取地址为localhost(大概考虑伪分布式一般都为本机访问吧),在host中将localhost配置成ip即可。
二、HBase同时出现TableNotEnabledException和TableNotDisabledException
在一次enable表的时候由于时间过长而直接ctrl+c结束,结果再次操作时出现TableNotDisabledException错误,而尝试disable却出现
TableNotEnabledException,导致无法启用表。上网查询得知是由于中断操作导致zookeeper中记录的表状态不一致导致。通过以下方法解决。
1、连接zookeeper( 直接通过hbase的工具)hbase zkcli
2、删除hbase下 对应表的数据(或者直接删除/hbase/table路径)delete /hbase/table/{表名}

3、重启hbase

⑵ 外网访问hbase;linux下使用eclipse

一、新建本地java工程
file->new->java project

二、添加jar包和配置文件
1、添加JAR包
右击Propertie在弹出的快捷菜单中选择Java Build Path对话框,在该对话框中单击Libraries选项卡,在该选项卡下单击
Add External JARs按钮,定位到$HBASE/lib目录下,并选取如下JAR包。
hadoop-core-1.0.0.jar
commons-loggings-version.jar
commons-cli-version.jar
commons-lang-version.jar
commons-configuration-version.jar
hbase-0.94.1.jar
zookeeper-3.4.3.jar
slf4j-api-1.5.8.jar
slf4j-log4j12-1.5.8.jar
log4j-1.2.16.jar
protobuf-java-2.4.1.jar
2、添加hbase-site.xml配置文件
在工程根目录下创建conf文件夹,将$HBASE_HOME/conf/目录中的hbase-site.xml文件复制到该文件夹中。通过右键
选择Propertie->Java Build Path->Libraries->Add Class Folder。

3、windows下开发HBase应用程序,HBase部署在linux环境中,在运行调试时可能会出现无法找到主机,类似异常信息如下:java.net.UnknownHostException: unknown host: master
解决办法如下:在C:\WINDOWS\system32\drivers\etc\hosts文件中添加如下信息
192.168.2.34 master

⑶ 如何在python中访问HBase的数据

Python连接HBase时需要先加载Thrift和HBase的相关包,之后创建与HBase的连接并进行后续操作,具体代码如下:
# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
from thrift.transport.TSocket import TSocket
from thrift.transport.TTransport import TBufferedTransport
from thrift.protocol import TBinaryProtocol
from hbase import Hbase
from hbase.ttypes import *
import pymongo
import hashlib
import time
from datetime import datetime

class HBaseOperator():
def __init__(self):
self.host = "ip_address"
self.port = 9090
self.transport = TBufferedTransport(TSocket(self.host, self.port))
self.transport.open()
self.protocol = TBinaryProtocol.TBinaryProtocol(self.transport)
self.client = Hbase.Client(self.protocol)

def __del__(self):
self.transport.close()

def getAllTablesInfo(self):
#get table info
listTables = self.client.getTableNames()
print "="*40
print "Show all tables information...."

for tableName in listTables:
print "TableName:" + tableName
print " "
listColumns = self.client.getColumnDescriptors(tableName)
print listColumns
print " "

listTableRegions = self.client.getTableRegions(tableName)
print listTableRegions
print "+"*40

⑷ Maven项目访问Hbase为何在master执行

从zookeeper上获取唯一一个代表activemaster的锁,用来阻止其它master成为活着的master。
由于master只维护表和region的元数据,而不参与表数据IO的过程,master下线仅导致所有元数据的修改被冻结(无法创建删除表,无法修改表的schema,无法进行region的负载均衡,无法处理region上下线,无法进行region的合并,唯一例外的是region的split可以正常进行,因为只有regionserver参与),表的数据读写还可以正常进行。因此master下线短时间内对整个hbase集群没有影响。
向HBase插入数据时程序一直处于卡死状态。一般出现这种问题都是因为主机映射没有配置或者防火墙没有关闭,然而我早早就配置号了映射和关闭了。

⑸ 部署应用 怎么配置访问hbase集群名称

1>准备工作a>已经配置完成的Hadoop集群b>所需要的软件包zookeeper-3.4.4.tar.gzhbase-0.94.5.tar.gz2>单独安装的ZooKeeper集群,不基于HBase集群管理a>在master01上解压zookeeper-3.4.4.tar.gz#tar-zxvfzookeeper-3.4.4.tar.gzb>修改Zookeeper的配置文件#vim/root/zookeeper-3.4.4/conf/zoo.cfg

⑹ client使用hbase RPC协议与什么进行数据读写

client整个HBase集群的访问入口;使用HBase RPC机制与HMaster和HRegionServer进行通信;client与HMaster进行通信进行管理表的操作;client与HRegionServer进行数据读写类操作;包含访问HBase的接口,并维护cache来加快对HBase的访问。
RPC(远程过程调用协议)是不同主机进程间通讯的一种方式,协议采用客户机-服务器模式的架构,请求程序为客户机,服务提供程序为服务器,hbase在client与server通信上采用的也是RPC协议,并在client端与server端实现了具体的RPC协议内容。

⑺ 在hbase三层结构下客户端怎么样访问到数据的

首先访问Zookeeper,获取-ROOT表的位置信息,然后访问-ROOT表,获得.MATA.表的信息,接着访问.MATA.表,找到所需的Region具体位于哪个服务器,最后才找到该Region服务器读取数据。

⑻ 在本地访问hbase 一定要改host文件吗

不一定的。当不想用本地的hosts文件时,将空白的hosts文件替换,想启用时,再替换过来。

⑼ 本地如何连接hbase数据库

1.使用xshell或者crt等工具连接到hbase所在的服务器
2.然后通过ls查找到hbase
3.然后cd
切换到hbase目录下
4.bin/start-hbase.sh
5.bin/hbase
shell
6.list
查看该用户下的所有表格

⑽ Python访问hbase集群

HBase-thrift项目是对HBase Thrift接口的封装,屏蔽底层的细节,使用户可以方便地通过HBase Thrift接口访问HBase集群,python通过thrift访问HBase。

热点内容
数据压缩编码 发布:2025-05-15 03:58:44 浏览:725
java字符为空 发布:2025-05-15 03:57:11 浏览:546
速讯安卓哪里下载 发布:2025-05-15 03:55:02 浏览:48
缓存区数据读写原理 发布:2025-05-15 03:39:57 浏览:585
编译器生成的是二进制文件吗 发布:2025-05-15 03:38:42 浏览:955
运营为什么区分ios和安卓 发布:2025-05-15 03:30:02 浏览:630
主播网站源码 发布:2025-05-15 02:50:56 浏览:168
中文编程语言有哪些 发布:2025-05-15 02:48:59 浏览:536
配置中心应急流程有哪些 发布:2025-05-15 02:37:31 浏览:670
php宏定义 发布:2025-05-15 02:32:54 浏览:271