1.文档编写目的
Data Analytics Studio (DAS)是一个能够提供诊断工具和智能化的建议,使得业务数据分析师能易于上手hive的应用程序并提高工作效率。本篇文章主要介绍如何为 CDP集群安装集成 DAS(Data Analytics Studio)。
测试环境
1.Cloudera Enterprise 7.3.1和Cloudera Runtime 7.1.6
2.RedHat 7.6
3.集群已启用 Kerberos
4.OpenLADP -2.4.44-20.el7.x86_64
5.PostgreSQL 9.6
2.安装数据库PostgreSQL
官方建议版本为PostgreSQL 9.6
在线安装:
yuminstallhttps://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-redhat-repolatest.noarch.rpmyuminstallpostgresql96-contribpostgresql96-server-y
也可以使用如下命令将rpm下载的本地,建立离线的yum源
yum-yinstall–downloadonly–downloaddir=./postgresql96-servercreaterepo.
下载包如下
将rpm包放到apache http服务下。
新建文件/etc/yum.repo.d/postgresql.repo,客户端配置内网yum源。
[pgrepo]name=PostgreSQLbaseurl=http://192.168.0.132/postgresql/9.6/enabled=truegpgcheck=false
重新建立yum缓存,并安装PostgreSQL
yumcleanallyummakecacheyuminstall-ypostgresql96-server
初始化数据库,设为开机启动,启动数据库服务。
sudo/usr/pgsql-9.6/bin/postgresql96-setupinitdbsudosystemctlenablepostgresql-9.6sudosystemctlstartpostgresql-9.6
3.配置PostgreSQL
修改/var/lib/pgsql/9.6/data/pg_hba.conf配置??件,添加以下内容,这??的das为之后创建的??户名。
localalldasmd5hostalldas0.0.0.0/0md5hostalldas::/0md5localallpostgresident
listen_addresses=’*’
重启服务
systemctlrestartpostgresql-9.6
创建??户das密码password,修改为超级用户,创建das数据库,赋予权限。并登陆。
su-postgrespsql-tc”SELECT1FROMpg_databaseWHEREdatname=’das'”|grep1||(psql-c”CREATEROLEdasWITHLOGINPASSWORD’password’;”&&psql-c”ALTERROLEdasSUPERUSER;”&&psql-c”ALTERROLEdasCREATEDB;”&&psql-c”CREATEDATABASEdas;”&&psql-c”GRANTALLPRIVILEGESONDATABASEdasTOdas;”)psql-Udas-ddas-hcdp2.macro.com
4.安装Data Analytics Studio
选择安装主机
输????户名密码并验证,验证成功。
审核更改
其他默认,下一步,等待安装成功。
5.访问DAS认证配置
DAS的WEB页面访问,支持多种认证方式,可以通过Cloudera Manager进行配置:
在DAS的安装过程中,认证类型默认为DEFAULT(即:在非安全的CDH集群对应的认证类型就是NONE,在安全的CDH集群认证类型就是SPNEGO),根据实际的情况可以通过修改认证类型来访问DAS WEB界面。
关于认证类型说明:
NONE:没有安全认证,直接跳过登录,默认只能查看hive用户的作业,不能切换用户。
SPNEGO:基于kerberos的认证方式,需要安装Kerberos客户端和配置浏览器才能访问,支持用户切换。
LDAP:基于LDAP的认证方式,可以切换登录用户来展示不同用户执行的SQL。
KNOX_SSO/KNOX_PROXY:基于Knox服务的统一Portal认证方式,支持用户切换。
5.1kerberos认证方式
在安全的CDH集群中可以通过Cloudera Manager将DAS服务的用户认证方式修改为“SPNEGO”或“DEFAULT”
因为选择的认证类型为SPNEGO,在访问DAS的WEB页面时需要通过Kerberos的方式进行认证,因此需要在访问客户端节点上安装Kerberos客户端以及修改浏览器配置使其支持Kerberos认证。
修改浏览器配置,使浏览器可以访问启用Kerberos认证的web界面
目前只实现如何配置火狐Firefox浏览器,在火狐浏览器上访问DAS的Web UI。
谷歌 mac-os-x参考:
https://superuser.com/questions/488095/google-chrome-on-mac-os-x-with-kerberos
搜索network.auth.use-sspi,将值改为false。
5.2LDAP认证方式
通过Cloudera Manager将DAS服务的用户认证方式修改为“LDAP”
注:在LDAP认证下,DAS显示与LDAP用户名相同的作业,如果需要查看hive账号下的作业,需要新建一个用户名为hive的LDAP组和用户。
配置LDAP相关参数,具体配置如下:
配置以下选项
保存配置,重启组件。访问DAS的WEB UI,用OpenLDAP账号登录成功。
6.DAS功能介绍
DAS 可帮助您对 Hive 表执行操作并提供优化查询性能的建议。您可以使用 DAS 来:
??比较查询:您可以比较两个查询以了解每个查询在速度和成本效益方面的执行情况。DAS 比较这两个查询的各个方面,您可以根据这些方面确定这两个查询的执行之间发生了什么变化,您还可以调试同一查询的不同运行之间的性能相关问题。
??查看报告:您可以查看哪些列和表用于联接并更改数据布局以优化具有不同搜索条件的查询性能。
这里按功能来测试,首先可以看到历史的hive作业运行情况,上面有可以筛选的时间区间,可以精确到5分钟内。
作业详情:从上到下可以看到作业的建议(Recommendations)、运行详情(Query Details)、运行计划(Visual Explain)、作业的配置(Configurations)、时间线(Timeline)和DAG详情(DAG INFO)
比较查询:比较两个查询以了解每个查询在速度和成本效益方面的执行情况。
先后运行
SELECTCOUNT(1)FROMtest.t1;SELECTCOUNT(*)FROMtest.t1;
这里就可以看到各项的逐一对比
管理数据库:点开Database选项卡,可以看到详细的数据仓库、数据表、字段信息、分区表信息、表存储信息、统计信息和数据预览。
7.异常处理
PostgreSQL启动失败
看日志/var/lib/pgsql/9.6/data/pg_log/postgresql-Wed.log
发现是权限不足。
是因为我复制cp了一份配置备用,然后原来的配置改错后删掉了,恢复配置时没发现复制出来的那一份配置权限是root的。chown回来就行。
8.总结
1.DAS目前只支持数据库PostgreSQL,建议版本是PostgreSQL 9.6,高版本也可安装成功。
2.DAS的认证类型分为无认证(NONE),Kerberos(SPNEGO),LDAP,Knox。不同的认证方式需要设置不同的参数来启用。不同账号只能看到自己的SQL作业。
3.集群切换不同认证方式或者Kerberos切换登录用户后,需要在浏览器中清空缓存或者退出登录(推荐)才能生效。