当前位置:首页 » 操作系统 » hdp源码

hdp源码

发布时间: 2023-05-28 15:17:09

A. Apache Zeppelin 迁移 - Jar 包冲突解决与思考

最近整个公司大数据集群迁移(cdh -> ambri hdp),随之 Zeppelin 也需要迁移,由于各个组件版饥罩芹本有变化,且 Zeppelin 源码是有过改动的,迁移起来很麻烦。经过一周的折腾,终于把 Zeppelin 从 cdh 环境迁移至 hdp 环境。同时,在解决问题期间,对 Java 类加载,jar 冲突问题有了更进一步的认识。

版本有所变化,当然得重新编译 Zeppelin ,指定下 spark hadoop 大版本,重新编译:

经过配置参数修改,迁移过去 hive 没问闷碧题,spark 运行报错,经过一周的折腾终于解决,主要是版烂毕本依赖冲突问题。

现象:跑 spark sql 报 NoSuchMethodError 错误如下:

连 hive metastore 后调用 close() 方法, FacebookService( from: libfb303.jar ) 最终调用 TClient.sendBaseOneway ( to: libthrift.jar
查看 libthrift 源码, 0.9.3 版本有 sendBaseOneway , 而 0.9.2 版本没有。
结论: libfb303.jar 的 facebookservice 调用了 libthrift 0.9.3 版本的中的方法,而 JVM 加载了 0.9.2 版本, 导致 NoSuchMethodError。

查看 zeppelin 源码, zeppelin-spark*.jar , zeppelin-spark-dependencices*.jar 都 shaded 了 libthrift 这个 jar 包。
打包信息如下:

jar 所在目录:

这里也有一个取巧的方法,将 jar 包解压删除 thrift 并重新打包。通过 linux 下 jar 命令即可完成。

如果深入理解 Java 类加载机制,jar包冲突相关原因,对定位解决这类问题有很大的帮助 。
一般来说遇到: ClassNotFoundExpection , NoClassDefFoundError 和 NoSuchMethodError ,有可能是包冲突造成的。

先来解释下这个三个问题的区别 [1]:

读完这个 重新看待Jar包冲突问题及解决方案 [3]收获良多,总结部分笔记,对于冲突,存在两个场景:

这两个场景的存在,会导致 JVM 加载到了错误的类,导致与预期场景不一致出现上面描述的错误等 ,导致出现 ClassNotFoundExpection , NoClassDefFoundError 和 NoSuchMethodError 等异常。

因为 maven 的传递依赖机制,maven 引入依赖类似于图的遍历,从子往父溯源,引入所有相关依赖。这样为开发节省了效率,但同时可能引入不同版本的 jar 包,导致在运行时出现包冲突。存在多个依赖,maven 具体选择引入哪个依赖,规范来源于仲裁机制,仲裁机制如下:

常见的解决依赖冲突的办法有两个:

下面这段配置取自 Zeppelin pom,声明选择的依赖的 avro 版本,同时排除了部分依赖 如 netty。

还有一种冲突是同样的类,出现在不同的包里面,例如 A 和 B 包都有类 C,JVM 在加载 C 的时候到底是选择 A 还是 B。这个选择取决于:

如果遇到 ClassNotFoundExpection , NoClassDefFoundError 和 NoSuchMethodError ,有可能是包冲突造成的。

[1] https://stackoverflow.com/questions/1457863/what-causes-and-what-are-the-differences-between-noclassdeffounderror-and-classn/1457879#1457879
[2] classnotfoundexception-vs-noclassdeffounderror
[3] 重新看待Jar包冲突问题及解决方案

B. 电视机hdmi和红白线路输入解码部分有什么不同

根据你的条件,首先不建议使用红白黄线:红白线只能提供2声道的音频输出,黄线是视频模拟信号,不能支持1080p高清。所以使用红白黄线视听效果会大打折扣。

你先确认下你的功放是否有同轴或者spdif光纤输入?个人觉得目前还没有太大必要入次世代功放——带trueHD音轨的片子都是10G以上的高清片源,需要下载来看的,除非你是发烧友。如果你现在的功放支持spdif光纤口那就好办了:

1、网络机顶盒hdmi线连接世颂电视。
2、网络机顶盒的spdif光纤口通过功放的spdif口
3、网络机顶盒上一定要记得在设置里面把音频设置为源码输出(透传),这样才能点亮功放解码DTS,否则还是模拟声道。

目前市面上的大多网络机顶盒都支持猜陆光纤口(支持同轴的较少),如芒果嗨Q,开博尔,天敏的机器。而小米盒子,天猫魔盒1、2代,华为秘盒这些是没有光纤口的,要注意!

关于网络机顶盒的选购和使用推荐你上高清范hdpfans网站逛逛,有很多相关资料。穗返顷

C. 2017年10大流行Python库有哪些

1、NumPy
NumPy是构建科学计算 stack 的最基础的包。它为 Python 中的 n 维数组和矩阵的操作提供了大量有用的功能。该库还提供了 NumPy 数组类型的数学运算向量化,可以提升性能,从而加快执行速度。

2、SciPy
SciPy 是一个工程和科学软件库, 包含线性代数、优化、集成和统计的模块。SciPy 库的主
要功能建立在 NumPy 的基础之上,它通过其特定的子模块提供高效的数值例程操作。SciPy 的所有子模块中的函数都有详细的文档,这也是一个优势。
3、Pandas
Pandas是一个 Python 包,旨在通过“标记(labeled)”和“关系(relational)”数据进行工作,简单直观。Pandas 是 data wrangling 的完美工具。它设计用于快速简单的数据操作、聚合和可视化。
4、Seaborn
Seaborn 主要关注统计模型的可视化;这种可视化包括热度图(heat map),可以总结数据但也描绘总体分布。Seaborn 基于 Matplotlib,并高度依赖于它。
5、Bokeh
Bokeh是一个很好的可视化库,其目的是交互式可视化,不过这个库独立于 Matplotlib,它通过现代浏览器以数据驱动文档(D3.js)的风格呈现。
6、Scikits
Scikits 是 SciPy Stack 的附加软件包,专为特定功能(如图像处理和辅助机器学习)而设计。其中最突出的一个是 scikit-learn。该软件包构建于 SciPy 之上,并大量使用其数学操作,是使用 Python 进行机器学习的实际上的行业标准。
7、Theano
Theano 是一个 Python 包,它定义了与 NumPy 类似的多维数组,以及数学运算和表达式。该库是经过编译的,使其在所有架构上能够高效运行。这个库最初由蒙特利尔大学机器学习组开发,主要是为了满足机器学习的需求。
8、Keras
Keras是一个使用高层接口构建神经网络的开源库,它是用 Python 编写的。它简单易懂,具有高级可扩展性。Keras 极其容易上手,而且可以进行快速的原型设计,足以用于严肃的建模。
9、Gensim
Gensim是一个用于 Python 的开源库,实现了用于向量空间建模和主题建模的工具。Gensim 实现了诸如分层 Dirichlet 进程(HDP)、潜在语义分析(LSA)和潜在 Dirichlet 分配(LDA)等算法,还有 tf-idf、随机投影、word2vec 和 document2vec,以便于检查一组文档(通常称为语料库)中文本的重复模式。
10、Scrapy
Scrapy 是用于从网络检索结构化数据的爬虫程序的库。它现在已经发展成了一个完整的框架,可以从 API 收集数据,也可以用作通用的爬虫。该库在接口设计上遵循着名的 Don’t Repeat Yourself 原则——提醒用户编写通用的可复用的代码,因此可以用来开发和扩展大型爬虫。

D. 技术落地性成大数据竞争赛点,鲲鹏大数据解决方案凭何领先

文 | 曾响铃

来源 | 科技 向令说(xiangling0815)

新基建浪潮下,作为底层支撑力量的数据与计算正变得越来越重要。

最近,由中国大数据与智能计算产业联盟主办,以“新算力 新基建 新经济”为主题的第二届中国超级算力大会ChinaSC在北京召开,包括国内外院士、知名学者和产业大咖在内的600多人参加,探讨了超级计算、新基建、云计算、大数据、人工智能、区块链等前沿技术进展。

这个奖项的颁出,官方给出的标准是,“能够把当前的各种技术有机的整合在一起,以满足不同应用场景下的各种综合的软硬件及系统方案,集科学性、先进性、稳定性、经济性等众多实际指标于一身,是技术转变为实际应用的关键环节。”

显然,这个权威奖项最关心的,是大数据解决方案在推动技术向实际应用转变的能力,而这也正是当下市场环境对大数据的核心需求。笔者尝试拆解鲲鹏大数据解决方案从宏观到操作层面的布局,希望能给予相关从业者这方面的行业借鉴。

技术竞赛不停, 但大数据需求转向应用落地

数据的价值越来越明显,更好地释放数据价值的技术在不断演化,但是,随着更多政企组织开始着手利用大数据能力帮助现实业务提升,其需求也开始更多倾向于技术能否更好地实现应用落地,大数据解决方案正是为此而生。

以鲲鹏为案例,在推动技术落地的过程中,其大数据解决方案表现出符合时代需要的三大特征,让它在新趋势下占据领先优势,受到客户广泛欢迎并获得ChinaSC权威认可。

1、超高性能仍然是应用落地的最有力支撑

大数据解决方案要推动技术实现各种场景的落地,其前提和支撑,是底层软硬件性能本身要足够强悍,否则,再完善和深度的解决方案,没有性能支撑也只能是空中楼阁。

而也只有性能足够强悍,在应用落地阶段才能够尽可能去满足客户各类数据价值需求。

得益于底层软硬件能力的深度开发,鲲鹏大数据解决方案就拥有超高性能,为应用做好了充分的准备以及支撑。

例如,硬件方面,采用自主研发高性能鲲鹏920处理器,软件方面,则拥有在大数据场景下获得倍级性能提升的独创IO智能预取和Spark机器学习&图增强算法。

以鲲鹏与浙江移动的合作为例,2019年,浙江移动相继完成了IT云鲲鹏服务器测试,营业厅前台系统、CRM、计费、大数据、CDN等系统的验证及上线商用。这其中,浙江移动的CRM&BOSS系统在鲲鹏大数据方案支撑下,整体得到了较大提升,在规模承载网络运营支撑业务的情况下,该系统现在已经稳定运行一年。

目前,浙江移动围绕网络云,IT云和移动云,已经打造了全球首个运营商领域ICT全场景样板点。

2、全栈方案才能推动技术全面落地

解决方案本身并不是一种具体的技术,其价值在于各种技术的有效融汇,作为统一的输出方式面向政企客户。而在政企客户需求日益加深的情况下,尽可能满足多种场景、多种技术诉求的解决方案,就必须建立一套尽可能完善的全栈体系,将各种技术有机地、系统地、全面地整合在一起。

这正是华为鲲鹏大数据解决方案的体系构成,其基于鲲鹏处理器,构建了端到端打通硬件、操作系统、中间件、大数据软件的全栈体系,并对应进行了全栈性能优化,推动各类技术汇聚成高性能解决方案:

可以看到,这套全栈体系,一方面通过有机整合,能够较为容易地同时满足科学性、先进性、稳定性、经济性等需求(例如,加速特性和大数据组件能够帮助方案更有效率同时成本更低);另一方面,作为全面、完整、一体化的信息化解决方案,也更容易去适应政府、金融、电信、互联网、大企业等不同行业应用需求。

从技术到应用落地,“全栈”成为重要的中间转换环节,不但“无损”,而且“增益”。

3、符合政企个性化需求让技术落地更具现实价值

在最终面向单个客户落地时,大数据解决方案还需要真正贴合这个客户的实际需要,这是从技术到应用落地的“临门一脚”,毕竟,不论性能如何强悍,全栈体系如何完善灵活,落实到客户头上,最终还是需要符合业务实际,产生现实价值。

既要有能力,更需要契合,鲲鹏大数据解决方案就是这么做的。

2019年,江苏省基于鲲鹏架构打造了全国首个省区市县三级政务大数据,未来将有越来越多的政务系统可以由自主可靠的鲲鹏计算平台来承载;

在广西,区内首个鲲鹏产业生态云项目——“壮美广西·玉林政务云(鲲鹏云)”已于不久前上线,这是该市全面推广应用广西数字政务一体化平台的体现,而其推出的广西首个市级公共数据开放管理办法,就与鲲鹏的大数据解决方案紧密相关;

目光转到浙江,在鲲鹏生态落子浙江的过程中,浙江推动形成“用鲲鹏”的共识,城市被当成鲲鹏生态的“试验场”,杭州市政务云已经选用鲲鹏作为算力底座,基于鲲鹏技术架构的解决方案和应用在政府服务场景中得到广泛应用。

总得看来,仅有高高在上的技术而无法产生实际价值的大数据玩法已经行不通,鲲鹏大数据解决方案跨越技术与应用的鸿沟,已经在众多行业、场景和企业中实现落地。

电信行业三巨头中,中国移动已实现鲲鹏大数据解决方案规模商用,中国电信则基于鲲鹏打造了天翼云,中国联通则基于鲲鹏构建了天宫IT系统;政务方面,北京、广东、江苏、浙江、广西等政务云都出现鲲鹏身影,当下其已经成为首选技术路线;在金融行业,鲲鹏正在帮助银行系统加速完成国产化。

可以说,鲲鹏大数据解决方案有力推动了中国数字经济发展,尤其是信息技术应用创新的落地。

领先优势下, 鲲鹏三个角度出发为大数据技术落地“铺路”

1、走得更稳——回应数字时代重要的安全关切

因此,鲲鹏大数据解决方案在安全方面一直加大投入,最典型的,是在底层硬件而非软件层面进行安全保障——鲲鹏920处理器内置硬件加速器、业界首创支持国密算法加速,这种CPU内置加速模块的做法,被称作“内生安全”,配合国密算法在技术上更为安全。

而与通常的大数据解决方案为了保证安全不得不让渡较多的性能随时监控系统运行不同,华为鲲鹏大数据解决方案内生安全的做法,做到了加密对业务性能的损耗低于5%——既解决安全痛点问题,也解决“为了安全需要”本身导致的痛点问题。

2、走得更顺——用兼容性保护既有数据软硬件投资

前文提到政务云大数据解决方案中,与现有的服务器的混合部署,这其中有一个十分重要的兼容性做法——由于鲲鹏大数据解决方案建立在鲲鹏处理器基础之上,而很多政企组织原有的软硬件投资都基于X86架构,所以鲲鹏要让技术的应用落地走得更顺,还需要在技术上完成对X86在部署层面的兼容,这样还能保护政企客户现有的数字化投资。

可以看到,当下的鲲鹏方案已经支持大数据组件TaiShan服务器与其他架构服务器混合部署。

以江苏电信为例,去年7月,其宣布成功上线全球首个基于鲲鹏处理器的运营商大数据平台。作为核心的业务系统,该大数据平台基于鲲鹏处理器的华为TaiShan服务器和开源Hadoop软件构建,承载着江苏电信所有生产系统的运行数据、存储及分析:

在项目进行过程中,双方携手完成基于鲲鹏处理器的开源Hadoop源代码编译,让关键的大数据业务组件在华为TaiShan服务器上的成功部署和运行,在原有集群上实现了传统架构服务器和TaiShan服务器融合部署。

这种兼容的做法,有效结合了江苏电信大数据业务特点和未来演进趋势,且充分发挥鲲鹏处理器的性能,提高了数据存储、计算等资源的使用效率。

3、走得更宽——生态开放才能让大数据拥有内生动力

鲲鹏生态的主要推动者华为一直强调的理念是“硬件开放、软件开源、使能合作伙伴”,在大数据解决方案中,这种理念同样得到了应用。

例如,在鲲鹏全栈方案中,顶层大数据平台就支持华为自研的FusionInsight大数据平台以及开源Apache、开源HDP/CDH、星环大数据平台,可以有效对接各类场景需要。今年8月,星环 科技 就发布了基于鲲鹏的大数据平台软硬件联合解决方案,由星环 科技 的TDH大数据平台提供软件层面优异的功能,由鲲鹏芯片提供硬件层面强大的性能,拥有极致性能、平滑迁移、丰富的场景支持以及快速部署多重优势,为行业创造价值。

此外,鲲鹏主导的数据虚拟化引擎openLooKeng开源,就支持跨数据格式、跨数据源、跨数据中心的海量分析,最终帮助方案的性能大幅度提升,典型的如北明数据资产管理平台V4.0就基于openLooKeng技术,解决了数据资产管理数据冗杂、标准不一、难以管理等痛点问题,为企业守护和挖掘数据的价值。

开放的生态,将帮助更多合作伙伴发展服务器和PC等计算产品,帮助构建高质量的基础软件生态,也让更多生态伙伴获得端、边、云的全场景开发能力,最终促进鲲鹏计算生态的繁荣,也加速大数据行业应用创新。

打好基础、做好标杆, 鲲鹏进入“强者恒强”周期

弥合技术与应用落地的鸿沟后,鲲鹏大数据解决方案拥有越来越多的政企实践,它们中大多数都是行业典型客户,本身既是大数据发展过程中的优质案例。

拥有这些客户资源的鲲鹏,实际上已经进入了强者恒强的发展周期,这不仅仅是因为它获得了诸多标杆合作案例、领先于行业,更重要的还在于,技术到应用实践的通路打通后,实践也将不断反馈技术,不断帮助鲲鹏锤炼自身的技术能力,从而形成有效的正反馈循环。

一旦这种循环形成,大数据解决方案就会进入“飞轮”式发展进程,越转越快、越难以停下,也很难以被后进者追赶,逐步成为政企客户最有竞争优势的选择。

更进一步来看,大数据服务从来都不是孤立存在的,在计算需求多样化的时代,鲲鹏计算产业生态的主要推动者华为在物联网、5G、AI等方面的能力和生态布局,无疑将帮助鲲鹏大数据解决方案有更多横向技术连接和融合的想象空间,满足更多政企客户潜在的创新业务需求。

总而言之,在以鲲鹏大数据解决方案为代表的优质案例引领下,数据与计算的时代正在加速到来,最终,“新算力”将推动“新基建”全面落地,带来“新经济”动能,更多政企客户将享受到技术带来的价值红利。

*本文图片均来源于网络

【完】

曾响铃

1钛媒体、品途、人人都是产品经理等多家创投、 科技 网站年度十大作者;

2虎啸奖评委;

3作家:【移动互联网+ 新常态下的商业机会】等畅销书作者;

4《中国经营报》《商界》《商界评论》《销售与市场》等近十家报刊、杂志特约评论员;

5钛媒体、36kr、虎嗅、界面、澎湃新闻等近80家专栏作者;

6“脑艺人”(脑力手艺人)概念提出者,现演变为“自媒体”,成为一个行业;

7腾讯全媒派荣誉导师、多家 科技 智能公司传播顾问。

E. Hive UDF 第一篇:怎么实现自己的 hive 自定义函数

看到这篇文章的同学相信都是 大数据相关技术爱好者 、从业人员或者业界大佬。这篇文章篇基础,属于上手性指引,如有不对的地方欢迎指正

文章的源代码github地址在文末

为什么要有 UDF

纵然 内置函数(Build-in Function)再丰富,也会遇到 无法完全满足我们特定场景的需要,这时我们需要 UDF;或者我们通过内置函数可以实现,但是业务代码冗长,又或者业务代码不仅冗长而且可能要多处维护,那么这时候我们需要 UDF。

强如 Oracle 这一霸占传统金融行业大部分数据库份额的厂商,一样提供 用户自定义函数的接口,Hive 这一开源生态的神级项目,自然也不会少。

总之:UDF 就是为灵活性而存在,为可扩展性而存在

选择合适的 UDF

按照不同使用场景需要, Hive 已经为我们将 UDF 归为3类,分别对应3种不同使用场景

1. 转换函数 UDF :适用于行级别转换操作,数据行中的一列后者几列,生成一列或者几列,效源世果可参照 内置函数的 upper() 讲一列的字符串所有字符 统一转换为 大写字符;

2. 聚合函数 UDAF: 适用与多行进行聚合成一行,或者多行分组聚合成相对小的多行,效果参照 内置函数 sum() ,一般配合 group by 使用较多

3. 表生成函数 UDTF: 适用一行生成多行场景 ,效果参照 内置函数 explode()

实现你的 UDF 逻辑

1. 转换函数UDF 实现


以前在 Oracle 上使用 decode 做 枚举型值转译用得方便,到 hive 上了 没有这么方便的函数,只能用 case when 或者 if 这种相对繁琐,代码行数偏大

为实现这个UDF,我们需要继承Hive相应类,实现3个函数

1. 第一个函数,初始化:这里做2个事情

1> 检查传入字段的合法性,我兆正这里函数使用时传入参数必须是大于等于4个的 偶数,参照 oracle decode

2> 我这里返回的是 字符串类型(如果你在这里有疑问:为什么返回字符串要这样做, 我在第二篇中努力讲清楚)

如果有些需要共享连接之类资源的场景,也可以在这里做,这个方法是 每生成一个 mapper对象 执行一次,也可以理解: MR 中 每个 parttion 才执行一次 ,我在实际工作中有一个 需要远端解密的场景就用到了

2. 第二个函数,是真正转换函数

3. 第三个函数,hive收集元数据信息的函数

2. 聚合函数 UDAF实现:


抱歉,我并没有合适的公开的 案例代码直接贴出来,后面有合适的

3. 表生成函数 UDTF 实现:

表生成函数有很多使用场景,我这直接上我的实例:我们在 实际数据仓库研发中,对缓慢变化维度 经常使用 拉链雹猜肢表 来实现;而在 hive 中是不支持 不等值条件写在 on 条件里 ,只能通过 where 子句实现,但 where 子句明显是过程中产生 笛卡尔积 的做法,

为规避这个情况 写了一个通用的 日粒度拉链表 爆炸展开的 函数, 我们在 与事实表连接时 将很方便地实现 等值连接,也方便 HIve 或者 Spark 的 执行计划 优化,避免全量的shulffe,等值join 会方便 按连接键分区

实现UDTF 需要继承 相应类,实现 3个函数

1. 第一个函数,初始化:所做事情参照 UDF

2. 第二个函数,循环生成记录并 通过 forward 函数输出

3. 第三个函数,关闭函数,按需使用

我这里什么都没做

注册UDF 函数

临时 UDF,当前会话

永久且全局 UDF

这样做之后,会在 hive 的元数据库中查到函数的信息,若遇到 跨 session 无法使用,可选择 在相应的 session 中做函数重载

全局 UDF 不仅可在 Hive 中使用,亦可在 spark sql 中使用 ,hive 的 hiveserver2 的其他 jdbc/odbc 连接中使用

[这篇文章完整代码在我的 github 上开源项目中,其中包含 类decode/日期转 星座 /IPv4与整数互转 以及适用 拉链表爆炸展开的表生成函数](https://github.com/Jiafan/hudf)

参考

为了进一步学习 和使用 UDF相关的功能,可以参考 官方文档 和 Clouder 文档

[Hive官方文档-UDF](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-Built-inOperators)

[Cloudera的关于Hive UDF 的文档](https://docs.cloudera.com/HDPDocuments/HDP3/HDP-3.0.0/using-hiveql/content/hive_create_udf.html)

下一篇

Hive UDF 第二篇:实现UDF为什么要实现这几个方法

[源代码仓库](https://github.com/Jiafan/hudf.git)

F. 谁知道appletv2 已越狱,安装电视直播源方法还有直播源码是北美中文电视台。

推荐安装一个沙发管家应用市场,应用的好的有泰捷视频,VST全聚合,HDP直播等等。

G. 电视盒子装什么软件才能看电视直播

安装对应的直播软件就可以看直播了。

一、电视猫视频

TV猫视频是国内首个针对智能电视和互联网机顶盒的电视视频服务品牌。目前,已为700多万户用户提供稳定的电视视频点播、直播、回放等服务。

独特的设计风格,没有平庸,没有平庸,提升您的电视体验。

二、小鹰直播

小鹰直播包括中央电视台,卫星电视,地方、海外等数个高清电视频道,提供高清、流畅,稳定的直播服务,支持自定义源码,P2P源码,为电视遥控器做了完美的适配,支持频道分类,快速频道切换,数字频道选择等功能。

三、VST全聚合

VSTaggregation在网络机顶盒领域拥有六年的电视直播/点播经验,不仅在技术上处于领先地位,还支持多种形式的P2P直播平台,已经形成了软解码和硬解码技术的领先结合。

VST操作人员24小时有人值班操作和维护,最大限度地解决了网络电视流畅性问题。此外还有600多个电视直播频道和10个非广告频道,更值得一提的是,网络还增加了直播功能,让精彩永存。

四、电视家

LiveTV是一个在Android大屏幕上观看直播电视的应用程序。拥有中央电视台、地方电视台,地方电视台最流畅、最高清的直播频道,可以通过自定义程序源自己添加程序。

五、小微直播

300+电视直播频道,7天国内卫星电视回访,电视在线收藏等,最重要的是清晰度很好,所有的直播软件清晰度都很好。

H. [Hive] - Beeline 偶发 Unable to read HiveServer2 uri from ZooKeeper 问题

用户有大量的并发 beeline hive sql 任务,偶发 Unable to read HiveServer2 uri from ZooKeeper 报错。
hive 版本:如汪hdp 1.2.1

修改 beeline connect url 增加 retries。
beeline url 修改前:

beeline url 修改后

通过阅读源码,hiveserver2 连接步骤大致如下:
1)获取连接 url,如果是 serviceDiscoveryMode=zooKeeper ,动态的方式获取真正的连接信息与配置
2)通过 ZK 获取 hiveserver2 所有节点,对应的路径为/hiveserver2/。路衫橡让径格式为: "/" + zooKeeperNamespace :这个 zooKeeperNamespace 就是连接串里面配置的 hiveserver2。
3)从 list 中随机取一个 Znode,获取 zk 中 Znode 的值
4)解析 url ,获取真正的 hiveserver2 的地址与端口等信或局息
5)创建连接,支持重试

问题在于:

一个小建议:遇到此类问题,直接看源码是最好的, 不要去网上瞎找。
Hive 3.x 的版本请注意这个 issue: https://issues.apache.org/jira/browse/HIVE-19825 ,也可能会导致随机的失败

热点内容
如何取消安卓手机程序隐私密码 发布:2025-05-09 21:48:03 浏览:47
c语言字符串数组连接 发布:2025-05-09 21:46:37 浏览:132
源码的移码 发布:2025-05-09 21:25:01 浏览:753
ie内核缓存 发布:2025-05-09 21:19:35 浏览:544
第五人格服务器错误是怎么解决 发布:2025-05-09 21:14:24 浏览:512
压缩系数z 发布:2025-05-09 21:01:51 浏览:652
双开助手缓存的文件在哪 发布:2025-05-09 21:01:41 浏览:525
酒仙脚本 发布:2025-05-09 21:00:40 浏览:905
牙髓存储 发布:2025-05-09 20:50:22 浏览:433
安卓如何看自己去过哪里 发布:2025-05-09 20:37:23 浏览:695