【HBase】【一】windows搭建源码开发环境

目录

  • 环境配置
  • 1. Windows安装Cygwin
  • 2. 安装ProtocolBuffers
  • 3. 启动zookeeper
  • 4. 搭建Hadoop环境
  • 5. 编译Hbase源码
  • 6. 启动HRegionServer
  • 7. 启动HMaster
  • 8. 启动HShell客户端

环境配置

系统:windows10

IDE: Eclipse

hadoop: 3.3.4

hbase: 2.4.15

java: 17

1. Windows安装Cygwin

  1. 下载Cygwin安装包:http://cygwin.com/install.html

  2. 安装Cygwin,CMake、zlib、Python都可以用Cygwin安装,详细步骤可参考这篇文章

  3. 设置Cygwin的安装目录到环境变量PATH

  4. 验证,cygcheck -c cygwin, 安装成功的话应该可以得到以下信息
    【HBase】【一】windows搭建源码开发环境_第1张图片

2. 安装ProtocolBuffers

更详细的安装步骤参考此篇文章

  1. 下载安装包:https://github.com/protocolbuffers/protobuf/releases。

  2. 解压安装包到相应的位置

  3. 添加到系统变量PATH

  4. 验证:protoc --version
    在这里插入图片描述

3. 启动zookeeper

这一步不一定需要,因为hbase有内部集成的,但是我本地启动hbase的时候老是失败,所以我在自己的虚机里面启了一个zookeeper,启动hbase的时候就使用这个外部的zk。可参考这篇文章搭建zookepper

4. 搭建Hadoop环境

因为hbase依赖hadoop环境,所以事先要搭建好本地hadoop环境,有两种方式:

  1. 自己编译hadoop源码,可参考这篇文章,里面讲的非常详细。几经周折,我的windows环境始终是问题,始终编译不成功,最后只能放弃。
  2. 这篇文章则不用自己编译,我也是使用这种方法搭建起来的hadoop环境。需要注意的是以下几点:
    1. 文中提到的winutils,虽然文中给的地址最新是3.2.2,但我用的是3.3.4,3.3.4使用3.2.2的winutils也是没有问题的。
    2. 如果使用这种方式在文中的第7步之后还需要执行hadoop namenode -format,不然namenode会启动失败。
    3. hadoop中会使用java环境,如果是高版本的话会报不兼容的错,我的电脑是java17,你可以下载java8的安装包安装后,修改%HADOOP_HOME%\etc\hadoop\hadoop-env.cmd这个文件,大概在第25行,将JAVA_HOME换成java8的安装目录,这样就不用换你电脑的java环境
    4. 跟着步骤如果能成功启动hadoop的话证明你的环境已经成功搭建,如果失败了一定要解决失败的问题,不然hbase也是启动不了的。

不管用的是哪一种方法,在启动hbase的时候都不需要启动hadoop,只要安装好就可以了。

5. 编译Hbase源码

  1. 下载源码: https://github.com/apache/hbase。源码下载后可以切换分支,本文用的2.4.15版本

  2. 编译:mvn package -DskipTests,如果java是11以上的版本则mvn package -DskipTests -Dhadoop.profile=3.0,我的电脑是java17,所以用的是后者

  3. 导入IDE,本文用的是Eclipse

  4. 修改hbase/conf/hbase-site.xml

    <configuration>
        <property>
            <name>hbase.defaults.for.versionname>
            <value>2.4.15value>
        property>
        <property>
            <name>hbase.cluster.distributedname>
            <value>truevalue>
        property>
        <property>
            <name>hbase.tmp.dirname>
            <value>./tmpvalue>
        property>
        <property>
            <name>hbase.rootdirname>
            
            <value>C:\Software\hadoop\data\datanodevalue>
        property>
        
        <property>
            <name>hbase.unsafe.stream.capability.enforcename>
            <value>falsevalue>
        property>
    
        
        <property>
            <name>hbase.zookeeper.quorumname>
            <value>zk.hostvalue>
        property>
        <property>
            <name>hbase.zookeeper.property.clientPortname>
            <value>2182value>
        property>
    configuration>
    

这些工作准备完之后就可以开始启动源码了。

6. 启动HRegionServer

本文先启动HRegionServer是因为HMaster启动的时候会收集HRegionServer的信息,不然在becomeActiveMaster的过程中会不断等待,

好了,开始启动

【HBase】【一】windows搭建源码开发环境_第2张图片

【HBase】【一】windows搭建源码开发环境_第3张图片

【HBase】【一】windows搭建源码开发环境_第4张图片

【HBase】【一】windows搭建源码开发环境_第5张图片

  1. 按照前面4步配置好之后启动,出现下面的信息则证明启动成功了
    【HBase】【一】windows搭建源码开发环境_第6张图片

7. 启动HMaster

如果你能成功启动HRegionServer那就容易了,直接复制HRegionServer的配置,然后做下面的修改就可以了
【HBase】【一】windows搭建源码开发环境_第7张图片

配置好后启HMaster,成功启动的话应该是这样的:

【HBase】【一】windows搭建源码开发环境_第8张图片

下面是我遇到的问题,供参考

  1. 如果你遇到Failed to create or set permission on staging directory file错误,如图:

【HBase】【一】windows搭建源码开发环境_第9张图片

则只要以admin身份启动你的IDE即可,如图

【HBase】【一】windows搭建源码开发环境_第10张图片

  1. 如果你遇到Please check the config value of 'hbase.wal.dir' and ensure it points to a FileSystem mount that has suitable capabilities for output streams. 或者java.io.IOException: cannot get log writer,如图:

【HBase】【一】windows搭建源码开发环境_第11张图片

请确保你的/conf/hbase-site.xml配置了这个属性

  <property>
    <name>hbase.unsafe.stream.capability.enforcename>
    <value>falsevalue>
  property>

8. 启动HShell客户端

对于shell客户端的启动:

  1. 如果你的hbase版本在2.4.0之前可以跟着这篇文章最后面关于HShell的配置启动
  2. 但如果是2.4.0版本之后,因为HBASE-14067的改动,启动后会报如下错误:

【HBase】【一】windows搭建源码开发环境_第12张图片

我的版本是2.4.15就报了上述错误,在网上查了很多文章,大多数都是说降版本就可以解决,但是我不想降,本来学习嘛,有困难就要迎难而上,最后经过一番碰壁后瞎猫捉耗子给蒙对了,具体步骤如下:

【HBase】【一】windows搭建源码开发环境_第13张图片

【HBase】【一】windows搭建源码开发环境_第14张图片

【HBase】【一】windows搭建源码开发环境_第15张图片

【HBase】【一】windows搭建源码开发环境_第16张图片

上面的配置都配置好后启动HShell,这个过程会有点长,成功的话应该会出现下面的界面

【HBase】【一】windows搭建源码开发环境_第17张图片

最后,为了验证启动的三个service是否能正常工作,我们在HShell的命令行输入create 'Lanna_Table','Lanna_Info','Lanna_Data',如下图:

【HBase】【一】windows搭建源码开发环境_第18张图片

在浏览器访问http://localhost:16010/,即可看到新表创建成功了。

【HBase】【一】windows搭建源码开发环境_第19张图片

第一次接触大数据相关的知识,折腾了三个晚上终于搭好了本地环境,喜极而泣啊!!!

你可能感兴趣的:(大数据,HBase,hbase,hadoop,大数据)