Ranger

架构

Ranager的核心是Web应用程序,也称为RangerAdmin模块,此模块由管理策略,审计日志和报告等三部分组成。

管理员角色的用户可以通过RangerAdmin提供的web界面或REST APIS来定制安全策略。这些策略会由Ranger提供的轻量级的针对不同Hadoop体系中组件的插件来执行。插件会在Hadoop的不同组件的核心进程启动后,启动对应的插件进程来进行安全管理!

Ranger对Hive进行权限管理

https://www.jianshu.com/p/d9941b8687b7

Hadoop in Secure Mode

https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SecureMode.html#:~:text=When%20Hadoop%20is%20configured%20to,or%20%2Fetc%2Fhosts%20files.

This document describes how to configure authentication for Hadoop in secure mode.

By default Hadoop runs in non-secure mode in which no actual authentication is required.By configuring Hadoop runs in secure mode, each user and service needs to be authenticated by Kerberos in order to use Hadoop services.

hadoop SafeMode

https://blog.csdn.net/bingduanlbd/article/details/51900512

https://developer.aliyun.com/article/566059#

https://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html#Safemode

During start up the NameNode loads the file system state from the fsimage and the edits log file. It then waits for DataNodes to report their blocks so that it does not prematurely start replicating the blocks though enough replicas already exist in the cluster. During this time NameNode stays in Safemode. Safemode for the NameNode is essentially a read-only mode for the HDFS cluster, where it does not allow any modifications to file system or blocks. Normally the NameNode leaves Safemode automatically after the DataNodes have reported that most file system blocks are available. If required, HDFS could be placed in Safemode explicitly using bin/hadoop dfsadmin -safemode command. NameNode front page shows whether Safemode is on or off. A more detailed description and configuration is maintained as JavaDoc for setSafeMode().

安全模式是HDFS所处的一种特殊状态,在这种状态下,文件系统只接受读数据请求,而不接受删除、修改等变更请求。在NameNode主节点启动时,HDFS首先进入安全模式,DataNode在启动的时候会向namenode汇报可用的block等状态,当整个系统达到安全标准时,HDFS自动离开安全模式。如果HDFS出于安全模式下,则文件block不能进行任何的副本复制操作,因此达到最小的副本数量要求是基于datanode启动时的状态来判定的,启动时不会再做任何复制(从而达到最小副本数量要求)

Kerberos

1.定义

Kerberos是一种计算机网络认证协议,用来在非安全网络中,对个人通信以安全的手段进行身份认证。这个词又指麻省理工学院为这个协议开发的一套计算机软件。软件设计上采用客户端/服务器结构,并且能够进行相互认证,即客户端和服务器端均可对对方进行身份认证。可以用于防止窃听、防止重放攻击、保护数据完整性等场合,是一种应用对称密钥体制进行密钥管理的系统。

1)KDC(Key Distribute Center):密钥分发中心,负责存储用户信息,管理发放票据。

2)Realm:Kerberos所管理的一个领域或范围。

3)Rrincipal:可以理解为Kerberos中保存的一个账号,其格式通常如下:primary/instance@realm

4)keytab:密钥文件。

有个疑问 ,对谁认证?是对不同用户吗(root,user1,user2)?

2.认证原理

https://cloud.tencent.com/developer/article/1496451

https://blog.csdn.net/jewes/article/details/20792021

3.基本操作

https://blog.csdn.net/Happy_Sunshine_Boy/article/details/102801386

1 创建管理员用户

2 注册

3 认证

4.HADOOP

配置

https://www.cnblogs.com/yjt1993/p/11769515.html

https://makeling.github.io/bigdata/39395030.html

访问HDFS集群文件

  1. Shell命令

    kinit admin/admin

    klist

  2. web页面

    1.安装Kerberos客户端

    2.配置火狐浏览器

    3.认证

5.HIVE

配置

https://zhuanlan.zhihu.com/p/137424234

客服端访问

  1. beeline

    0.首先需使用hive用户启动hiveserver2

    [root@hadoop102 ~]# sudo -i -u hive hiveserver2

    1.认证,执行以下命令,并按照提示输入密码

    [atguigu@hadoop102 ~]$ kinit atguigu

    2.使用beeline客户端连接hiveserver2

    [atguigu@hadoop102 ~]$ beeline

    3.使用如下url进行连接

    1
    !connect jdbc:hive2://hadoop102:10000/;principal=hive/hadoop102@EXAMPLE.COM
  2. DataGrip客户端

    https://blog.csdn.net/github_39319229/article/details/112692897

    经常连接不稳定,连接失败可以尝试重启DataGrip

6.数仓

此处统一将数仓的全部数据资源的所有者设为hive用户,全流程的每步操作均认证为hive用户。

7.即席查询

8.spark

https://www.cnblogs.com/bainianminguo/p/12639887.html

9 hbase

1 hbase shell kerberos认证错误

1
root:kinit atguigu

参考

https://blog.csdn.net/jewes/article/details/20792021

Zabbix

概述

Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。

基础架构

HBase

0 简介

Apache HBase is the Hadoop database, a distributed, scalable, big data store. HBase is a type of “NoSQL” database.

HBase是一种构建在HDFS之上的分布式、面向列的存储系统。

Hadoop已经有了HDFS和MapReduce,为什么需要HBase

