本文介绍如何在离线环境下配置Tableau Server与数据库的连接,具体环境参见下面的图片;本文由河南中原消费金融有限公司“要工程师”贡献。“要”姓稀有,此文珍贵,后来者珍惜。
——喜乐君

前言

屏幕快照 2019-05-30 下午8.28.43.png

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驱动程序下载

屏幕快照 2019-05-30 下午8.18.19.png

屏幕快照 2019-05-30 下午8.18.24

  • 根据自己的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 命令安装

屏幕快照 2019-05-30 下午8.20.53.png

 

追加如下代码至 /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

屏幕快照 2019-05-30 下午8.22.31.png

更新驱动程序配置文件  /opt/cloudera/impalaodbc/lib/64/cloudera.impalaodbc.ini ,添加或更新以下 参数: DriverManagerEncoding=UTF-16

屏幕快照 2019-05-30 下午8.23.13.png

验证是否安装成功

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

 

故障更新补充:

【发布仪表板之后,无法从浏览器访问:】

今天客户反馈,某员工的仪表板在本地正常,实时数据库连接,发布到服务器后无法访问,报错信息如下。但是在其他人的浏览器中,使用自己的账户访问却一切正常。

WechatIMG120.jpeg

起初排除了服务器和数据库的问题,疑似是本地浏览器故障,建议客户把chrome浏览器恢复初始化设置,失败。

后来客户反馈解决了问题,方法如下,请后来者注意:

吴老师,那个问题搞定了,把windows上面的odbc连接名从clouderaodbc改为了impalaodbc就好了,也不知道为什么。

我也不知道为什么😄

 

May 30, 2019 update