当前位置: 首页 > news >正文

美食网站开发背景查询域名是否被注册

美食网站开发背景,查询域名是否被注册,站长统计 wordpress,网站模板服务商背景小米Kylin生产环境部署的是基于社区2.5.2修改的内部版本#xff0c;所依赖HBase集群是一个公共集群#xff0c;小米内部很多离线计算服务共享使用该HBase集群。由于Kylin已经产生超过6000张HBase表#xff0c;给HBase的metadata管理造成了不小的压力#xff0c;HBase m… 背景小米Kylin生产环境部署的是基于社区2.5.2修改的内部版本所依赖HBase集群是一个公共集群小米内部很多离线计算服务共享使用该HBase集群。由于Kylin已经产生超过6000张HBase表给HBase的metadata管理造成了不小的压力HBase metadata节点异常恢复的速度也受到极大的影响。随着业务的增长Kylin HBase表继续快速增长HBase集群的运维压力也越来越大。为了应对快速增长的业务需求我们决定将Kylin使用的HBase集群独立运维。同时公共集群的HBase是基于社区0.98.11的小米内部版本版本较旧。在集群独立过程中HBase团队推荐使用最新基于社区2.2.0的小米内部版本 升级后HBase对超大metadata的管理也更友好。目标与挑战小米Kylin生产环境上运行着超过50个项目、300多个cube服务于很多在线的BI或报表系统。本次升级希望尽量减小对业务的影响迁移数据和切换集群期间查询服务不中断项目、数据模型和cube的新增、更改、发起构建、发起合并等操作不受影响数据构建任务可延后调度但不能超过天级别Kylin存储在HBase中的数据主要有两类Kylin metadata(元数据)、Cube预计算数据。元数据中存储着所有的用户、项目和数据模型的信息数据模型对应的结果数据表数据任务的执行参数、状态和日志查询使用的词典等重要信息。由于我们接入了很多自动化BI系统这部分信息随时在变化。Cube预计算数据是查询使用的结果数据每一个segment对应着一张数据表预计算的数据表生成之后不会变化。我们虽然可以通过HBase snapshot复制后在新集群restore的方式将数据复制到新的集群但是由于生产环境的Kylin中的数据表比较多且以每天400张的速度不断生成(注因为有合并和过期删除策略每天数据表的增加数量要少于400)。新的数据表生成后会在metadata中标记为可查询若此时数据表的同步未完成就会导致查询失败。我们面对挑战是如何保障数据迁移的过程中的服务可用性Kylin metadata不断变化Cube预计算数据存量巨大且在持续增加metadata可以做到秒级别同步Cube预计算数据只能做到天级别(存量)和小时级别(增量)的同步metadata新旧集群保证一致Cube预计算数据迁移过程中保障可用如下图所示图1-通常方案的问题迁移方案因为我们维护了基于Kylin-2.5.2的内部版本希望通过修改代码实现平滑迁移其关键点是通过HBase replication保证新旧集群Kylin metadata的数据同步Kylin的meta信息存储在HBase的kylin_metadata表中两个集群的此表保持同步更新。Kylin支持连接多个HBase集群查询时如果在首选HBase中找不到需要的HTable则回退到备选HBase集群。(已提交社区KYLIN-4175)任务调度支持安全模式安全模式下用户可继续提交构建任务且已在调度中的任务可以继续执行但新提交的任务暂缓调度。(已提交社区KYLIN-4178)迁移示意图如下图2-支持secondary HBase方案除了上述关键点还需要注意一些细节问题。1. 超大metadata的数据迁移超过阈值(默认为10MB)的metadata存储在HBase依赖的HDFS上需要手动迁移这部分数据。我们通过Hadoop distcp来迁移此部分数据。2. coprocessor的更新Kylin使用了HBase的coprocessor机制在执行查询的时候扫描HBase的数据。起初我们认为可以使用兼容HBase 0.98和2.2的coprocessor实际测试中发现需要更新为支持HBase2.2的coprocessor。Kylin提供了工具来进行批量的更新。构建基于HBase 2.2的Kylin需要基于社区的2.5.x-hadoop3.1或2.6.x-hadoop3.1分支。我们选择从Hadoop3.1的分支上移植相关特性。相关的JIRA有KYLIN-2565、KYLIN-3518迁移步骤具体迁移步骤如下HBase团队搭建好基于HBase 2.2的独立HBase集群HBase团队添加新老集群kylin_metadata表的异步replicationHBase团队通过snapshot restore同步HBase其他表并更新coprocessor在测试节点上回放生产环境查询请求验证新集群HBase数据表可正常提供查询开启JobServer的安全模式禁用新的任务调度滚动升级QueryServer切换至兼容新旧HBase等待安全模式下所有任务运行完成切换JobServer至新HBase并关闭安全模式等待表全部迁移完成使用KylinHealthCheck工具检查HBase表确认所有在用cube segment对应的HBase表存在检查确认后从Kylin去除旧HBase集群配置旧HBase集群数据保留一段时间最后清理删除。问题解决在演练和执行的过程中我们遇到了如下的一些问题Kylin metadata的一致性验证Metadata作为最重要的HBase表影响着Kylin的主要功能。虽然有HBase replication来保证数据同步也最好双重确认来保障服务可用性。我们在Kylin中开发了一个脚本来批量对比两个meta表通过扫描meta表所有的键值和时间戳来发现差异。在初期确实发现了差异也依此来修正了replication的配置。在HBase团队的协助下该表做到了实时的同步。新HBase数据表的可用性验证为了验证新集群的数据可用性我们启动了一个测试的Kylin实例用以模拟兼容多个HBase集群的查询。测试实例不直接对用户服务而是通过回放SQL query来进行可用性测试。回放测试自动验证查询是否正常返回。这种测试方式弥补了回归测试用例覆盖范围的不足通过测试我们确实发现了隐藏的问题并进行了修复。在生产环境的切换中未发生新的问题。HBase2 protobuf变更带来的影响测试中发现若HBase返回数据量较大时会查询报错提示消息的长度超过限制InvalidProtocolBufferException:Protocol message was too large. May be malicious.在查询时HBase和Kylin之间的数据发送通过protobuf序列化。HBase 2修改了返回数据的方式从一次性返回变成了流式的返回从而触发了protobuf的长度检查逻辑。这个长度在protobuf 3之前的版本被限制为64M支持通过setSizeLimit()方法来修改。实际上大多数Hadoop项目都会使用shaded protobuf并修改这个限制。由于Kylin项目中未使用自己打包的protobuf因此这里需要通过接口修改长度限制。相关讨论见KYLIN-3973。HBase写大文件的异常当Cube的预计算结果数据量比较大单HBase region的文件大小超过配置的阈值时向HBase 2.2写文件会造成海量的小文件。这一步发生在将计算的结果转换为HFile时此步骤的任务执行时间也比较长。这是由HBase 2.2的BUG导致HBase的修复方案已合入最新分支。可以移植该patch以解决问题也修改配置hbase.hregion.max.filesize来解决。相关讨论见HBASE-22887、KYLIN-4292、KYLIN-4293。部分数据构建任务失败迁移过程中有两种数据构建任务的失败包更新导致的失败、segment合并的失败。由于Kylin的任务机制在提交任务的时候就已经指定了使用的jar包的绝对路径。如果Kylin的依赖升级后jar包版本号发生了变化就会导致执行异常。社区版本尚未修复可以通过保留原来版本的文件来避免该问题。相关讨论见KYLIN-4268。另外多集群的HBase配置仅支持了查询引擎在合并最新生成的HBase表时会出现异常。我们认为segment合并可以接受一定时间的延迟在HBase表同步完成后再触发相关合并操作即可。总结与展望本次Kylin的HBase跨集群迁移和版本升级的挑战点是如何保证对用户的影响最小。迁移的重点是设计一个高效迁移方案、保证迁移过程的数据一致性和正确性、保证测试方案的完整覆盖同时需要设计执行过程中的异常情况的判定和处理机制。最后的Kylin滚动升级过程耗时2小时也就意味着用户作业的调度延后为2小时。基于前期的大量工作最终实现了对业务的影响最小。我们在维护的内部版本的基础上通过技术修改优雅解决问题相关成果也反馈给社区。后续改进目前使用HBase作为Kylin的预计算结果存储有着诸多问题。除了本文提到的海量表还包括不支持第二索引、查询引擎无法分布式、扫描表的数据量和时间存在限制等问题这些都限制了Kylin的能力。社区正在实现Kylin on Parquet的方案数据存储使用Parquet查询引擎使用SparkSQL此方案能够极大的提升Kylin的能力。我们期待该方案的落地也会积极的参与相关讨论、开发和测试。致谢感谢HBase团队同学在迁移期间的给力支持关于我们小米云平台计算平台团队负责为小米集团各业务线提供高品质的弹性调度和计算服务。包括离线平台(SparkHadoop YarnKylinDoris等)流式平台(KafkaFlink及自研Talos等)弹性平台(DockerKubernetes等)。武汉团队主要负责Kylin、Druid等OLAP引擎开发。we want you北京武汉均有职位欢迎优秀的你加入~联系方式computing-hrxiaomi.com参考资料[1] Apache Kylin跨机房迁移实战 https://blog.bcmeng.com/post/kylin-migrate.html[2] KYLIN-4175: Support secondary hbase storage config for hbase cluster migration https://issues.apache.org/jira/browse/KYLIN-4175[3] KYLIN-4178: Job scheduler support safe mode https://issues.apache.org/jira/browse/KYLIN-4178[4] KYLIN-3973: InvalidProtocolBufferException: Protocol message was too large. May be malicious. https://issues.apache.org/jira/browse/KYLIN-3973[5] KYLIN-3997: Add a health check job of Kylin https://issues.apache.org/jira/browse/KYLIN-3997[6] KYLIN-4268: build job failed caused by hadoop utils update https://issues.apache.org/jira/browse/KYLIN-4268[7] HBASE-22887: HFileOutputFormat2 split a lot of HFile by roll once per rowkey https://issues.apache.org/jira/browse/HBASE-22887[8] KYLIN-4293: Backport HBASE-22887 to Kylin HFileOutputFormat3 https://issues.apache.org/jira/browse/KYLIN-4293[9] [DISCUSS] Columnar storage engine for Apache Kylin: http://apache-kylin.74782.x6.nabble.com/DISCUSS-Columnar-storage-engine-for-Apache-Kylin-td11821.html猜你喜欢1、Delta Lake 0.5.0 正式发布支持包括 Hive/Presto 等多种查询引擎2、当小内存遇上大量数据你该怎么解决这个问题3、从 Hive 大规模迁移作业到 Spark 在有赞的实践4、Docker 核心技术与实现原理过往记忆大数据微信群请添加微信fangzhen0219,备注【进群】
http://www.yutouwan.com/news/430004/