1 Hadoop可以很好地解决大规模数据的离线批量处理问题,但是,受限于HadoopMapReduce编程框架的高延迟数据处理机制,使得Hadoop无法满足大规模数据实时处理应用的需求。

2 传统的通用关系型数据库无法应对在数据规模剧增时导致的系统扩展性和性能问题(分库分表也不能很好解决)。传统关系数据库在数据结构变化时一般需要停机维护;空列浪费存储空间。

HBase与传统的关系数据库的区别

1、数据类型:关系数据库采用关系模型,具有丰富的数据类型和存储方式,HBase则采用了更加简单的数据模型,它把数据存储为未经解释的字符串。

2、数据操作:关系数据库中包含了丰富的操作,其中会涉及复杂的多表连接。HBase操作则不存在复杂的表与表之间的关系,只有简单的插入、查询、删除、清空等,因为HBase在设计上就避免了复杂的表和表之间的关系。

3、存储模式:关系数据库是基于行模式存储的。HBase是基于列存储的,每个列族都由几个文件保存,不同列族的文件是分离的。

4、数据索引:关系数据库通常可以针对不同列构建复杂的多个索引,以提高数据访问性能。HBase只有一个索引——行键,通过巧妙的设计,HBase中的所有访问方法,或者通过行键访问,或者通过行键扫描,从而使得整个系统不会慢下来。

5、数据维护:在关系数据库中,更新操作会用最新的当前值去替换记录中原来的旧值,旧值被覆盖后就不会存在。而在HBase中执行更新操作时,并不会删除数据旧的版本,而是生成一个新的版本,旧有的版本仍然保留。

6、可伸缩性:关系数据库很难实现横向扩展,纵向扩展的空间也比较有限。相反,HBase和BigTable这些分布式数据库就是为了实现灵活的水平扩展而开发的,能够轻易地通过在集群中增加或者减少硬件数量来实现性能的伸缩。

1 配置

https://www.cnblogs.com/frankdeng/p/9310191.html

启动成功jps后可以看到hmaster ,hregionservice

2 hbase shell

不支持sql,对表操作需要使用hbase shell命令或者hbase api

3 Phoenix

在hbase上构建SQL层,使得hbase 能够使用标准SQL管理数据,Phoenix中的sql语句还是有些不同的

4 问题

1 org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet

https://cloud.tencent.com/developer/article/1812290

2 stop-hbase.sh关闭不了,一直处于等待状态

https://blog.csdn.net/weixin_45462732/article/details/106909501

3 hregionservice启动就挂了

看日志

参考

https://www.cnblogs.com/wendyw/p/12691971.html#_label3

https://juejin.cn/post/6844903777347043336

https://www.jianshu.com/p/53864dc3f7b4

https://www.cnblogs.com/frankdeng/p/9310191.html

https://blog.csdn.net/weixin_45462732/article/details/106909501

中文文档 http://hbase.org.cn/docs/166.html#regionserver.arch

Kylin

架构

Apache Kylin是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。

1)REST Server

REST Server是一套面向应用程序开发的入口点,旨在实现针对Kylin平台的应用开发工作。 此类应用程序可以提供查询、获取结果、触发cube构建任务、获取元数据以及获取用户权限等等。另外可以通过Restful接口实现SQL查询。

2)查询引擎(Query Engine)

当cube准备就绪后,查询引擎就能够获取并解析用户查询。它随后会与系统中的其它组件进行交互,从而向用户返回对应的结果。

3)路由器(Routing)

在最初设计时曾考虑过将Kylin不能执行的查询引导去Hive中继续执行,但在实践后发现Hive与Kylin的速度差异过大,导致用户无法对查询的速度有一致的期望,很可能大多数查询几秒内就返回结果了,而有些查询则要等几分钟到几十分钟,因此体验非常糟糕。最后这个路由功能在发行版中默认关闭。

4)元数据管理工具(Metadata)

Kylin是一款元数据驱动型应用程序。元数据管理工具是一大关键性组件,用于对保存在Kylin当中的所有元数据进行管理,其中包括最为重要的cube元数据。其它全部组件的正常运作都需以元数据管理工具为基础。 Kylin的元数据存储在hbase中。

5)任务引擎(Cube Build Engine)

这套引擎的设计目的在于处理所有离线任务,其中包括shell脚本、Java API以及Map Reduce任务等等。任务引擎对Kylin当中的全部任务加以管理与协调,从而确保每一项任务都能得到切实执行并解决其间出现的故障。

Kylin Cube构建原理,构建优化

https://jishuin.proginn.com/p/763bfbd2bb9c

BI工具集成

可以与Kylin结合使用的可视化工具很多,例如:

ODBC:与Tableau、Excel、PowerBI等工具集成

JDBC:与Saiku、BIRT等Java工具集成

RestAPI:与JavaScript、Web网页集成

Kylin开发团队还贡献了Zepplin的插件,也可以使用Zepplin来访问Kylin服务。

superset

作用

Apache Superset是一个开源的、现代的、轻量级BI(Business Intelligence)分析工具,能够对接多种数据源、拥有丰富的图表展示形式、支持自定义仪表盘,且拥有友好的用户界面,十分易用。

由于Superset能够对接常用的大数据分析工具,如Hive、Kylin、Druid等,且支持自定义仪表盘,故可作为数仓的可视化工具。


:D 一言句子获取中...