大数据Ambari+HDP最优架构选型-罗友谋-右划科技

主要内容: HDP数据架构总览图 FreelAP体系原理及常用命令 Ranger简介及授权原理包括新版本新特性等 HDP3.0Hive新特性 Spark简单介绍动态资源分配 Flume相关 Azkaban调度系统的使用简介 大数据监控先关 大数据踩坑日记
展开查看详情

1. V8实拍 ⼤大数据 Ambari + HDP 最优架构选型 罗友谋

2. V8实拍 ⽬目录 01. HDP 数据架构总览图 06. Flume相关 02. FreeIAP 体系原理理及常⽤用命令 07. Azkaban 调度系统的使⽤用简介 03. Ranger 简介及授权原理理包括新版本新特性等 08. ⼤大数据监控相关 04. HDP 3.0 Hive新特性 09. ⼤大数据踩坑⽇日记 05. Spark 简单介绍动态资源分配

3. MySQL集群存放元数据有 V8实拍 1. Hive 4. Ranger 两台Free IPA互主 2. Ambari 5. Azkaban 3. Hue FreeIPA 01 Keepalived DirectoryService, KDC Service, Named Service, http Service, Master两台 Ntpd Service MySQL主 Master 01 Master 01 VIP NN,RM,HMaster,HiverServer, NN,RM,HMaster,HiverServer, HiveMetastore,Zkfc,Zk,JN HiveMetastore,Zkfc,Zk,JN RangerAdmin RangerAdmin FreeIPA 02 MySQL从 DirectoryService, KDC Service, Named Service, http Service, Ntpd Service Keepalived, MHA Work节点 N台(N>=3) Client节点N台(N>=3) Client01 HregionServer, AzkabanExec:/work_path DN,NM,Zk,JN Ambari Server Hdfs,Hive,Spark,Yarn, Hbase,Sqoop AmbariAgent MySQL从 HregionServer, DN,NM, Client02 AmbariMetrics Keepalived AzkabanExec:/work_path AmbariServer AzkabanWeb AzkabanWebUrl HregionServer, Hdfs,Hive,Spark,Yarn, DN,NM, Hbase,Sqoop Client03 … HueServer HueWebUrl KylinServer HregionServer, Hdfs,Hive,Spark,Yarn, DN,NM, Hbase,Sqoop … 备注:Master,Work,Client各节点均由Ambari统⼀一管理理

4. V8实拍 FreeIPA For Ambari安装成功后效果图

5. V8实拍 ipa 常⽤用命令 1. ipactl status 查看各服务组件的状态; 2. ipa-replica-manage list 查看集群所有复制节点; 3. ipa --version 查看当前 ipa 版本

6. V8实拍 High-Level Diagram Client Identities Server(IPA) Local IPA Enabled IPA Related Data Platform Policies Components Storage (Cache) Applications Audit

7. V8实拍 FreeIPA⽤用户信息⻚页

8. V8实拍 FreeIPA主机信息⻚页 Ambari管理理的所有节点均需安装FreeIPA Client,安装后将能在该⻚页看到相应主机的信息

9. V8实拍 FreeIPA服务信息⻚页 Ambari管理理的集群在Enable Kerberos过程中,各相关组件将⾃自动创建相关服务票据信息

10. V8实拍 FreeIPA⽤用户组信息⻚页

11. ⽤用户组 ⼦子⽤用户组 V8实拍 Ambari ambari——admin ambari——oporator Sync-ldap Ambari Metadata ambari——read Ranger rec bigdata sync_ldap Ranger Metadata FreeIPA集群 data analyze ⽤用户信息中⼼心 hue_product Hue hue_bi sync Hue Web登陆认证 hue_hr Azkaban azkaban_rec azkaban_bigdata sync Azkaban Web 认证 azkaban_product 备注:所有⽤用户只需在FreeIPA创建⼀一次,需要什什么权限就将其分配到相应组(甚⾄至⼦子组),并定期同步到其相应组件, 省去⼀一个⽤用户需不同组件均需创建⽤用户名并授权的麻烦。其中ambari有ambari-server -sync-ldap命令;Ranger有 Ranger Usersync进程;Azkaban和Hue是直接在配置⽂文件中配置,直接读取FreeIPA服务器的 ldap信息来认证;

12. V8实拍 FreeIPA ⽤用户同步到Ambari后,Web效果图

13. V8实拍 Knox SSO with LDAP安装后登陆界⾯面效果图

14. V8实拍 FreeIPA 创建的 “ranger”⽤用户组 ⽤用户同步到 Ranger 后,Ranger⽤用户信息⻚页⾯面效果图