相关文章:

  • 博罗做网站技术网页设计制作网站模板图片
  • 简述网站主要流程北京网站建站
  • 网站开发教程 视频 ssh专业的网页设计和网站制作公司
  • 做服装行业网站社交分享 wordpress
  • 济南网站建设山东酷风Wordpress点金
  • 怎么选择合肥网站建设开个小网站要怎么做
  • 自助建站网站建设设计论坛最好的网站
  • 聊城集团网站建设wordpress如何看访问
  • 江西网站制作的公司网页制作公司有哪些职位
  • 建站与备案的具体流程是什么jsp做的网站运行都需要什么
  • 制作一个网站的费用是多少钱北京低价做网站
  • 网站备案系统wordpress多用户编辑wiki
  • 找工作平台网站四川公共交易资源信息网
  • 附近手机网站建设解决方案的网站建设
  • 淘宝网站建设策划书wordpress还是shopify
  • 制作网络网站开网站是干什么的
  • 北京网站定制制作怎么黑掉网站
  • 十条网站建设的seo策略山东好的网站建设排行榜
  • 岱山县网站建设wordpress 图片放大插件
  • 做网站需要几大模板服装公司网站建设
  • 企业门户网站属于什么层网站ar怎么做
  • 高端品牌网站设计如何做外围网站的代理
  • ps上做网站哪里有专业网站建设公司
  • wordpress 建网站视频找外贸客户的网站
  • 网站空间大小怎么看网站dns错误
  • 达州网站制作成都工商注册流程
  • 怎么做阿里国际网站的数据分析做设计排版除了昵图网还有什么网站
  • 合肥建网站的公司上海公司注册地址
  • php搭建网站教程关于小城镇建设网站
  • wordpress网站载入慢天津网站大全