`
BlackWing
  • 浏览: 200461 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Windows下访问VM中HBase

阅读更多
资源所限,只能先在本机上模拟hadoop集群。(见文章:http://blackwing.iteye.com/admin/blogs/1502476

开动之前,需要启动hadoop,并且创建好一个hbase目录:

hadoop fs -mkdir hbase


这样就能在hadoop中开辟一个hbase存放数据的地方。

可以通过命令
hadoop fs -ls /


查看到刚才创建的目录。

hbase的主要配置文件:

1. hbase-site.xml
<configuration>
  <property>
    <name>hbase.rootdir</name>
   <value>hdfs://namenode.blackwing.com:8020/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.quorum</name>
    <value>namenode.blackwing.com</value>
  </property>
</configuration>

其中的fs.default.name,指向hadoop的namenode所在uri。当然,后面的/hbase是我们希望在hdfs的哪个路径下保存数据。fs.default.name需要跟hadoop中的fs.default.name配置一样。也就是说这部分要一样:
hdfs://namenode.blackwing.com:8020/


zookeeper的集群列表:hbase.zookeeper.quorum,因为要对外,所以这里不能填localhost。

2. hbase和hadoop都配置好后,需要在程序中进行访问地址设置:

public InsertData(String tableName)
	{
		rowList = new ArrayList<Row>();
		this.conf = HBaseConfiguration.create();
		this.conf.set("hbase.zookeeper.quorum","192.168.128.140");
		System.out.println("hbase.master = "+conf.get("hbase.master"));
		System.out.println("hbase.zookeeper.quorum = "+conf.get("hbase.zookeeper.quorum"));
		
		try {
			this.table=new HTable(this.conf,tableName.getBytes());
		} catch (IOException e) {
			e.printStackTrace();
			logger.info("errors occur while creating table : "+tableName);
		}
	}


其中的192.168.128.140,就是hbase中zookeeper的运行地址,因为zookeeper会根据.META.和ROOT得到hbase的所在等信息,所以只需设置hbase.zookeeper.quorum程序就能工作。

当然,也可以把hbase-site.xml拷贝到项目的src目录下,在HBaseConfiguration.create()的时候,程序会自动读取src下的hbase-site.xml。

3. 一些莫名其妙的小问题集合

1)windows能ping通虚拟机,但不能访问虚拟机hbase,或者打不开hbase的web界面。
原因:因为linux的防火墙缘故,暴力点的解决办法是chkconfig iptables off。而最好是修改/etc/sysconfig/iptables添加允许访问的规则。

2)jps时,发现少了某个(某些)进程,例如本应该有tasktracker好datanode进程的,却只有datanode。

先检查hadoop中slaves中是否正确列出主机名,一行一个。
我遇到这个问题,是因为hadoop的fs.default.name设置成了跟hbase的hbase.rootdir一样了,也就是:

hdfs://namenode.blackwing.com:8020/hbase/

正确来说,hadoop中的配置应该是这样的:
hdfs://namenode.blackwing.com:8020/



3)在windows下,eclipse后台输出显示连接不到namenode
原因:很大程度上是因为windows中没写host。解决办法是在:
C:\WINDOWS\system32\drivers\etc\hosts

中,添加vm中3台机器的ip及名称:
192.168.128.140 namenode.blackwing.com
192.168.128.136 jobtracker.blackwing.com
192.168.128.141 datanode.blackwing.com


PS:为了确定hbase的数据是否真的保存到hadoop中,可以通过:
hadoop fs -ls /hbase

查看到在通过hbase创建的表,都会在hadoop的hbase目录下生成对应文件夹。


分享到:
评论

相关推荐

    在windows上安装Hbase

    在Windows上安装HBase 本文将指导您如何在Windows平台上安装HBase,包括配置详解。安装完成后,您将能够配置集群。 一、前提条件 在安装HBase前,需要安装Cygwin和Hadoop。这两个软件的安装不在本文的讨论范围内...

    windows中安装Hadoop与Hbase

    在Windows系统中安装和配置Hadoop和Hbase,是为了建立起一个适合单机测试和开发的本地大数据环境。Hadoop是一个由Apache基金会开发的开源框架,用于存储和处理大规模数据,它通过可靠的分布式存储(HDFS)和分布式...

    windows10下eclipse操作Linux中的HBase需要的东西.rar

    该资源主要用于在window10的Hadoop的bin文件下所需要的东西,主要用于使用window10中的eclipse访问当前的Linux的HBase,使用MapReduce的Job来实现复制HBase的表操作

    通过thrift使用c++访问hbase

    通过以上步骤,用户可以在Linux或Windows环境下配置好Thrift和HBase的C++客户端,从而能够利用C++语言访问和操作HBase数据库。这个过程涉及到的技能包括Linux和Windows系统管理、编译工具的使用、C++编程以及对...

    HbaseTemplate 操作hbase

    在IT行业中,尤其是在大数据处理领域,HBase是一个广泛使用的分布式、高性能、列式存储的NoSQL数据库。HBase是建立在Hadoop文件系统(HDFS)之上,为处理大规模数据提供了一个高效的数据存储解决方案。而Spring Data...

    windows安装配置jdk+hadoop+hbase.txt

    windows安装配置jdk+hadoop+hbase

    java访问Hbase数据库Demo

    Java访问Hbase数据库是大数据处理中的常见操作,尤其在分布式存储和实时数据分析场景下。HBase,一个基于Google Bigtable模型的开源非关系型数据库,是Apache Hadoop生态系统的一部分,提供高并发、低延迟的数据存储...

    Hbase 官方中文文档

    - 讲解了在MapReduce作业中如何访问其他HBase表,以及关于推测执行的相关内容。 8. HBase安全部分: - 阐述了HBase的安全机制,包括如何安全地访问HBase,以及HBase的访问控制机制。 - 提到了如何进行安全批量...

    基于集群的HBase安装和配置

    ### 基于集群的HBase安装和配置 #### Zookeeper简介 Zookeeper作为Hadoop生态中的关键组件,主要用于...通过上述步骤,可以成功地在已有Hadoop集群的基础上搭建起HBase集群,实现大数据环境下的高效数据存储与管理。

    解决hbase client在windows环境下报NoClassDefFound问题

    解决hbase client在windows环境下报Could not initialize class org.fusesource.jansi.internal.Kernel32的问题,把jar包放入hbase client的lib包下,重新运行hbase.cmd shell即可

    python通过thrift访问hbase.docx

    在实际应用中,Python 通过 Thrift 访问 HBase 可以提供高效的数据交换和存储。同时,HBase 的分布式架构也可以满足大规模数据存储和处理的需求。 知识点: 1. HBase 表结构:行键、列族、时间戳 2. Thrift 安装和...

    java api 访问hbase demo(Maven)

    在Java API中访问HBase是大数据处理中常见的一项任务,HBase作为一个分布式、列式存储的NoSQL数据库,常用于海量数据的实时读写。在这个Java API访问HBase的Maven项目中,我们将探讨如何配置项目,引入依赖,以及...

    HBase官方文档中文版-HBase手册中文版

    HBase是一种分布式、基于列族的NoSQL数据库,由Apache软件基金会开发并维护,是Hadoop生态系统中的重要组件。这份“HBase官方文档中文版”提供了全面深入的HBase知识,帮助用户理解和掌握如何在大数据场景下有效地...

    hbase客户端连接工具winutils-2.2.0.zip

    总之,`winutils-2.2.0.zip`是Windows环境下连接HBase集群的重要组件,正确配置和使用它能帮助开发者在本地进行HBase的开发和测试工作。确保理解上述步骤,并根据实际环境进行调整,将有助于你在Windows上顺利地与...

    hbase配置内置的zookeeper

    在 HBase 的部署环境中,ZooKeeper 起着非常重要的作用,它主要用于协调集群中的各个节点,并且管理 HBase 的元数据。通常情况下,HBase 可以与独立的 ZooKeeper 服务进行集成,但为了简化部署过程,特别是对于小型...

    HBase 0.97 中文文档

    HBase 0.97 中文文档 HBase 0.97 中文文档 HBase 0.97 中文文档

    java访问hbase所需的jar包

    Java访问HBase所需的Jar包是实现Java应用程序与HBase交互的关键。HBase作为一个基于Hadoop文件系统的分布式列式存储数据库,其设计目标是处理大规模的数据并提供亚秒级的访问速度。为了在Java环境中顺利地操作HBase...

    Python访问Hbase的库文件

    HBase的分布式特性使其在大数据场景下表现出色,而Python作为一门强大的编程语言,其社区提供了丰富的库来与HBase进行交互。然而,有时候在尝试通过`from hbase import Hbase`导入HBase模块时,可能会遇到`...

    在Windows连接HBase实用工具

    在Windows环境下连接到HBase是一项常见任务,尤其对于那些在Windows操作系统上进行大数据处理和分析的用户来说。HBase是一个分布式的、面向列的开源数据库,它是Apache Hadoop生态系统的一部分,设计用来处理大规模...

    hbase java api 访问 查询、分页

    本文将深入探讨如何使用HBase Java API进行数据访问和分页查询。 首先,我们要了解HBase的基本结构,它是由行(Row)、列族(Column Family)、列(Column)和时间戳(Timestamp)组成。在Java API中,我们主要通过...

Global site tag (gtag.js) - Google Analytics