最近准备开始研究Hbase源码,因为第一次研究源码,所以做片笔记,踩坑踩的很耗时。

1.我用的IDE是IDEA,本地window需要配置JDK,MAVEN,HADOOP环境

2.上GitHub下载Hbase源码(可以使用git或直接下载):https://github.com/apache/hbase ,并解压到电脑

3.在解压后的目录中执行命令:

mvn clean package -DskipTests=true

4.解压完成后:

编译成功后仍然在当前目录执行mvn idea:idea,这样是为了生成idea所需要的.project文件

5.两次编译全部成功后,使用IDEA引入项目,并且设置conf/hbase-site.xml:

<configuration>
#hbase.rootdir的value是用来存放HBase数据的目录,你不需要事先创建hbase目录, 只需要事先保证/Users/tu/Public目录存在就行
<property>
<name>hbase.rootdir</name>
<value>file:///Users/tu/Public/hbase</value>
</property>
#取消版本验证,Hbase有时候会编译找不到版本导致报错
<property>
<name>hbase.defaults.for.version.skip</name>
<value>true</value>
</property>
</configuration>

6.开启应用:

#执行类
org.apache.hadoop.hbase.master.HMaster
#配置log4j输出
-Dlog4j.configuration=file:/Users/tu/IdeaProjects/hbase-1.2.6/conf/log4j.properties
#工作空间就用解压的目录
#并且需要调用Hbase server类

7.运行应用:

你可能会得到的错误:

1.版本检测报错:

hbase-default.xml file seems to be for and old version of HBase

解答:

重新编译一下就好了:mvn clean package -DskipTests=true

2.hadoop本地环境报错:

org.apache.hadoop.io.nativeio.NativeIO$Windows.createFileWithMode0(...

解答:

需要配置本地windows中HADOOP_HOME的系统环境变量,hbase启动会去找本地环境变量。

3.缺少winutils.exe文件:

Could not locate Hadoop executable: D:\sorftware\hadoop\hadoop-2.8.0\bin\winutils.exe

解答:新下载的hadoop没有winutils.exe文件,下载一个就ok了

https://github.com/selfgrowth/apache-hadoop-3.1.1-winutils/blob/master/bin/winutils.exe

4.可以忽视的错误

java.lang.NoSuchMethodException: org.apache.hadoop.fs.LocalFileSystem.setStoragePolicy(org.apache.hadoop.fs.Path, java.lang.String)

文件系统不支持setStoragePolicy,正常错误,不管它。

现在应该可以正常跑了,访问:http://localhost:16010/master-status 查看是否成功。

Hbase2.0-源码阅读环境的更多相关文章

  1. Mac搭建Hadoop源码阅读环境

    1.本次Hadoop源码阅读环境使用的阅读工具是idea,Hadoop版本是2.7.3.需要安装的工具包括idea.jdk.maven.protobuf等 2.jdk,使用的版本是1.8版,在jdk官 ...

  2. 编译spark源码及塔建源码阅读环境

    编译spark源码及塔建源码阅读环境 (一),编译spark源码 1,更换maven的下载镜像: <mirrors> <!-- 阿里云仓库 --> <mirror> ...

  3. win7+idea+maven搭建spark源码阅读环境

    1.参考. 利用IDEA工具编译Spark源码(1.60~2.20) https://blog.csdn.net/He11o_Liu/article/details/78739699 Maven编译打 ...

  4. Sping学习笔记(一)----Spring源码阅读环境的搭建

    idea搭建spring源码阅读环境 安装gradle Github下载Spring源码 新建学习spring源码的项目 idea搭建spring源码阅读环境 安装gradle 在官网中下载gradl ...

  5. Spring源码阅读笔记01:源码阅读环境准备

    1. 写在前面 对于做Java开发的同学来说,Spring就像是一条绕不过去的路,但是大多数也只是停留在对Spring的简单使用层面上,对于其背后的原理所知不多也不愿深究,关于这个问题,我在平时的生活 ...

  6. 搭建 Spring 源码阅读环境

    前言 有一个Spring源码阅读环境是学习Spring的基础.笔者借鉴了网上很多搭建环境的方法,也尝试了很多,接下来总结两种个人认为比较简便实用的方法.读者可根据自己的需要自行选择. 方法一:搭建基础 ...

  7. 基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建

    基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建 作者:Awesome 日期:2017-10-21 需准备的软件工具 Ardupilot飞控源码 PX4 toolchain JAVA ...

  8. Spring5源码阅读环境搭建-gradle构建编译

      前沿:Spring系列生态十分丰富,涉及到各个方面.但是作为Spring生态的核心基础Spring,是最重要的环节,需要理解Spring的设计原理,我们需要解读源码.   在构建Spring源码阅 ...

  9. 【Java】用IDEA搭建源码阅读环境

    用IDEA搭建源码阅读环境 参考自CodeSheep的Mac源码环境搭建, https://www.bilibili.com/video/BV1V7411U78L 但是实际上在Windows搭建的差别 ...

  10. 利用IDEA搭建JDK源码阅读环境

    利用IDEA搭建JDK源码阅读环境 首先新建一个java基础项目 基础目录 source 源码 test 测试源码和入口 准备JDK源码 下图框起来的路径就是jdk的储存位置 打开jdk目录,找到sr ...

随机推荐

  1. [Qt] 文本文件读写, 摘自官方文档

    Reading Files Directly The following example reads a text file line by line: QFile file("in.txt ...

  2. java并发中CountDownLatch的使用

    文章目录 主线程等待子线程全都结束之后再开始运行 等待所有线程都准备好再一起执行 停止CountdownLatch的await java并发中CountDownLatch的使用 在java并发中,控制 ...

  3. hdu_2570 迷障 贪心

    迷瘴 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...

  4. CentOS7编译安装NodeJS

    概述 在CentOS7下采用编译NodeJS二进制源码包的方式安装NodeJS 下载NodeJS安装包 你可以先下载NodeJS二进制源码安装包文件然后上传到CentOS系统,也可以通过wget命令直 ...

  5. element UI排坑记(一):判断tabs组件是否切换

    之所以将这个问题列在排坑记之中,是因为官方组件的一个属性颇有些隐蔽,这个问题曾经折腾了本人较多时间,始终思维固着,且使用搜索引擎也不容易搜索到答案,故记之.然而实际解决却是相当简单的. 一.问题描述 ...

  6. Muduo网络库实战(二):实现服务器与客户端的连接

    1. 方案的确定 1)基本需求 用户1000+, IO压力不大: 多个客户端打开网站,输入查询字符串strclient,发送给服务器=>服务器接收客户端发过来的数据并处理,将结果返回给客户端: ...

  7. XML--XML从入门到精通 Part 1 认识XML

    XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 标签没有被预定义.您需要 ...

  8. 地表最强的MySQL安装一键式安装,信不信你下完我就给你装好!附各种Mysql安装失败的解决办法(什么你安装失败了?快来看这个)

    这里还有数据库相关的优质文章:快戳我,快戳我

  9. Nginx模块开发(5)————开发简单的HTTP过滤模块

    该模块可实现如下的功能,在浏览器输入http://你的IP/lcw.text,能够读出你在根目录下创建的lcw.txt里面的内容,并在前面加上一句字符串where there is a will,th ...

  10. Naigos install pnp4nagios 绘图插件

    原文地址:http://www.cnblogs.com/caoguo/p/5022230.html vim /etc/httpd/conf/httpd.conf <Directory " ...