`
BlackWing
  • 浏览: 196593 次
  • 性别: 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中安装Hadoop与Hbase

    在win10系统中,部署hadoop+hbase,便于单机测试调试开发

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

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

    在windows上安装Hbase

    在windows上安装Hbase,包括配置详解。看了之后就会配置集群

    java访问Hbase数据库Demo

    java访问Hbase数据库实用小例子,增删改查创建表,教你轻松解决hbase

    通过thrift使用c++访问hbase

    本文档详细说明了Linux和windows系统下配置thrift环境和hbaseC++客户端的使用。

    HbaseTemplate 操作hbase

    java 利用 sping-data-hadoop HbaseTemplate 操作hbase find get execute 等方法 可以直接运行

    HBase 0.97 中文文档

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

    java访问hbase所需的jar包

    hbase所需的jar包,HBase是建立在Hadoop文件系统之上的分布式面向列的数据库。它是一个横向扩展的开源项目。它提供对数据的随机实时读/写访问,并作为Hadoop文件系统的一部分。

    go thrift访问hbase

    博客配套文件,详细演示了go通过thrift1和thrift2接口访问hbase的方法,并给出了批量访问的简单封装接口。

    C# Rest方式访问Hbase

    C# 使用Microsoft.HBase.Client类库以Rest方式访问HBase数据库。实现了基本的增、删、改、查操作。方便新手入门学习。同时提供了Microsoft.HBase.Client源码。这源码是微软提供的,微软已经拥抱开源。

    pinpoint的hbase初始化脚本hbase-create.hbase

    搭建pinpoint需要的hbase初始化脚本hbase-create.hbase

    java大数据作业_3HBase

    2. 请简述HBase中数据写入最后导致Region分裂的全过程 3. 如果设计一个笔记的表,表中要求有笔记的属性和笔记的内容,怎么做 4. HBase部署时如何指定多个zookeeper 5. HBase shell是基于哪种JVM运行的语言实现的 6. ...

    Hbase 官方中文文档

    Hbase中文文档。想0分分享,结果不能设置0分了;坑爹了。

    zookeeper及hbase安装

    zookeeper及hbase安装配置,安装时先检查zookeeper,hbase是否与hadoop版本对应

    java api 访问hbase demo(Maven)

    java api 访问hbase demo(Maven) 详情请看:http://blog.csdn.net/wild46cat/article/details/53288537

    HBase实战%28中文扫描版%29.pdf

    HBase

    2-1-HBase.pdf

    HBase是一个数据模型,类似于谷歌的大表设计,可以提供快速随机访问海量结构化数据。它利用了Hadoop的文件系统(HDFS)提供的容错能力。 它是Hadoop的生态系统,提供对数据的随机实时读/写访问,是Hadoop文件系统的...

    Hbase中文文档

    8.1. 安全客户端访问 HBase 8.2. 访问控制 9. 架构 9.1. 概述 9.2. Catalog Tables 9.3. 客户端 9.4. Client Request Filters 9.5. Master 9.6. RegionServer 9.7. Regions 9.8. Bulk Loading 9.9. HDFS 10. 外部 ...

    企业中应用HBase

    企业中应用HBase

    hbase-1.4.9-bin.tar.gz

    HBase是一个数据模型,类似于谷歌的大表设计,可以提供快速随机访问海量结构化数据。它利用了Hadoop的文件系统(HDFS)提供的容错能力。 它是Hadoop的生态系统,提供对数据的随机实时读/写访问,是Hadoop文件系统的...

Global site tag (gtag.js) - Google Analytics