Trino 连接启用 Kerberos 认证的CDH
Kudu
1 | KERBEROS = |
kudu.authentication.server.principal.primary = kudu 这个没搞懂用途,用的默认值
1 | KERBEROS = |
kudu.authentication.server.principal.primary = kudu 这个没搞懂用途,用的默认值
Kerberos是一种通过传统的加密技术(共享密钥)实现的可信任的第三方认证机制。
kerberos协议中包含3种角色:
整个kerberos认证流程可以简化描述如下:
客户端在访问每个想要访问的网络服务时,他需要携带一个专门用于访问该服务并且能够证明自己身份的票据,当服务端收到了该票据他才能认定客户端身份正确,向客户端提供服务。所以整个认证流程可简化为两大步:
很多大数据组件的adminUI 并没有设计授权认证,可以通过nginx 做一个简单的用户名密码认证:
1 | yum install httpd-tools -y |
2 nginx 加上 auth_basic
信息
Trino 的WebUI 默认是 {domain/ip}:8080
Kudu 的WebUI 默认是 {domain/ip}:8051/8050
现在期望通过 {domain/ip}:80/trino、 {domain/ip}:80/kudu 来访问
在客户环境中并不能把这些端口都开放出来,那么就需要通过Nginx 配置 path 才能访问,直接设置 proxy_pass 并不能展现出来,kudu 的因为html中都是绝对路径,Trino中是由于cookie设置是固定的
也许可以通过 kudu或者trino本身的配置实现 path 访问,但是没找到,所以想了其他办法
https://kudu.apache.org/docs/command_line_tools_reference.html#table-drop_range_partition
注意事项
kudu table describe
查看表信息(包括分区信息):1 | # 查看表信息,包括列、分区信息 |
https://kudu.apache.org/docs/command_line_tools_reference.html#table-copy
注意事项:
write_type
参数有3种:存储引擎一般都支持分区分桶
分区的意义在于将数据分散到多个子目录中,在执行查询时,可以只选择查询某些子目录中的数据来加快查询效率。
分桶的意义实际和分区一样,只是并非所有的数据都可以形成合理的分区,而分桶可以弥补分区这个缺陷,将数据集分解为若干部分
分区可以做多级分区,分区的个数可以指定,也可以由程序自动生成, 分区是可以动态增长的
分桶的个数是一经决定,就不能更改,所以如果要改变桶数,要重新插入分桶数据
行为数据本质是时序数据,所以分割的关键要素第一肯定是 时间,第二个分割的关键要素就是 事件
通过跟踪从前端到后端的交互,通过trace数据,可以扩展现有的错误数据,跟踪软件的性能,测量吞吐量和延迟等指标,并显示跨多个系统的错误影响:
首先,请注意Trace不是什么:Trace不是分析。尽管概要分析和跟踪的目标有相当多的重叠,虽然它们都可用于诊断应用程序中的问题,但它们在测量的内容和记录数据的方式方面有所不同。
一个Profiler可以测量任何数目的应用程序的操作的各方面的:指令执行数,正在使用的各种处理的内存量,给定的时间的函数调用需要的量,等等。生成的配置文件是这些测量值的统计汇总。
一个tracer工具,在另一方面,侧重于什么事(何时),而不是发生了多少次发生或者花了多长时间。trace的结果是在程序执行期间发生的事件日志,这些事件往往跨越多个系统。就 Sentry 的跟踪而言,总是——包括时间戳,允许计算持续时间,但测量性能并不是它们的唯一目的。它们还可以显示互连系统交互的方式,以及一个系统中的问题可能导致另一个系统出现问题的方式。
(备注:除了测量性能外,还可以做故障的根因分析)
Update your browser to view this website correctly. Update my browser now