云原生HBaseonk8s编排部署讲解与实战操作
一、概述
HBase 是一个面向列式存储的分布式数据库,其设计思想来源于 Google 的 BigTable 论文。HBase 底层存储基于 HDFS 实现,集群的管理基于 ZooKeeper 实现。HBase 良好的分布式架构设计为海量数据的快速存储、随机访问提供了可能,基于数据副本机制和分区机制可以轻松实现在线扩容、缩容和数据容灾,是大数据领域中 Key-Value 数据结构存储最常用的数据库方案。
官方文档:https://hbase.apache.org/book.html GitHub地址:https://github.com/apache/hbase 关于更多hbase的介绍,也可以参考我这篇文章:列式存储的分布式数据库——HBase(环境部署)
因为hbase依赖于HDFS存储,关于HDFS容器化部署可以参考我以下文章:【云原生】Hadoop on k8s 环境部署
但是生产环境一般使用高可用的Hadoop的,关于高可用部署可参考我这篇文章:【云原生】Hadoop HA on k8s 环境部署
hbase依赖于Zookeeper,zookeeper容器化部署可以参考:【云原生】zookeeper + kafka on k8s 环境部署
二、开始编排部署(非高可用HDFS)
地址:https://artifacthub.io/packages/helm/hbase/hbase 1)下载chart 包helm repo add hbase https://itboy87.github.io/bigdata-charts/ # hbase version 2.4.13 helm pull hbase/hbase --version 0.1.72)构建镜像
在下面连接hadoop高可用会重新构建镜像,这里就不重新构建镜像了,只是把远程的包推送到本地harbor仓库 docker pull ghcr.io/fleeksoft/hbase/hbase-base:2.4.13.2 # tag docker tag ghcr.io/fleeksoft/hbase/hbase-base:2.4.13.2 myharbor.com/bigdata/hbase-base:2.4.13.2 # push docker push myharbor.com/bigdata/hbase-base:2.4.13.23)修改yaml编排(非高可用HDFS)hbase/values.yaml image: repository: myharbor.com/bigdata/hbase-base tag: 2.4.13.2 pullPolicy: IfNotPresent ... conf: hadoopUserName: admin hbaseSite: hbase.rootdir: "hdfs://hadoop-hadoop-hdfs-nn.hadoop:9000/hbase" hbase.zookeeper.quorum: "zookeeper.zookeeper:2181" ... hbase: master: replicas: 2 regionServer: replicas: 2 # 禁用内部的hadoop hadoop: enabled: false # 禁用内部的zookeeper zookeeper: enabled: falsehbase/templates/hbase-configmap.yaml if [ {{ .Values.hadoop.enabled }} = true ];then NAMENODE_URL={{- printf "http://%s-hadoop-hdfs-nn:9870/index.html" .Release.Name }} else hadoop_url={{ index .Values.conf.hbaseSite "hbase.rootdir" }} hadoop_url=`echo $hadoop_url|awk -F "/" "{print $3}"|awk -F":" "{print $1}"` NAMENODE_URL=http://${hadoop_url}:9870/index.html fi4)开始部署# 先检查语法 helm lint ./hbase # 开始安装 helm install hbase ./hbase -n hbase --create-namespace
NOTES NAME: hbase LAST DEPLOYED: Sat Nov 5 15:44:14 2022 NAMESPACE: hbase STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: 1. You can get an HBASE Shell by running this command: kubectl exec -n hbase -it hbase-hbase-master-0 -- hbase shell 2. Inspect hbase master service ports with: kubectl exec -n hbase describe service hbase-hbase-master 3. Create a port-forward to the hbase manager UI: kubectl port-forward -n hbase svc/hbase-hbase-master 16010:16010 Then open the ui in your browser: open http://localhost:16010 4. Create a port-forward to the hbase thrift manager UI: kubectl port-forward -n hbase svc/hbase-hbase-master 9095:9095 Then open the ui in your browser: open http://localhost:9095
HDFS
查看 kubectl get pods,svc -n hbase -owide
5)测试验证
测试主备切换,重启当前active master pod kubectl delete pod hbase-hbase-master-0 -n hbase
主备能正常切换
6)卸载helm uninstall hbase -n hbase # delete ns kubectl delete ns hbase --force三、开始编排部署(高可用 HDFS)1)下载chart 包helm repo add hbase https://itboy87.github.io/bigdata-charts/ # hbase version 2.4.13 helm pull hbase/hbase --version 0.1.72)构建镜像
这里是基于上面的镜像进行构建,只是把hadoop打包到镜像中,主要用的hadoop配置文件是 core-site.yaml ,hdfs-site.yaml
Dockerfile FROM myharbor.com/bigdata/hbase-base:2.4.13.2 RUN mkdir -p /opt/apache ENV HADOOP_VERSION=3.3.2 ADD hadoop-${HADOOP_VERSION}.tar.gz /opt/apache ENV HADOOP_HOME=/opt/apache/hadoop RUN ln -s /opt/apache/hadoop-${HADOOP_VERSION} $HADOOP_HOME ENV HADOOP_CONF_DIR=${HADOOP_HOME}/et/hadoop ENV PATH=${HADOOP_HOME}/bin:$PATH
开始构建 docker build -t myharbor.com/bigdata/hbase-hdfs-ha:2.4.13.2 . --no-cache ### 参数解释 # -t:指定镜像名称 # . :当前目录Dockerfile # -f:指定Dockerfile路径 # --no-cache:不缓存 # 推送到harbor docker push myharbor.com/bigdata/hbase-hdfs-ha:2.4.13.23)修改配置hbase-hdfs-ha/values.yaml image: repository: myharbor.com/bigdata/hbase-hdfs-ha tag: 2.4.13.2 pullPolicy: IfNotPresent ... conf: hadoopUserName: admin hbaseSite: hbase.rootdir: "hdfs://myhdfs/hbase" hbase.zookeeper.quorum: "zookeeper.zookeeper:2181"hbase-hdfs-ha/templates/hbase-configmap.yaml if [ {{ .Values.hadoop.enabled }} = true ];then NAMENODE_URL={{- printf "http://%s-hadoop-hdfs-nn:9870/index.html" .Release.Name }} else NAMENODE_URL=http://hadoop-ha-hadoop-hdfs-nn-1.hadoop-ha:9870:9870/index.html fi# 先检查语法 helm lint ./hbase-hdfs-ha # 开始安装 helm install hbase-hdfs-ha ./hbase-hdfs-ha -n hbase-hdfs-ha --create-namespace
NOTES NAME: hbase-hdfs-ha LAST DEPLOYED: Sat Nov 5 17:23:20 2022 NAMESPACE: hbase-hdfs-ha STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: 1. You can get an HBASE Shell by running this command: kubectl exec -n hbase-hdfs-ha -it hbase-hdfs-ha-hbase-master-0 -- hbase shell 2. Inspect hbase master service ports with: kubectl exec -n hbase-hdfs-ha describe service hbase-hdfs-ha-hbase-master 3. Create a port-forward to the hbase manager UI: kubectl port-forward -n hbase-hdfs-ha svc/hbase-hdfs-ha-hbase-master 16010:16010 Then open the ui in your browser: open http://localhost:16010 4. Create a port-forward to the hbase thrift manager UI: kubectl port-forward -n hbase-hdfs-ha svc/hbase-hdfs-ha-hbase-master 9095:9095 Then open the ui in your browser: open http://localhost:9095
HDFS
查看 kubectl get pods,svc -n hbase-hdfs-ha
5)测试验证
测试主备切换,重启当前active master pod kubectl delete pod hbase-hbase-master-0 -n hbase
主备能正常切换
6)卸载helm uninstall hbase-hdfs-ha -n hbase-hdfs-ha # delete ns kubectl delete ns hbase-hdfs-ha --force
git 地址:https://gitee.com/hadoop-bigdata/hbase-on-k8s
HBase on k8s 编排部署讲解与实战操作就先到这里了,有疑问的小伙伴欢迎留言或私信,后续会持续更新 【云原生+大数据】 相关的文章,请小伙伴耐心等待~
狂飙最吃亏的三位演员带病拍摄还挨骂,演重要角色毫无热度张译张颂文主演的电视剧狂飙是今年名副其实的爆款。电视剧收官快两个月,但还是有极强的长尾效应,随着电影不止不休临近上映,狂飙也跟着频繁登上热搜,比如狂飙京海大佬这个话题,就将狂飙和不
微软称10年时间足以让索尼开发使命召唤的替代品微软称索尼有能力做使命召唤替代品微软收购动视暴雪最新进展微软收购动视暴雪一案仍审批中,在最近回复英国竞争与市场管理局(CMA)时,微软反驳了索尼之前声称的使命召唤对PS平台来说不可替代,微软称索尼作为全球领先的发行商和主机平台所有者,1
早春勿忘防火来源经济日报时已入春,天干物燥,森林草原防火压力陡增,各地一定要高度警惕,落实好各项防控措施。森林草原火灾被联合国列为世界八大自然灾害之一,不仅严重破坏林草资源和生态环境,还严重威
凤凰古城历游记(三)在凤凰古城,我们有幸参观了著名文学家沈从文先生的故居。2006年5月25日,湖南省凤凰县的沈从文故居,经国务院批准,列入第六批全国重点文物保护单位。也是省级文物保护单位。沈从文故居
泰国贵到去不起?携程泰国曼谷仍为出境游热门第一红网时刻新闻3月23日讯(通讯员张大伟)随着出境游热度不断升高,关于出行花费便利度目的地疫后体验的讨论络绎不绝。近期,关于泰国贵到去不起的话题在网络上引发热论,究其缘由,无非是曾经
电影圈转战电视圈冯小刚的回响,这次扑得真一点回响都没!继隐秘的角落沉默的真相八角亭谜雾平原上的摩西回家的女儿后,回响闪亮登场今年爱奇艺的迷雾剧场,对打隔壁同样主打刑侦悬疑题材的他是谁,着实令人期待。选择回响这个荡气回肠名字的作品,沉寂
河南钉子户任金岭,称给100亿也不拆,专家他家确实拆不得做拆迁户可以说是很多中国人梦寐以求的事情,毕竟拆迁户不但可以分得新房子,还可以获得高额补偿,在中国快速发展的这几年,不少人因拆迁而成了有钱人。但是河南郑州有一户人家,拆迁费给100
语言发育迟缓的男孩逐渐恢复的心路历程1嗨,你好!我现在是一个四岁男孩的全职宝妈!我的儿子一岁会叫妈妈或者阿妈,两岁才勉强会叫爸爸,其他的话基本不会说,由于是第一胎,而且我和老公当时忙着开炸鸡店,总感觉孩子还小,也有很多
小宝宝不会说话,他的便便会说话!小宝宝太小的时候不会说话,也不会表达,饿了尿了不舒服了,只会哭。很多宝爸宝妈一看宝宝哭了就赶紧给奶喝,如果宝宝不肯喝奶或者是喝了奶还哭个不停,就不知道怎么办了。这个时候可以用排除法
4月30日保马来了!跑友关注的内容都在这里纵览客户端讯(燕赵都市报纵览新闻记者田媛媛实习生景瑞祁)3月22日,保定市政府新闻办召开2023保定马拉松赛新闻发布会。记者从发布会上获悉,保定首个城市全马赛事将于4月30日举办,
集思广益,助力屈原酒业文化建设提质屈原酒生态酿酒园是湖南省工业旅游示范点,包揽中国驰名商标湖南省名牌产品湖南老字号等多项荣誉。为将园区打造成集白酒酿造湘楚民俗风景园林于一体的4A级旅游景点,公司规划对200亩园区文