15. V8实拍 Ranger权限控制,常⽤用于以下组件 DB、Table、Table Row Hbase Name Space Ranger Hdfs File System Kafka Topic Yarn Queues 备注: Kafka权限的控制前提是集群必须启⽤用,且经测试,⽬目前对于topic的增加,删除相关权限控制 还有bug

16. V8实拍 Resource access Request Find policies for the accessed resource Has more policies No Has more policies No with Deny Conditions? with Allow Conditions? Yes Yes Request No Request matches a No deny condition in the matches an allow policy? condition in the policy? Yes Yes Yes Request matches an Yes Request matches a allow exclude? deny exclude? No No Deny Allow Deny/Pass-THROUGH Apache Ranger Policy Evaluation Flow

17. V8实拍 Hive 3.0新特性⼀一: 不再⽀支持Mr,取⽽而⽤用Tez 查询引擎,且⽀支持两种查询模式:Container 和 LLAP

18. V8实拍 Hive 3.0新特性⼆二: Hive CLI不再⽀支持(被beeline取代)

19. V8实拍 Hive 3.0新特性三: SQL Standard Authorization 不再⽀支持,且默认建的表就已经是ACID表。

20. V8实拍 HDP 3.0 Batch Workload Process Interactive Workload Process Client Client JDBC/ODBS JDBC/ODBS HiveServer HiveServer Hive Metastore Tez LLAP Hive 3.0新特性四: ⽀支持 “批查询” (TEZ) 或者 “交互式查询”(LLAP)。

21. V8实拍 Hive 3.0其他特性: 1、物化视图重写; 2、⾃自动查询缓存; 3、会话资源限制:⽤用户会话数,服务器会话数,每个服务器每个⽤用户会话数等限制;

22. V8实拍 Spark 2.0 新特性之⼀一:动态资源分配

23. V8实拍 Log A Log B Nginx A01 Nginx A02 Nginx A03 … Nginx B01 … Nginx BNN Flume Flume failover failover 优先级 10、5、1 5、1、10 1、10、5 1 2 3 2 1 3 1 3 2 类似 Log A POT52011 POT52011 POT52011 Kafka01 Kafka02 Kafka03 Kafka集群 Flume Flume Flume Kafka01 Kafka02 Kafka03 Nginx ⽇日志实时⽤用 flume 接到 Kafka

24. V8实拍 Hadoop集群(各节点均有rec,bigdata⽤用户) Client01 Client02 azkaban⽤用户 azkaban⽤用户 UserA AzkabanWeb AzkabanExec AzkabanExec AzabanWeb UserB URL UserC rec⽤用户 rec⽤用户 Rec组开发⼈人员 Rsync同步 AppSubmit /rec/workdir/ /rec/workdir/ AppSubmit bigdata⽤用户 bigdata⽤用户 Rsync同步 Bigdata组开发⼈人员 MySQL /bigdata/workdir /bigdata/workdir AppSubmit Azkaban 调度系统框架图

25. V8实拍 Azkaban调度系统样例例图 说明:1. Parameter 是传参任务,由于Azkaban不⽀支持递归传参,所以后续所有需要传参的job均依赖于它; 2. 所有任务习惯以 finish 结尾,因为最后⼀一个任务如果变更更,将可能导致你原有的 schedule 不执⾏行行;

26. V8实拍 ⼤大数据监控之⼀一 Ambari进程崩溃⾃自动重启

27. V8实拍 ⼤大数据监控之⼆二 Ambari 组件异常邮件报警

28. V8实拍 ⼤大数据监控之三 ⾃自定义监控 1. 利利⽤用Ambari元数据中的“组件信息”表监控; 2. Yarn任务执⾏行行时⻓长与资源占⽤用情况监控; 3. ⼀一些重要的Master进程监控(如:NN,DN;RM,NM;HMaster,HRegion; HiveMetastore, Hive Server2, Hive Server2 Interactive etc) 4. Azkaban失败任务及任务执⾏行行时⻓长异常监控; 5. Azkaban相关进程异常尝试重启并报警; 6. Flume相关进程异常尝试重启并报警; 7. Kafka服务异常报警; 报警⽅方式⼀一般采⽤用钉钉或者微信的“神兽”。

29. V8实拍 ⼤大数据之踩坑⼩小记 集群在没有开启 Kerberos 安全认证之前⼀一切正常,能跑各类任务; 现象 开启 Kerberos 后,Yarn 提交的任务⼀一直处于 Apps Pending状态。 纠结⼀一个星期后,经排查/var/log/messages⽂文件,终于查明:是操作系统 内核Bug导致,升级操作系统内核后,问题完美解决。 ⽣生产环境切记不要盲⽬目升级(包括操作系统内核的升级 和 Ambari HDP 的 教训 升级),⾄至少要在同样环境同样版本的测试环境测试无异常后⽅方可考虑线上 环境升级。