目录
环境配置
系统:windows10
IDE: Eclipse
hadoop: 3.3.4
hbase: 2.4.15
java: 17
1. Windows安装Cygwin
-
下载Cygwin安装包:http://cygwin.com/install.html
-
安装Cygwin,CMake、zlib、Python都可以用Cygwin安装,详细步骤可参考这篇文章
-
设置Cygwin的安装目录到环境变量PATH
-
验证,
cygcheck -c cygwin
, 安装成功的话应该可以得到以下信息
2. 安装ProtocolBuffers
更详细的安装步骤参考此篇文章
-
下载安装包:https://github.com/protocolbuffers/protobuf/releases。
-
解压安装包到相应的位置
-
添加到系统变量PATH
-
验证:protoc --version
3. 启动zookeeper
这一步不一定需要,因为hbase有内部集成的,但是我本地启动hbase的时候老是失败,所以我在自己的虚机里面启了一个zookeeper,启动hbase的时候就使用这个外部的zk。可参考这篇文章搭建zookepper
4. 搭建Hadoop环境
因为hbase依赖hadoop环境,所以事先要搭建好本地hadoop环境,有两种方式:
- 自己编译hadoop源码,可参考这篇文章,里面讲的非常详细。几经周折,我的windows环境始终是问题,始终编译不成功,最后只能放弃。
- 这篇文章则不用自己编译,我也是使用这种方法搭建起来的hadoop环境。需要注意的是以下几点:
- 文中提到的
winutils
,虽然文中给的地址最新是3.2.2,但我用的是3.3.4,3.3.4使用3.2.2的winutils也是没有问题的。 - 如果使用这种方式在文中的第7步之后还需要执行
hadoop namenode -format
,不然namenode会启动失败。 - hadoop中会使用java环境,如果是高版本的话会报不兼容的错,我的电脑是java17,你可以下载java8的安装包安装后,修改
%HADOOP_HOME%\etc\hadoop\hadoop-env.cmd
这个文件,大概在第25行,将JAVA_HOME
换成java8的安装目录,这样就不用换你电脑的java环境 - 跟着步骤如果能成功启动hadoop的话证明你的环境已经成功搭建,如果失败了一定要解决失败的问题,不然hbase也是启动不了的。
- 文中提到的
不管用的是哪一种方法,在启动hbase的时候都不需要启动hadoop,只要安装好就可以了。
5. 编译Hbase源码
-
下载源码: https://github.com/apache/hbase。源码下载后可以切换分支,本文用的2.4.15版本
-
编译:mvn package -DskipTests,如果java是11以上的版本则
mvn package -DskipTests -Dhadoop.profile=3.0
,我的电脑是java17,所以用的是后者 -
导入IDE,本文用的是Eclipse
-
修改
hbase/conf/hbase-site.xml
<configuration> <property>