皮皮网

皮皮网

【视频剪切 源码】【ejavashop 源码】【quagga源码】cdh 源码下载

时间:2024-12-26 00:25:18 分类:娱乐

1.0006-Zookeeper指标分析
2.Flink系列十九Flink 作业Hadoop 依赖冲突解决NoSuchMethodError
3.从零开始OGG实时同步数据至缓存数据库Redis详解
4.Apache Ranger整合Hadoop、码下Hive、码下Spark实现权限管理

cdh 源码下载

0006-Zookeeper指标分析

       通过CDH管理平台访问Zookeeper管理界面,码下发现Zookeeper的码下平均请求延迟、最小请求延迟、码下最大请求延迟指标趋势图不变,码下视频剪切 源码指标数据异常。码下

       在复现问题时,码下注意到平均请求延迟、码下最小请求延迟、码下最大请求延迟这三个指标未发生变化,码下且指标数据出现异常。码下

       分析问题源码后发现,码下指标数据来源于Zookeeper自身的码下ServerStats模块。此模块通过updateLatency方法来更新maxLatency和minLatency指标。码下

       在深入研究代码后,我们了解到maxLatency和minLatency指标记录了Zookeeper服务器启动后所有请求的最大延迟和最小延迟。在特定情况下,Zookeeper服务器1通过一次请求更新了maxLatency指标为ms后,后续所有请求均未超过此值,导致CDH平台获取的maxLatency指标始终为ms,造成最大请求延迟指标维持不变的异常。

       同样,当Zookeeper服务器1在通过一次请求后更新了minLatency指标为0ms,且后续所有请求均未小于此值,使得CDH平台获取的minLatency指标始终为0ms,从而出现最小请求延迟指标为0ms并维持不变的异常。

       对于avgLatency指标,其通过累计所有请求的延迟时间(totalLatency)和累计请求次数(count),再通过totalLatency/count计算得出。如果多次请求的延迟均为0ms,那么avgLatency指标将保持为0ms。

       解决此问题的关键在于确保Zookeeper服务器在处理请求时,能正常更新并反馈请求延迟指标,避免出现数据异常的ejavashop 源码情况。同时,为确保数据的准确性和可靠性,建议定期检查和维护Zookeeper服务器,以确保其正常运行并准确提供指标数据。

       关注微信公众号“Hadoop实操”,获取更多Hadoop技术干货。欢迎分享和转发。

       本文原创,如需转载,请注明转载自微信公众号“Hadoop实操”。

Flink系列十九Flink 作业Hadoop 依赖冲突解决NoSuchMethodError

       Flink提交作业时,可能会遇到NoSuchMethodError的异常,这通常与Hadoop依赖冲突有关。查看源码后发现,错误源于2.6.0-cdh5..1版本的FsTracer通过hadoop-common加载了TraceUtils,但实际加载的是2.7.x版本的TraceUtils。因此,问题出在版本兼容性上。有以下两种解决方案:

       第一类解决方案是手动从jar包中排除冲突依赖。这需要识别冲突的库,并在Flink构建过程中排除它们,确保加载的库版本与期望一致。

       第二类解决方案是通过打包工具精确排除字节码。这可以更细致地控制类加载过程,避免不兼容版本的类被加载。

       深入理解这一问题,有助于我们意识到在使用Flink与外部系统集成时,版本兼容性是一个不容忽视的挑战。为避免此类问题,需要仔细管理依赖库的版本,确保它们之间无冲突。

       解决此类问题的最新方法(适用于所有Flink版本)在上一篇文章中已有详细描述,参见Flink系列十八HDFS_DELEGATION_TOKEN过期的问题解决汇总。

