在Windows环境下安装HBase与启动
现在的时代,数据已经开始爆炸了。没错,就是爆炸。所以作为一名coder,要开始考虑数据存储问题了,并不是以往的小数据,而是有很多很多,特别是学习数据分析,必然用到大数据,与其相对于的就是HBase和Hadoop了。
因为HBase和Hadoop都是基于java 的,所以必然的,windows和Linux都可以跑起来了。
今天,我就是来进行Windows环境下的HBase安装。
Hadoop的安装这里就不再提了。请自行查看我的Hadoop windows环境下安装这篇文章。
HBase依赖于Hadoop的文件系统,所以必须安装好并且启动。
另外,HBase也是基于java的,所以需要jdk环境噢。根据不同的版本选择不同的jdk。我这里是 2.1.0 ,jdk1.8即可。(这里的环境是只在环境变量里新建一个叫做JAVA_HOME的环境变量。指向jdk根目录)
1.第一步当然是下载了。
进入这个网址:http://mirror.bit.edu.cn/apache/hbase/ 选择你喜欢的版本,下载即可(压缩包)。
然后解压到你喜欢的位置,比如我是在F:\hbase-2.1.0
2.配置xml
需要配置hbase根目录下的conf\hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost/hbase</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>F:\hbase-2.1.0\zookeeper\data</value>
</property>
<property>
<name>hbase.zookeeper.property.dataLogDir</name>
<value>F:\hbase-2.1.0\zookeeper\logs</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>false</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>F:\hbase-2.1.0\tmp</value>
</property>
<property>
<name>hbase.coprocessor.master.classes</name>
<value>org.apache.hadoop.hbase.security.access.AccessController</value>
</property>
<property>
<name>zookeeper.session.timeout</name>
<value>120000</value>
</property>
<property>
<name>hbase.regionserver.lease.period</name>
<value>240000</value>
</property>
<property>
<name>hbase.rpc.timeout</name>
<value>280000</value>
</property>
</configuration>
配置好之后,将hbase的bin目录路径加到PATH
首先新建三个环境变量
如图

同时将其添加到PATH

接下来,进入bin目录
执行start-hbase.cmd 这个命令启动hbase
现在你就可以安静的进入hbase shell命令行进行数据库操作了。
3.配置thrift
最后,我们当然是想要通过语言来进行连接操作数据库了,这就需要用到thrift这个强大的玩意儿了。
首先一样是下载压缩包:https://mirrors.cnnic.cn/apache/thrift/ 一样进入url选择自己喜欢的版本进行下载。
解压
同时在环境变量里新建一个叫做 THRIFT_BIN_PATH 的环境变量
并且添加到PATH里,如图


接下来,就可以启动Thrift了
windows下不能通过./hbase-daemons.sh start thrift启动,必须在cmd窗口执行
hbase thrift start 这条命令,即可启动。
检测是否启动 在cmd窗口输入 jps
如果出现ThriftServer*
表示启动成功
接下来就可以通过语言连接了。
代码实例(我用的是python):
(1)使用thrift+hbase-thrift进行连接操作
from thrift.transport.TSocket import TSocket
from thrift.protocol import TBinaryProtocol
from hbase import Hbase
from thrift.transport.TTransport import TBufferedTransport
socket = TSocket('127.0.0.1', 9090)
transport = TBufferedTransport(socket)
protocol = TBinaryProtocol.TBinaryProtocol(transport)
client = Hbase.Client(protocol)
socket.open()
print(client.getTableNames())
socket.close()
结果:

(2)使用happybase+thrift进行连接操作
import happybase
connection = happybase.Connection("127.0.0.1", 9090)
connection.open()
table = connection.tables()
print(table[0].decode("utf-8"))
connection.close()
结果:

希望大家一起学习一起进步,有何疑问欢迎留言。