Hbase2.0-源码阅读环境
最近准备开始研究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-源码阅读环境的更多相关文章
- Mac搭建Hadoop源码阅读环境
1.本次Hadoop源码阅读环境使用的阅读工具是idea,Hadoop版本是2.7.3.需要安装的工具包括idea.jdk.maven.protobuf等 2.jdk,使用的版本是1.8版,在jdk官 ...
- 编译spark源码及塔建源码阅读环境
编译spark源码及塔建源码阅读环境 (一),编译spark源码 1,更换maven的下载镜像: <mirrors> <!-- 阿里云仓库 --> <mirror> ...
- win7+idea+maven搭建spark源码阅读环境
1.参考. 利用IDEA工具编译Spark源码(1.60~2.20) https://blog.csdn.net/He11o_Liu/article/details/78739699 Maven编译打 ...
- Sping学习笔记(一)----Spring源码阅读环境的搭建
idea搭建spring源码阅读环境 安装gradle Github下载Spring源码 新建学习spring源码的项目 idea搭建spring源码阅读环境 安装gradle 在官网中下载gradl ...
- Spring源码阅读笔记01:源码阅读环境准备
1. 写在前面 对于做Java开发的同学来说,Spring就像是一条绕不过去的路,但是大多数也只是停留在对Spring的简单使用层面上,对于其背后的原理所知不多也不愿深究,关于这个问题,我在平时的生活 ...
- 搭建 Spring 源码阅读环境
前言 有一个Spring源码阅读环境是学习Spring的基础.笔者借鉴了网上很多搭建环境的方法,也尝试了很多,接下来总结两种个人认为比较简便实用的方法.读者可根据自己的需要自行选择. 方法一:搭建基础 ...
- 基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建
基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建 作者:Awesome 日期:2017-10-21 需准备的软件工具 Ardupilot飞控源码 PX4 toolchain JAVA ...
- Spring5源码阅读环境搭建-gradle构建编译
前沿:Spring系列生态十分丰富,涉及到各个方面.但是作为Spring生态的核心基础Spring,是最重要的环节,需要理解Spring的设计原理,我们需要解读源码. 在构建Spring源码阅 ...
- 【Java】用IDEA搭建源码阅读环境
用IDEA搭建源码阅读环境 参考自CodeSheep的Mac源码环境搭建, https://www.bilibili.com/video/BV1V7411U78L 但是实际上在Windows搭建的差别 ...
- 利用IDEA搭建JDK源码阅读环境
利用IDEA搭建JDK源码阅读环境 首先新建一个java基础项目 基础目录 source 源码 test 测试源码和入口 准备JDK源码 下图框起来的路径就是jdk的储存位置 打开jdk目录,找到sr ...
随机推荐
- cocos2dx新建项目
首先你得下载好cococs2dx,还有python2.x版本,还有vs2017 然后cmd在你Cocos2dx的路径下输入 python setup.py 然后你就回车回车回车 然后重新打开cmd 这 ...
- LeetCode7-ReverseInteger
LeetCode7-ReverseInteger LeetCodeeasyOverflow 题目 题目所在链接为 LeetCode-7:ReverseInteger 题目描述 给出一个32位的有符号整 ...
- Java初学者最近三次作业的心得体会
作为一个初学者,简单的谈一下自己的作业心得体会.如果你是完全没有接触过Java的学习,本篇博文可能会有些收获,如果你已经学习Java有一段时间了,那么可以放弃这篇文章了,因为这篇文章讲解的是基本的东西 ...
- HTML后台管理页面布局
设计网页,让网页好看:网上找模板 搜 HTML模板 BootStrap 一.内容回顾: HTML 一大堆的标签:块级.行内 CSS position background text-align mar ...
- PAT A1023
简单的大数问题,long long并不能容纳21位数字,这是刚开始没有注意到的 #include<iostream> #include<stdlib.h> #include&l ...
- sphinx的使用
1.下载地址 http://sphinxsearch.com/downloads/release/ 2.将其解压到D:\sphinx,并在D:\sphinx下新建目录data(用来存放索引文件)与lo ...
- C#时间与时间戳格式互相转化
C#时间格式转换为时间戳(互转) 时间戳定义为从格林威治时间 1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数. using UnityEn ...
- P2542 【[AHOI2005]航线规划】
P2542 [[AHOI2005]航线规划] 一个无向图,m个操作 删去一条边 给定两个点,求有多少边使得如果这条边不存在,给定的两个点不连通 一般这种删边的题目,考虑逆序加边处理 在删完的图中,任意 ...
- Jenkins 源代码管理(SVN)
Subversion 安装插件 1.首先将本地的自动化用例打包上传 svn 2.配置 jenkins 源代码管理(每次执行 jenkins 时,会自动 check-ou t配置地址中的代码到 Jenk ...
- 10)drf 过滤器(条件查询 排序 ) 分页器
一.群查接口各种筛选组件 数据准备 models.py class Car(models.Model): name = models.CharField(max_length=16, unique=T ...