从零开始OGG实时同步数据至缓存数据库Redis详解

       在数据处理的quagga源码快速化需求领域中,实时数据处理和实时查询已经成为了企业和组织获取即时洞察力的重要途径。内存数据库,作为一种高性能的数据存储和查询工具,其在实时数据场景下的应用日益广泛。然而,将大规模生成的数据实时同步至内存数据库仍是具有挑战性的任务。本文将带您深入了解Redis和GoldenGate for BigData的概念、部署方法,并详细介绍如何借助GoldenGate实现高效的数据实时同步到Redis的过程实践。

       Redis是基于键值对的缓存与存储系统,通过提供多种键值数据类型来适应不同场景下的缓存与存储需求。它不仅仅是一个简单的缓存工具,同时也能够胜任消息队列、任务队列以及主数据库等不同的角色。Redis的核心特性使其在实时数据处理和查询方面表现出色。

       GoldenGate for BigData是Oracle推出的产品,它作为可插入功能运行到Oracle GoldenGate Java交付框架中。此产品支持主流的大数据平台,包括Apache Hadoop、Cloudera Hadoop (CDH) 等,并支持主要的应用程序如HDFS、Hive、HBase、Kafka等。GoldenGate for BigData软件通过Redis Handler支持将更改数据捕获复制到Redis,并以三种不同的数据结构存储这些数据:Hash Map、Streams和JSON。

       在GoldenGate for BigData中,散列映射(Hash Map)是最常见的用户用例,其中Key是被推送到Redis的表和数据行的唯一标识符,存储在每个键位置的数据结构是一个散列映射,其中键是列名,值是列值。OGG trail文件将包含插入、popen源码更新以及删除操作,这些操作可以将数据推送到Redis。Redis Handler将处理这些操作,将数据作为Java字符串推送到Redis哈希映射中,或者通过设置配置属性来保留原始字节值。

       Redis流(Streams)类似于Kafka主题,其中Redis键是流名,流的值是推送到Redis流的单个消息,每个消息通过时间戳和消息推送时的偏移量来标识。每个单独消息的值是一个散列映射,其中键是列名,值是列值。每个操作及其相关数据都会传播到Redis Streams,显示为新消息。

       JSONs(JSONs)中,键是被推送到Redis的表和数据行的唯一标识符,值为JSON对象,其中键是列名,值是列值。通过OGG trail文件文件将包含插入、更新和删除操作,这些操作可以将数据推送到Redis。Redis Handler将处理这些操作,将数据作为JSON对象存储在Redis中。

       接下来,我们通过安装部署环境来实现通过OGG将其他类型数据库的数据以Hash Map格式同步到Redis数据库中。首先,进行Redis的安装和部署。在Linux环境中,选择源码编译安装Redis-6.2,由于依赖包要求较低,整个安装过程较为简单。然后,下载并安装GoldenGate for BigData c。jabber 源码在安装Java之前,需要配置操作系统镜像ISO配置zypper本地源,以在局域网内在线安装Java。之后,安装OGG .8和Jedis客户端。

       在启动数据同步时,需确保Redis配置正确,并且用户具有相应的权限以执行相应的Redis命令。创建索引时可能会遇到权限相关报错。总结来说,通过Oracle GoldenGate for BigData和Redis的结合使用,我们可以实现大规模生成的数据的实时同步至内存数据库。Redis作为高性能的内存数据库,为实时数据处理提供了强大的支持;而GoldenGate for BigData作为关键工具,实现了异构数据库之间的实时数据同步。结合这两个先进技术工具,无论是实时查询、实时报表还是实时分析等场景,Redis的优势都将得到充分发挥。

