通过很长一段时间的反复失败,终于在windows下实现远程连接hbase数据库,在不断的尝试过程中深感一个详细的文档的重要性,于是就把我配置的详细过程记录下来。文中如果有些地方用词不当,或者理解错误,欢迎您们评论。
一、运行平台
hbase服务器端:Ubuntu 14.04 64位;HBASE1.1.3;JAVA 1.8;
hbase客服端:windows32/64位;JAVA1.8;eclipse 4.5;
二、linux服务器端环境配置
1、 安装java 1.8软件
1)下载java软件
注:如果系统软件库中没有java1.8,则执行以下操作
$ sudo apt-get install software-properties-common
$ sudo apt-get install python-software-properties
上面两个操作是下载Ubuntu下的基础开发套件
$ sudo add-apt-repository ppa:webupd8team/java
2)安装java 8
$ sudo apt-get update
$ sudo apt-get installoracle-java8-installer
3)验证安装的java版本
$ java –version 执行后会输出java版本信息
2、 安装配置HBASE
1)下载hbase-1.1.3
网址http://mirrors.cnnic.cn/apache/hbase/1.1.3/hbase-1.1.3-bin.tar.gz
2)解压
$tar xzf hbase-1.1.3-bin.tar.gz
$mv hbase-1.1.3 hbase 将解压是文件全部移至hbase目录中
3)配置hbase单机模式
3.1为hbase指定JAVA_HOME
$ vim hbase/conf/hbase-env.sh
文件中修改JAVA_HOME={java安装目录的路径}
修改export HBASE_MANAGES_ZK=true,表示由hbase托管Zookeeper集群,不需要单独下载Zookeeper程序,然后自己去启动。
3.2配置hbase-site.xml文件
$ vim hbase/conf/hbase-site.xml
在文件中<configuration></configuration>之间添加:
<property>
<name>hbase.rootdir</name>
<value>file:///<PATH>/hbase</value>
</property>
上面的意思是hbase数据库将使用本地文件系统作为数据备份以免服务器掉电丢失。同时也可备份到HDFS文件系上。
3.3启动hbase和hbase shell
$ cdhbase/bin
$./start-hbase.sh
$ ./hbase shell
启动hbase shell 后可以根据自带的命令进行建表,插入数据等操作。然后打开浏览器,输入:localhost:16010 进入网页可以看到hbase相关信息。注意:端口是16010,不是官方文档和大多数博客里面写的60000,原因不详,个人认为可能是因为官方文档写是是hbase 1.0之前的版本。如果不清楚自己下载的版本对应的master端口号,可以通过命令查看:$ netstat –nlp | grep java 。
3.3配置hostname以及hosts
由于需要进行夸平台远程操作hbase数据库,所以需要进一步配置。在/etc/hostname文件中设置主机名,这个主机名就是hbase的Master运行的主机名字,一般情况下直接就是默认名字。
在/etc/hosts文件中,在没有修改之前是:127.0.0.1 localhost
127.0.1.1 sobey(机器名)。如果不修改直接运行,通过命令:$ netstat –nlp | grep java 查看,可以看出Hbase运行在IP地址为127.0.1.1上,这是一个本地地址,如果需要局域网内远程操控,则需要修改127.0.1.1为机器的互联网IP地址,如:172.16.133.18。提醒:在/hbase/conf/regionservers文件内容尽量不要修改,因为里面放着hbase中节点运行的机器域名,单机环境下默认为localhost,它对应的也是本地的地址:127.0.0.1。
注意:hosts中机器名必须和hostname中机器名统一修改或
都不修改。
3.4 配置hbase的系统环境变量
为方便hbase的启动或者关闭等操作,在系统环境变量中添加如下信息:
$ vim ~/.bashrc
Export HBASE_HOME=<PATH>/hbase
Export HABSE_CONF_DIR=$HBASE_HOME/conf
Export HBASE_CLASS_PATH=$HBASE_CONF_DIR
Export PATH=$PATH:$HBASE_HOME/bin
编辑完后记住执行:source ~/.bashrc
到此,hbase服务器端的配置已完成。
三、windows客服端配置
1、下载安装java 1.8并且配置好环境变量。
1、下载安装eclipse,最好为最新版。
2、下载hbase-1.1.3-bin.tat.gz并解压。
3、客服端java程序设置
1)找到运行hbase程序所需要的jar包,这些文件都在hbase解压后的lib文件夹里面
2)将hbase文件下conf文件下的hbase-site.xml文件拷贝一份,放入为其单独建一个文件夹中。
3)打开eclipse软件,新建工程,在工程中导入外部依赖包(运行hbase所需的jar包),将单独放有hbase-site.xml文件的文件夹也导入java build path à Libraries中。
4)Windows下eclipse 远程连接hbase程序的重要java程序
一般讲这段程序放入java 类的构造函数中,以保证类中方法函数运行时程序是和服务端的hbase是连接的。在这段程序中IP就hbase服务端的互联网IP地址,2181是指zookeeper的端口,单机环境 下hbase运行是通过自带的zookeeper管理的,所以客服端想连接hbase,必须知道zookeeper的listen的端口号,默认环境下是2181端口。
5)Windows下hosts文件
在win7下C:\Windows\System32\drivers\etc中找到hosts文件,添加如下内容:172.16.133.18 sobey-XPS-M1330。其中,前半部分表示IP地址,后半部分表示机器名字,根据实际情况进行修改。
通过以上的配置和操作,接下来就可以在局域网中任何一台PC上任何系统下远程操作hbase数据库。
提醒:如果是虚拟机环境下,要注意IP的设置,由于需要局域网其他PC连接到虚拟机上,所以它的IP必须使局域网内其他电脑都可以连接。在虚拟机上点击设置à网络适配器à选中桥接模式,然后重启。测试一下,通过命令:ifconfig,查看IP,然后通过局域网内其他PC是否能够ping通。