在Windows系统下利用Maven来开发HBase

Posted 在京奋斗者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Windows系统下利用Maven来开发HBase相关的知识,希望对你有一定的参考价值。

       现在Maven越来越火了,因此我这里就以使用Maven来开发HBase为例,来说说如何进行操作。

第一步:在Windows系统安装Maven

       1.1  我这里安装的Maven版本是3.2.5的版本,大家可以去官网下载,如果不知道怎样在官网下载的话,可以参考:http://blog.csdn.net/u012453843/article/details/52854255这篇博客进行下载。

       1.2  下载好了Maven,我们把它解压到某个目录下,这里我解压的目录是C:\\HBase,如下图所示。

       1.3  在环境变量中配置Maven

          1.3.1 在我的电脑上右键,然后在菜单中点击"属性"

      1.3.2  点击上图的属性之后可以看到如下图所示界面,我们点击"高级系统设置"

       1.3.3  点击上图的"高级系统设置"之后,我们可以看到如下图所示的界面,我们点击"环境变量(N)..."。

       1.3.4  点击上图的"环境变量(N)..."之后,我们会看到如下图所示的界面,我们需要给Maven创建一个HOME路径,我们点击“系统变量”下面的"新建(N)..."。

       1.3.5  点击上图的"新建(N)..."之后我们可以看到如下图所示界面,我们在变量名和变量值中分别输入如下图所示的内容(当然,你根据你存储的路径来写变量值的内容),输入完之后点击"确定"按钮。

       1.3.6  点击上图的"确定"按钮之后,我们便建好了Maven的系统变量,接下来我们还需要把它加到Path路径当中,如下图所示,我们双击Path路径那一行。

       1.3.7  双击Path那一行后我们可以看到如下图所示的界面,我们点击"编辑文本"。

       1.3.8  点击上图的“编辑文本”之后,我们便可以看到如下图所示的界面,我们在变量值这个文本输入框中的最前方输入%M2_HOME%/bin;然后点击"确定"按钮。然后我们把还未关闭的对话框都点确定关闭。

    1.4   配置好了Maven,我们需要在cmd命令行中去验证一下。我们分别输入echo %M2_HOME%命令和mvn -v命令来验证,如下图所示,看到下图所示的信息,说明我们的Maven配置好了。

     1.5  我们接下来下载本地仓库,我们使用的命令是mvn help:system,这步花的时间很长,得有两个多小时的时间。最后会提示"BUILD SUCCESS"。

     1.6  用户自定义配置。Maven有一个全局配置文件为 Maven根目录/conf/settings.xml 文件(比如我的就是 C:\\HBase\\apache-maven-3.2.5\\conf\\settings.xml),Maven默认是使用此配置文件,所有用户共享此配置。但是推荐每一个用户配置自己的配置文件,防止无意思影响系统中其他用户,只需要将全局的配置文件复制到用户目录下的 .m2 文件夹即可(我的当前用户是 Admin, 所以复制后为 C:\\Users\\Admin\\.m2\\settings.xml )。(如果没有 .m2 文件夹 请先执行上一步,maven会在当前用户的目录下生成 .m2 文件夹)。

第二步:新建Maven工程

    2.1 点击"File",然后点击"New",然后点击"Maven Project",如下图所示。

      2.2  点击上图的"Maven Project"之后,我们可以看到如下图所示的界面,我们勾选上第一个复选框,工作目录就选在workspace下。然后点击"Next"。

     2.3  点击上图的"Next"按钮之后,我们可以看到如下图所示的界面,我们在Group Id和Artifact Id当中输入工程所在组Id和工程名,我们这里只是学习Maven,因此这两个值你可以根据你想要输入的名字填写。然后点击"Finish"按钮。

       点击"Finish"按钮之后,会看到如下图所示的错误,而且刚生成的工程目录内容很少,明显是有问题的。

Could not calculate build plan: Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.7.1 from http://repo1.maven.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.apache.maven.plugins:maven-surefire-plugin:pom:2.7.1 from/to central

         关于该问题的解决方法是

(1)将C:\\Users\\Admin\\.m2\\repository\\org\\apache\\maven\\plugins\\maven-deploy-plugin目录下的文件夹删除,如下图所示,把2.7文件夹删除。

(2)然后右击项目Maven->Update Project,如下图所示。

(3)点击上图的"Update Project"之后,我们会看到如下图所示界面。我们勾选上Update Dependencies下面的"Force update of Snapshots/Releases"(强制更新),然后点击“OK”按钮。

     强制更新完毕之后,我们可以看到我们的工程添加了几个目录,而且出现了Maven Dependencies,这时Maven工程才是正常的。

第三步:在pom.xml文件当中配置hbase、hadoop的依赖

     3.1  我们打开pom.xml文件,在其中加入如下黑色粗体的内容,配置的依赖分别是hbase-client、hadoop-hdfs、hadoop-common。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>cn.itcast.myhbase</groupId>
  <artifactId>javahbase</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <dependencies>
      <dependency>
         <groupId>org.apache.hbase</groupId>
         <artifactId>hbase-client</artifactId>
         <version>0.96.2-hadoop2</version>
      </dependency>
      <dependency>
         <groupId>org.apache.hadoop</groupId>
         <artifactId>hadoop-hdfs</artifactId>
         <version>2.2.0</version>
      </dependency>
      <dependency>
         <groupId>org.apache.hadoop</groupId>
         <artifactId>hadoop-common</artifactId>
         <version>2.2.0</version>
      </dependency>
  </dependencies>

</project>

      3.2  输入完之后我们保存,这时Maven便会自动从本地仓库中下载我们所需要的jar包,这个过程会花费很长时间。下载完后,我们的Maven Dependencies下会自动引入很多jar包,请检查你的包是否齐全,我的包的列表如下。

第四步:我们准备好了上面的步骤之后,便可以开始写我们的HBase程序了。如下图所示,我新建了一个类叫HBaseDemo,该类用来向HBase集群中创建一张表。(当然,前提是你已经搭建了Hadoop集群和HBase集群)。

      好了,关于如何在Windows系统使用Maven来创建工程并利用Java调用HBase的接口来向HBase集群插入一张表的内容我便说完了。

以上是关于在Windows系统下利用Maven来开发HBase的主要内容,如果未能解决你的问题,请参考以下文章

如何在Linuxt系统下运行maven项目

详解Maven项目利用java service wrapper将Java程序生成Windows服务

maven在windows10系统下安装配置和打包war

[Gradle] 在 Eclipse 下利用 gradle 构建系统

同一个maven工程,在windows下和在linux下运行时下载的插件有差异

如何在windows开发环境下得到精确到微秒的系统时间?