本文介绍如何在离线环境下配置Tableau Server与数据库的连接,具体环境参见下面的图片;本文由河南中原消费金融有限公司“要工程师”贡献。“要”姓稀有,此文珍贵,后来者珍惜。
——喜乐君
前言
- 使用tableau-desktop连接cloudera-impala,请参阅如下官方链接:https://onlinehelp.tableau.com/current/pro/desktop/zh-cn/examples_hadoop.htm
1. Linux 服务器端
- 客户环境:Redhat 7.4,Hadoop impala
服务器端需要做以下几步:软件安装、端口配置、驱动安装
1.1 软件安装
1.1.1 软件下载与上传
- tableau 软件的服务端下载地址链接: Tableau Server 2019.1.2
- 使用winscp或rz命令将下载完成的rpm包上传至Linux服务端
1.1.2 挂载Linux-iso本地源(离线生产环境需要做这一步)
- 将Linux系统安装包的iso镜像挂载至服务器的yum源
1.1.3 安装 tableau 软件的 rpm包
- 使用rpm -ivh XXXX.rpm命令安装,如果报错缺包,就用yum -y install XXXXX进行缺失包的安装
1.2 开放 Impala 连接端口与认证方式
1.2.1 开放 odbc 连接
1.2.2 开放 jdbc 连接
1.2.3 开放认证方式
一般的认证方式有以下几种,根据自己的情况选择即可,例如:使用 用户名 认证。
无认证方式
Kerberos
用户名
用户名和密码
1.2.4 开放防火墙端口
- 开放 impala 的 21050 端口
- 开放 tableau 的 8850 管理端口
- 开放 tableau 的 80 管理端口
1.3 驱动程序下载与安装
1.3.1 驱动程序下载
– 分为 jdbc 与 odbc 两类驱动程序
1.3.1.1 jdbc驱动程序下载
1.3.1.2 odbc驱动程序下载
- tableau 官网说明链接: tableau 官方对软件驱动程序的说明(包含了hive与impala)
- odbc 驱动程序下载链接: Impala ODBC Connector 2.6.4 for Cloudera Enterprise
- 根据自己的tableau软件版本选择驱动程序,我这里用的版本是 2019.1.2 。
1.3.2 驱动程序安装
1.3.2.1 jdbc驱动程序安装
1.3.2.2 odbc驱动程序安装
首先安装如下两个包
yum -y install unixODBC yum -y install unixODBC-devel
然后安装从cloudera官网下载的最新版impalaodbc驱动包,使用ipm -ivh 命令安装
追加如下代码至 /etc/odbcinst.ini 文件
[clouderaimpala] Description=clouderaimpala Driver=/opt/cloudera/impalaodbc/lib/64/libclouderaimpalaodbc64.so HOST=50.27.0.11 PORT=21050 Database=default FileUsage = 1 UID=it_dc PWD=it_dc AuthMech=3 usesasl=0
更新驱动程序配置文件 /opt/cloudera/impalaodbc/lib/64/cloudera.impalaodbc.ini ,添加或更新以下 参数: DriverManagerEncoding=UTF-16
验证是否安装成功
isql -v clouderaimpala
如果报错,可能需要修改 /etc/profile 文件,新增如下内容
export ODBCINI=/etc/odbcinst.ini
2. Windows 客户端
2.1 tableau 软件下载
2.2 tableau 软件安装
2.3 tableau 软件配置与登陆
3. 脱机激活
官方说明 https://onlinehelp.tableau.com/current/server/zh-cn/activate_off.htm
下载上述说明的电子版:tableau连接CDH-impala
故障更新补充:
【发布仪表板之后,无法从浏览器访问:】
今天客户反馈,某员工的仪表板在本地正常,实时数据库连接,发布到服务器后无法访问,报错信息如下。但是在其他人的浏览器中,使用自己的账户访问却一切正常。
起初排除了服务器和数据库的问题,疑似是本地浏览器故障,建议客户把chrome浏览器恢复初始化设置,失败。
后来客户反馈解决了问题,方法如下,请后来者注意:
吴老师,那个问题搞定了,把windows上面的odbc连接名从clouderaodbc改为了impalaodbc就好了,也不知道为什么。
我也不知道为什么😄
May 30, 2019 update