Apache Ranger整合Hadoop、Hive、Spark实现权限管理

       在先前的文章《说说PB级生产上重要的Spark 3.x性能优化方向》中,提到了业务人员在处理数据时可能因误操作而造成数据损坏的问题。在许多场景中,数仓需要直接开放给业务分析人员使用,他们经常执行SQL进行场景分析和验证。为此,可以提供一个WebUI供他们使用,如Hue。然而,由于数仓数据庞大,不可能全部开放给业务人员,因此对外供数时必须提供权限控制。

       权限控制方面,CDH上提供的Sentry是一个不错的选择,它基于RBAC进行授权,可以针对库、表等设置不同用户权限。CM的加入使得Sentry的配置变得简单,但Sentry在用户管理方面较为繁琐,且项目已进入Apache Attic,因此选择Sentry并非明智之举。

       实际上,许多公司的生产环境都是外网隔离的,特别是涉及敏感数据的小猴公司。开发、运维人员进入生产环境需要经过严格的校验,接入公司的生产专用网络,并通过堡垒机,任何人都无法导出数据,且每个操作都有审计跟踪。尽管如此,业务人员仍需开放访问,尽管他们通过专门的跳板机访问,但依然存在风险。

       Apache Ranger只要有大数据集群的地方就都需要。本文解决了Ranger不支持Spark SQL的问题,实现了库、表、行、列级别的细粒度权限控制。由于官方文档和百度文档有限,本文将分享相关信息,希望能帮助到大家。

       Apache Ranger是一个用于Hadoop平台上的权限框架,旨在服务于整个大数据生态圈。随着Hadoop在数据湖领域方案的成熟,对数据权限控制的要求也日益提高。Ranger现在提供了更多对大数据生态组件的支持。

       Hadoop中的数据访问多样化,如存储在HDFS的数据可以被Hive、Spark或Presto访问。这么多组件访问数据,若不进行集中权限控制,数据安全性将面临严重问题。因此,大数据平台通常需要一个集中管理权限的组件或框架,Ranger正是这样的组件。

       当前Ranger版本为2.1,官方提供的版本为2.1。编译测试基于Ranger 2.1版本。官方未提供安装包,需要手动下载Ranger源码包进行编译。编译环境要求提前安装,具体可参考官方网站。

       编译成功后,将tar.gz包拷贝到本地。部署Ranger Admin的安装方式与Ranger类似:安装Ranger admin、创建ranger用户并设置密码、上传解压安装包、拷贝MySQL JDBC库、在MySQL中创建ranger库和用户、初始化配置、初始化Ranger admin。若显示成功,则表示初始化成功。在MySQL中可以看到ranger数据库中已创建大量表。

       配置Ranger设置数据库密码、配置环境变量、启动Ranger admin访问web UI。登录后,主界面显示如下。点击右上角的“Swith to latest UI”可以切换到最新的UI展示。若安装过程中出现问题,请检查日志。

       安装Ranger usersync配置admin认证模式。Ranger中admin的认证方式有三种:Unix、Active Directory、Kerberos。此处使用Unix方式进行认证,意味着后续Ranger admin登录会按照Linux中的认证同步。上传解压Ranger usersync组件、修改初始化配置、初始化配置、配置Linux系统用户组同步配置环境变量、启动usersync服务、修改Ranger admin的认证方式、重新启动Ranger admin。在ranger-admin中可以看到所有Linux中的所有用户。

       安装Ranger HDFS插件。注意,HDFS插件需要安装在NameNode对应的节点中,YARN插件需要安装在ResourceManager对应的节点上。解压HDFS插件、初始化配置、启用hdfs插件。Ranger HDFS插件会将当前的配置文件保存备份。可以查看ranger对这些配置文件的更改。

       在PM中添加HDFS服务、配置HDFS服务权限策略、默认策略、策略配置、测试用户访问权限、在ranger中添加组合用户、基于角色授权、测试。我们发现,只要Ranger中的权限已更新,hdfs客户端就可以实现更新。

       按照之前的配置,审计日志信息保存在指定目录。找到一条审计日志,查看其中的内容。审计日志中包含操作时间、路径、资源类型、对应Ranger中的策略等信息。一旦出现安全类问题,通过审计日志可以检查到进行了哪些操作。

       部署Ranger HDFS HA。在HDFS的HA集群上,NameNode可能会发生failover,因此非常有必要在每个HDFS的NameNode上部署一个HDFS插件,以确保在HA切换时能够正常控制权限。部署hdfs plugin到每个NameNode节点、初始化NameNode、测试NameNode节点权限。测试lisi用户在/tmp目录的写入权限,发现当前lisi没有写入权限。在Ranger中启用sales角色的用户具备/tmp目录可写权限。重新执行写入操作,NameNode接入Ranger权限控制成功。

       部署Ranger框架整合Hive、上传解压Hive插件、初始化配置、启动Hive插件。Ranger会对Hive的配置文件进行处理,生成hiveserver2-site.xml、ranger-hive-audit.xml、ranger-hive-security.xml等文件。重新启动Hive、beeline登录到hive、在PM中添加Hive服务、添加Hive Service、查看权限策略、查看默认hive导入的权限、使用hive查看数据、给hadoop组用户授权、检查spark用户操作权限、授权hadoop组、对某个库、表、列设置细粒度权限、测试数据打码处理、测试Ranger Admin crash对Hive的影响、部署Ranger Spark SQL、编译Apache submarine spark-security模块、配置、配置Spark SQL、测试Thrift Server、测试Spark SQL SHELL、到此Ranger整合Spark SQL完成、查看spark sql审计日志、报错信息处理、找不到AllocationFileLoaderService$Listener、异常信息、解决办法、参考文献。