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
在线安装:
代码语言:javascript复制yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-redhat-repolatest.noarch.rpm
yum install postgresql96-contrib postgresql96-server -y
也可以使用如下命令将rpm下载的本地,建立离线的yum源
代码语言:javascript复制yum -y install --downloadonly --downloaddir=./postgresql96-server
createrepo .
下载包如下
将rpm包放到apache http服务下。
新建文件/etc/yum.repo.d/postgresql.repo,客户端配置内网yum源。
代码语言:javascript复制[pgrepo]
name=PostgreSQL
baseurl=http://192.168.0.132/postgresql/9.6/
enabled=true
gpgcheck=false
重新建立yum缓存,并安装PostgreSQL
代码语言:javascript复制yum clean all
yum makecache
yum install -y postgresql96-server
初始化数据库,设为开机启动,启动数据库服务。
代码语言:javascript复制sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
sudo systemctl enable postgresql-9.6
sudo systemctl start postgresql-9.6
3.配置PostgreSQL
修改/var/lib/pgsql/9.6/data/pg_hba.conf配置⽂件,添加以下内容,这⾥的das为之后创建的⽤户名。
代码语言:javascript复制local all das md5
host all das 0.0.0.0/0 md5
host all das ::/0 md5
local all postgres ident
修改/var/lib/pgsql/9.6/data/postgresql.conf配置⽂件,监听所有地址。
代码语言:javascript复制listen_addresses = '*'
重启服务
代码语言:javascript复制systemctl restart postgresql-9.6
创建⽤户das密码password,修改为超级用户,创建das数据库,赋予权限。并登陆。
代码语言:javascript复制su - postgres
psql -tc "SELECT 1 FROM pg_database WHERE datname = 'das'" | grep 1 || (
psql -c "CREATE ROLE das WITH LOGIN PASSWORD 'password';" &&
psql -c "ALTER ROLE das SUPERUSER;" &&
psql -c "ALTER ROLE das CREATEDB;" &&
psql -c "CREATE DATABASE das;" &&
psql -c "GRANT ALL PRIVILEGES ON DATABASE das TO das;")
psql -U das -d das -h cdp2.macro.com
4.安装Data Analytics Studio
在CM界⾯点击安装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
打开浏览器,在地址栏输入about:config,如图所示:
点击我了解此风险继续,在搜索栏内,搜索network.negotiate-auth.trusted-uris,双击将其值修改为集群节点ip或主机名,注意:这里如果修改为主机名的话,到时候访问的话,就以主机名访问,ip的话会失效,不起作用。
搜索network.auth.use-sspi,将值改为false。
然后服务DAS的WebUI地址。
5.2LDAP认证方式
通过Cloudera Manager将DAS服务的用户认证方式修改为“LDAP”
注:在LDAP认证下,DAS显示与LDAP用户名相同的作业,如果需要查看hive账号下的作业,需要新建一个用户名为hive的LDAP组和用户。
配置LDAP相关参数,具体配置如下:
配置以下选项
保存配置,重启组件。访问DAS的WEB UI,用OpenLDAP账号登录成功。
6.DAS功能介绍
DAS 可帮助您对 Hive 表执行操作并提供优化查询性能的建议。您可以使用 DAS 来:
•搜索查询:您可以搜索在Hive数据库中上执行的查询。您可以使用过滤器进一步细化搜索结果。DAS 提供优化 Hive 表查询性能的建议。您可以查看建议并编辑您的查询。
•编写和执行查询:您可以使用直观的查询编写器来编写查询。它具有基于上下文的自动完成功能,可帮助您更快地编辑查询。您还可以在执行查询后查看查询的可视化解释。您可以保存查询以供以后查看和编辑。您可以编辑现有的、保存的查询,然后将它们另存为新查询。当您尝试编辑查询时,您可以使用查询编写器轻松创建和执行查询。
•比较查询:您可以比较两个查询以了解每个查询在速度和成本效益方面的执行情况。DAS 比较这两个查询的各个方面,您可以根据这些方面确定这两个查询的执行之间发生了什么变化,您还可以调试同一查询的不同运行之间的性能相关问题。
•管理数据库:使用数据库浏览器,您(管理员用户)可以通过创建新表、编辑现有表和删除表来管理现有数据库。您还可以创建新数据库并向其中添加表。您可以通过编辑现有表来管理现有表以修改现有列或添加新列。您可以在 DAS 中创建新表或上传 CSV、JSON 和 XML 格式的现有表。您可以编辑表中的列,还可以查看分区建议并实施这些建议。
•查看报告:您可以查看哪些列和表用于联接并更改数据布局以优化具有不同搜索条件的查询性能。
这里按功能来测试,首先可以看到历史的hive作业运行情况,上面有可以筛选的时间区间,可以精确到5分钟内。
作业详情:从上到下可以看到作业的建议(Recommendations)、运行详情(Query Details)、运行计划(Visual Explain)、作业的配置(Configurations)、时间线(Timeline)和DAG详情(DAG INFO)
在Compose选项卡,可以编辑运行hive作业,并有keyword提示。左边可以运行查询,右边解释SQL变成运行计划
比较查询:比较两个查询以了解每个查询在速度和成本效益方面的执行情况。
先后运行
代码语言:javascript复制SELECT COUNT(1) FROM test.t1;
SELECT COUNT(*) FROM test.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切换登录用户后,需要在浏览器中清空缓存或者退出登录(推荐)才能生效。