dotnetcore 与 hbase 之一——hbase 环境准备
转载请注明出处www.cnblogs.com/hsxian!
总述
这是一系列针对 .net core (c#) 读取 hbase 的教程。本人苦于找不到 c#的原生 hbase 客户端,多番寻觅之下有一个相对折中的办法——通过 thrift 跨平台调用。这和 java 原生客户端效率比起来仍然有一定的差距,可解燃眉之急。若有高人知道更加有效的方式,望请告知。
本系列主要分三个部分:
- hbase 的相关准备工作
- thrift 下 c#客户端的制作
- c# for hbase 客户端的使用
首先进入第一部分:habse 的相关准备工作
说明
为了使个人更易于使用 hbase,减少 hbase 的部署压力,笔者已经走通了在 docker 集群中运行 hbase 的历程。只仅仅作为个人测试使用,具体业务生产环境请物理机集群搭建 hbase。额外的,该集群上还安装了 scale、Hadoop、zookeep、spark 等。如需删减,请自行更改 dockerfile 文件及其相关配置。此外,本文默认您已经了解 docker、linux、hbase 的相关知识。
centos-ssh 基础镜像准备
该基础镜像基于 centos,里面安装了 ssh 服务,用于免密登录的准备。为了简便,其中的密码皆为弱密码,生产环境请注意安全工作!!!dockerfile 可从 github 上找到,直接运行进行镜像构建即可。可从readme找到构建信息。
大数据(已经包含 hbase)集群镜像的准备
该镜像基于上一步的 centos-ssh 镜像,所以请注意基础镜像名和上一步的构建镜像名对应。该镜像制作过程中利用了多个脚本辅助完成,因此省略了大部分 hbase 的搭建工作。但不可避免的仍然需要一些 docker 的准备工作,只要是熟悉 docker 操作的都能明白其中的操作意义。具体请参看readme
启动集群
由上面两步,我们已经得到了一个大数据集群。节点名称分别为master
、slave01
和slave02
。分别登录进各个节点,执行su spark
切换至 spark 用户。选择启动脚本后等待几分钟等待集群启动。一般情况下,在节点master
命令行中执行jps
查看进程启动情况。可得到如下进程:
jps
2224 ThriftServer
1042 NodeManager
917 ResourceManager
2470 Jps
1463 Master
55 QuorumPeerMain
248 NameNode
377 DataNode
604 SecondaryNameNode
2078 HMaster
其中HMaster
为 hbase 的 master 进程,如启动失败,可尝试readme步骤 6.2 中启动 habse 的命令。浏览网页http://localhost:16010/master-status查看 habse 启动情况。一切正常可在 Region Servers分类下面看到从节点slave01
和slave02
。
ThriftServer
为我们跨平台调用的媒介进程。默认端口为 9090。
总结
虽然该文章看上去比较简短。但大部分工作都在于两个镜像构建中的 readme 文件中。该镜像用于个人大数据学习是足够了的,比如笔者用该镜像中的 spark 进行数据透视的实验就很有用。可以参看项目StatisticalSample,如有帮助,记得给个星星(⊙o⊙)哦。在前不久,.net阵营中也引入了spark。项目.NET fo rApache® Spark™刚开始起步,目前还只能在本地运行,无法提交到远程集群执行。希望它越来越好吧。
初次使用,可能会遇到各种困难,请付诸于耐心,祝君好运。
完整的镜像启动后,可以浏览各个模块的管理页面:
- YARN 的 http 默认端口http://localhost:8088/cluster
- Spark 的 http 默认端口http://localhost:8900/
- Hadoop 的 http 默认端口http://localhost:50070/dfshealth.html#tab-overview
- Hbase 的 http 默认端口http://localhost:16010/master-status
以下没有页面:
- fs.defaultFS 默认端口http://localhost:9000/
- thrift 的 http 默认端口http://localhost:9090/