HBase在windows环境下的搭建

最近用台式机办公比较多,由于经常要做一些HBase 相关的功能测试,需要再本地搭建HBase单机环境,下午准备花个把小时搭建一下单机环境,发现竟然花费了几个小时,有一些文件非常不靠谱,导致走了很多弯路。这里总结一遍比较完整的安装指南,给需要在windows下搭建HBase测试环境的朋友们节约一些时间。废话少说,直接写操作步骤吧:

一、软件包下载

主要需要4个软件包(其中HDFS涉及到2个软件包):

1、java安装包(这里使用的是)

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2、HDFS安装包下载(2个)

下载hadoop安装包

http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz 

备注:由于源生的hdfs的安装包不支持windows,需要做一些兼容处理,下载这个包就是为了兼容windows下的hadoop,直接下载即可,我的环境2.8.4的版本可以正常使用。下载地址为:

https://github.com/sardetushar/hadooponwindows

3、HBase软件包下载

http://archive.apache.org/dist/hbase/

备注到这里下载即可,我选择的是1.2.6的版本

二、安装java

java的安装非常简单,安装这里就不介绍了,介绍一下JAVE环境相关的修改:

1、添加JAVA_HOME环境变量

点击上图所示的【环境变量】,进入环境变量设置页面,点击下图所示的【新建】


备注:上图中的变量值根据实际安装JDK的路径设置

2、添加JAVA的执行目录到系统path中

找到path,点击【编辑】在最后加上;C:\Program Files\Java\jdk1.8.0_191\bin 然后保存即可

三、安装HDFS

1、将下载好的hadoop-2.7.7.tar.gz 解压到某个盘的下面,比如我解压到F盘的hbase目录下,并将hadoop-2.7.7的目录重命名为hadoop,并删除掉hadoop下的etc和bin目录

2、解压下载好的hadooponwindows-master.zip,并将etc和bin目录拷贝到hadoop目录下

3、添加HADOOP_HOME到环境变量,添加方法参考前面JAVA_HOME的添加方法

4、添加hadoop的bin目录到path中,添加方法和前面添加java的path路径一样

5、编辑配置文件,添加对应的配置

etc/hadoop/core-site.xml

<configuration>

    <property>

        <name>fs.defaultFS</name>

        <value>hdfs://localhost:9000</value>

    </property>

</configuration>

etc/hadoop/mapred-site.xml

<configuration>

    <property>

   <name>mapreduce.framework.name</name>

      <value>yarn</value>

</property>

</configuration>

etc/hadoop/hdfs-site.xml

<configuration>

  <property>

      <name>dfs.replication</name>

      <value>1</value>

  </property>

  <property>

      <name>dfs.namenode.name.dir</name>

      <value>file:///F:/hbase/hadoop/data/dfs/namenode</value>

  </property>

  <property>

      <name>dfs.datanode.data.dir</name>

    <value>file:///F:/hbase/hadoop/data/dfs/datanode</value>

  </property>

</configuration>

etc/hadoop/yarn-site.xml

<configuration>

    <property>

      <name>yarn.nodemanager.aux-services</name>

      <value>mapreduce_shuffle</value>

    </property>

    <property>

      <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

      <value>org.apache.hadoop.mapred.ShuffleHandler</value>

    </property>

</configuration>

etc/hadoop/hadoop-env.cmd

set JAVA_HOME=C:\PROGRA~1\Java\jdk1.8.0_191

备注:这里千万不要写set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_191,这里由于空格无法识别的问题会导致后面执行hdfs namenode -format的时候出现如下报错:

'Files' 不是内部或外部命令,也不是可运行的程序

或批处理文件。

Error: JAVA_HOME is incorrectly set.

      Please update F:\hbase\hadoop\etc\hadoop\hadoop-env.cmd

'-Dhadoop.security.logger' 不是内部或外部命令,也不是可运行的程序

或批处理文件。

6、进入cmd命令行模式,并切换到F:/hbase/hadoop/bin目录下,执行格式化命令

    hdfs namenode -format

7、执行启动hdfs的命令,切换到F:/hbase/hadoop/sbin目录下,执行如下命令启动

    start-all.cmd

备注:如果要停止的话,执行stop-all.cmd即可

8、检查安装是否成功

可以通过访问namenode的页面以及resourcemanager的页面来观察集群是否正常

Resourcemanager GUI address - http://localhost:8088

Namenode GUI address – http://localhost:50070

四、安装HBase

HBase的安装比hadoop简单一些,具体如下:

1、解压hbase-1.2.6-bin.tar.gz

    解压后,将目录重命名为hbase

3、添加HBASE_HOME到环境变量,添加方法参考前面JAVA_HOME的添加方法

4、添加HBase的bin目录到path中,添加方法和前面添加java的path路径一样

5、编辑配置文件,添加对应的配置

conf/hbase-site.xml

<configuration>

    <property>

        <name>hbase.rootdir</name>

        <value>hdfs://localhost:9000/hbase</value>

    </property>

    <property>

        <name>hbase.tmp.dir</name>

        <value>F:/hbase/hbase-1.2.6/tmp</value>

    </property>

    <property>

        <name>hbase.zookeeper.quorum</name>

        <value>127.0.0.1</value>

    </property>

    <property>

        <name>hbase.zookeeper.property.dataDir</name>

        <value>F:/hbase/hbase-1.2.6/zoo</value>

    </property>

    <property>

        <name>hbase.cluster.distributed</name>

        <value>false</value>

    </property>

</configuration>

conf/hbase-env.cmd

set JAVA_HOME=C:\PROGRA~1/Java/jdk1.8.0_191

set HBASE_MANAGES_ZK=true

6、启动HBase,进入F:\hbase\hbase\bin,执行如下命令启动HBase

    start-hbase.cmd

    备注,停止HBase采用 stop-hbase.cmd

7、测试是否有异常

    可以执行如下命令进入HBase命令行:

hbase shell

#创建一个表

create 'lester_test111','i'

推荐阅读更多精彩内容

  • Linux第5课:安装Hbase数据库(一) 时间 2019-03-05下午3:30 主讲张春志 地点 四楼电教室...
    刘培富阅读 984评论 0 0
  • 耐心阅读一个人比盲目崇拜一个人更重要。 阅读的过程是接近真实的过程。 太多的时候,是因为少了阅读而盲目。 最后,失...
    白发老蘭阅读 922评论 2 12
  • 该项目在公众号【妄为写代码】有思路分析文章介绍 该项目最新版已开源,如有帮助可帮忙star一下下 github地址...
    花儿谢了6阅读 1,868评论 1 2
  • 【儿童运动发展树形图】 第五讲作业: 观察儿童当下的压力和挑战,然后回忆孕期的压力与挑战。 结合辅助教材《平衡发展...
    海芋叮当阅读 71评论 0 0
  • 自我抛弃,然后不断的重塑,直至找到自己。 这过去的二十年,我都做了些啥。 无非是考试,然后不断的考试,不断的丢掉一...
    怀侠阅读 41评论 0 1