hbase+hadoop+hdfs集群搭建 集成spring
2017-02-27 16:17
696 查看
序言
最近公司一个汽车项目想用hbase做存储,然后就有了这篇文字,来,来,来, 带你一起征服hbase,并推荐一本书《hbase权威指南》 这是一本极好的hbase入门书籍,我花了一个晚上看完觉得这书蛮好的!
本文分上下两篇,上篇是hbase+hadoop+hdfs+zookeeper集群环境的安装,下篇讲解hbase如何集成spring来使用。hbase是个什么鬼?不知道不要紧,本文是我三天的成果,拿去,不谢!
Hbase+hadoop+hdfs+zookeeper集群环境的安装
hadoop+hdfs安装: http://www.cnblogs.com/tony-tang/articles/6472935.html
zookeeper集群安装:http://www.cnblogs.com/tony-tang/articles/6473373.html
Hbase安装:http://www.cnblogs.com/tony-tang/articles/6473360.html
HBase shell 命令创建表及添加数据操作: http://www.cnblogs.com/tony-tang/p/6473393.html
至此环境安装已经结束,下篇重点介绍Hbase是如何集成spring的,需要的maven jar包依赖,以及HbaseTemplate的扩展!
Hbase集成spring
前言
在集成Hbase之前问过同城一架构师朋友他们公司怎么用Hbase的,得到的答案是"直接用",呵呵,我理解这个直接用类似数据库连接一样直接用jdbc,没有集成框架,而笔者以前玩过redis、mongodb与spring的集成,想着应该spring也可以集成Hbase,然后就是找资源,maven私服、github,spring官网上各种搜索,果然我再次感受到了spring的强大,还真有,废话不多说了,上手吧!
1.maven pom配置
这只是Hbase需要的jar包,当然你项目中还需要spring框架的依赖包,笔者这里用的是2.2.0.RELEASE的版本,因为公司spring是4.1.6的版本。
2.application-hbase.xml文件配置
我们需要的是hbaseTemplate对象,而hbaseTemplate需要配置hbaseConfiguration 所以需要配置 <hdp:hbase-configuration>,hbase-configuration默认id取名为hbaseConfiguration,所以好奇的你一定在想hbaseConfiguration从哪里冒出来的。
而hdp:hbase-configuration 又需要配置 hdp:configuration所以咋一看hdp:configuration这是个什么鬼,没什么用,“Hadoop HDFS为HBase提供了高可靠性的底层存储支持,Hadoop MapReduce为HBase提供了高性能的计算能力,Zookeeper为HBase提供了稳定服务和failover机制”,摘自Hbase百科,其实Hbase也可以本地存储,它的底层存储支持是可插拔的不一定非要是HDFS,如果选择其他的底层存储支持可能会出现你想不到的兼容问题!
![](https://images2015.cnblogs.com/blog/726151/201702/726151-20170227132951610-1881657859.png)
![](https://images2015.cnblogs.com/blog/726151/201702/726151-20170227135055110-559254772.png)
ReqEntity参数实体
![](https://images2015.cnblogs.com/blog/726151/201702/726151-20170227140753063-1173350196.png)
ReqEntity实体类
6.Windows环境调试
1.在windows环境调试的时候需要 hadoop-2.6.0环境,
设置环境变量:
HADOOP_HOME:D:\Program Files\hadoop-2.6.0
Path中添加 %HADOOP_HOME%\bin
备注:hadoop原生的下载包不包含winutils.exe
所以需要下载 hadoop-common-2.2.0-bin-master.zip包:http://pan.baidu.com/s/1qYdKnJQ
并将hadoop-common-2.2.0-bin-master\bin目录下的文件替换到 %HADOOP_HOME%\bin目录下。
2.需要在C:\Windows\System32\drivers\etc\hosts 文件配置域名(ip为zk集群配置的地址,否则会连不上zk):
192.168.6.10 namenode1
192.168.6.11 datanode01
192.168.6.12 datanode02
7.结束语
最近公司一个汽车项目想用hbase做存储,然后就有了这篇文字,来,来,来, 带你一起征服hbase,并推荐一本书《hbase权威指南》 这是一本极好的hbase入门书籍,我花了一个晚上看完觉得这书蛮好的!
本文分上下两篇,上篇是hbase+hadoop+hdfs+zookeeper集群环境的安装,下篇讲解hbase如何集成spring来使用。hbase是个什么鬼?不知道不要紧,本文是我三天的成果,拿去,不谢!
Hbase+hadoop+hdfs+zookeeper集群环境的安装
hadoop+hdfs安装: http://www.cnblogs.com/tony-tang/articles/6472935.html
zookeeper集群安装:http://www.cnblogs.com/tony-tang/articles/6473373.html
Hbase安装:http://www.cnblogs.com/tony-tang/articles/6473360.html
HBase shell 命令创建表及添加数据操作: http://www.cnblogs.com/tony-tang/p/6473393.html
至此环境安装已经结束,下篇重点介绍Hbase是如何集成spring的,需要的maven jar包依赖,以及HbaseTemplate的扩展!
Hbase集成spring
前言
在集成Hbase之前问过同城一架构师朋友他们公司怎么用Hbase的,得到的答案是"直接用",呵呵,我理解这个直接用类似数据库连接一样直接用jdbc,没有集成框架,而笔者以前玩过redis、mongodb与spring的集成,想着应该spring也可以集成Hbase,然后就是找资源,maven私服、github,spring官网上各种搜索,果然我再次感受到了spring的强大,还真有,废话不多说了,上手吧!
1.maven pom配置
这只是Hbase需要的jar包,当然你项目中还需要spring框架的依赖包,笔者这里用的是2.2.0.RELEASE的版本,因为公司spring是4.1.6的版本。
<properties> <hbase.version>0.98.8-hadoop2</hbase.version> <spring.hadoop.version>2.2.0.RELEASE</spring.hadoop.version> <hadoop.version>2.6.0</hadoop.version> </properties>
<dependencies> <!-- spring-hadoop --> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-hadoop</artifactId> <version>${spring.hadoop.version}</version> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-hadoop-store</artifactId> <version>${spring.hadoop.version}</version> <exclusions> <exclusion> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> </exclusion> <exclusion> <artifactId>netty</artifactId> <groupId>io.netty</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.xerial.snappy</groupId> <artifactId>snappy-java</artifactId> <version>1.1.0</version> <scope>runtime</scope> </dependency> <!-- hadoop--> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>${hadoop.version}</version> <scope>compile</scope> <exclusions> <exclusion> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty</artifactId> </exclusion> <exclusion> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-util</artifactId> </exclusion> <exclusion> <groupId>org.mortbay.jetty</groupId> <artifactId>jsp-2.1</artifactId> </exclusion> <exclusion> <groupId>org.mortbay.jetty</groupId> <artifactId>jsp-api-2.1</artifactId> </exclusion> <exclusion> <groupId>org.mortbay.jetty</groupId> <artifactId>servlet-api-2.1</artifactId> </exclusion> <exclusion> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> </exclusion> <exclusion> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> </exclusion> <exclusion> <groupId>tomcat</groupId> <artifactId>jasper-compiler</artifactId> </exclusion> <exclusion> <groupId>tomcat</groupId> <artifactId>jasper-runtime</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-auth</artifactId> <version>${hadoop.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> <version>${hbase.version}</version> <scope>compile</scope> <exclusions> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-common</artifactId> <version>${hbase.version}</version> </dependency> <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-protocol</artifactId> <version>${hbase.version}</version> </dependency> </dependencies>
2.application-hbase.xml文件配置
我们需要的是hbaseTemplate对象,而hbaseTemplate需要配置hbaseConfiguration 所以需要配置 <hdp:hbase-configuration>,hbase-configuration默认id取名为hbaseConfiguration,所以好奇的你一定在想hbaseConfiguration从哪里冒出来的。
而hdp:hbase-configuration 又需要配置 hdp:configuration所以咋一看hdp:configuration这是个什么鬼,没什么用,“Hadoop HDFS为HBase提供了高可靠性的底层存储支持,Hadoop MapReduce为HBase提供了高性能的计算能力,Zookeeper为HBase提供了稳定服务和failover机制”,摘自Hbase百科,其实Hbase也可以本地存储,它的底层存储支持是可插拔的不一定非要是HDFS,如果选择其他的底层存储支持可能会出现你想不到的兼容问题!
![](https://images2015.cnblogs.com/blog/726151/201702/726151-20170227132951610-1881657859.png)
3.base_info.properties配置 #----------------------hbase config start-------------------------------
hd.fs=hdfs://namenode1:9000/hbase zk.quorum=namenode1,datanode1,datanode2 zk.port=2181 fs.defaultFS=hdfs://namenode1:9000/ #----------------------hbase config end------------------------------- 4.接口定义 IHbaseService接口:
![](https://images2015.cnblogs.com/blog/726151/201702/726151-20170227135055110-559254772.png)
5.接口实现 实现类封装了对Hbase的CRUD操作HbaseServic实现类:![]()
ReqEntity参数实体
![](https://images2015.cnblogs.com/blog/726151/201702/726151-20170227140753063-1173350196.png)
ReqEntity实体类
6.Windows环境调试
1.在windows环境调试的时候需要 hadoop-2.6.0环境,
设置环境变量:
HADOOP_HOME:D:\Program Files\hadoop-2.6.0
Path中添加 %HADOOP_HOME%\bin
备注:hadoop原生的下载包不包含winutils.exe
所以需要下载 hadoop-common-2.2.0-bin-master.zip包:http://pan.baidu.com/s/1qYdKnJQ
并将hadoop-common-2.2.0-bin-master\bin目录下的文件替换到 %HADOOP_HOME%\bin目录下。
2.需要在C:\Windows\System32\drivers\etc\hosts 文件配置域名(ip为zk集群配置的地址,否则会连不上zk):
192.168.6.10 namenode1
192.168.6.11 datanode01
192.168.6.12 datanode02
7.结束语
Spring集成Hbase就简单介绍到这里,其中笔者遇到非常多问题,都是一步一步走过来了,如果你也正思考如何使用Hbase,那么本文对你非常有用。如果您对本文有疑问或者意见请给我评论。如果你使用过程中遇到问题可以添加我QQ:515173248 也可以给我QQ邮件。
相关文章推荐
- hadoop+hbase+zookeeper 分布式集群搭建 + eclipse远程连接hdfs 完美运行
- hadoop+hbase+zookeeper 分布式集群搭建 + eclipse远程连接hdfs 完美运行
- hadoop+hbase+zookeeper 分布式集群搭建 + eclipse远程连接hdfs 完美运行
- hadoop-0.20.2 & hbase-0.90.1 集群启动错误“org.apache.hadoop.ipc.RPC$VersionMismatch: Protocol org.apache.hadoop.hdfs.protocol.ClientP
- hadoop-2.2.0+hbase-0.96.0测试集群搭建
- 搭建JAVAEE Memcache 集群环境之与Spring集成(四)
- 我的云之旅--hadoop集群集成Hbase集群(5)
- hadoop、hbase、zookeeper伪集群搭建
- Hadoop集群安装&Hbase实验环境搭建【1】
- 分布式集群环境hadoop1.2.0、hbase0.94.4、zookeeper、elasticsearch搭建
- 分布式集群环境hadoop1.2.0、hbase0.94.4、zookeeper、elasticsearch搭建2
- hadoop(八) - hbase集群环境搭建
- hadoop-0.20.2 & hbase-0.90.1 集群启动错误“org.apache.hadoop.ipc.RPC$VersionMismatch: Protocol org.apache.hadoop.hdfs.protocol.ClientP
- 搭建Hadoop 2.2.0 和 HBase 0.94.14 集成
- 在Hadoop集群上,搭建HBase集群
- hadoop, hbase, zookeeper集群搭建
- Hadoop---在HDFS集群基础上搭建Map/Reduce集群
- 王家林的81门一站式云计算分布式大数据&移动互联网解决方案课程第三门课程:云计算分布式大数据Hadoop征服之旅:HDFS&MapReduce&HBase&Hive&集群管理
- 第八章 搭建hadoop2.2.0集群,Zookeeper集群和hbase-0.98.0-hadoop2-bin.tar.gz集群
- hadoop、hbase、zookeeper集群搭建