Tableau Server for Linux 10.5 Beta in AWS EC2 (Part 2)

Update: As of 15th of January 2018, Tableau 10.5 has been released I have updated links to the online help.

If you haven’t already, check out Part 1 to make sure your AWS EC2 machine is ready for installation of Tableau Server.

For this section we will look at installing Tableau Server into our CentOS Linux instance.  There have been huge advances in simplifying the Linux install since the early Alpha’s and Beta’s of the version.  A big thumbs up for that 🙂

The Tableau Server Linux Beta installers are available from the Pre-release site.  So ensure you have registered on the site to get access to all the official material.
For reference, the process of the installation is summarized in the Tableau  Jump-start Installation for Linux section of the online help and as a result, this is by no means a replacement of that.

Preparation

You should be able to connect remotely to your instance via SSH and have a login prompt.:

Using username "centos".
Authenticating with public key "imported-openssh-key"
Last login: Tue Oct 31 13:06:16 2017
[centos@ip-172-31-3-143 ~]$

Lets update our system with the latest CentOS packages:

sudo yum check-update
sudo yum upgrade -y
sudo reboot

After the reboot  (for good measure), install some additional packages that will make our life easier:

sudo yum install wget nano epel-release  -y
sudo yum upgrade -y

We now need to pull down the installers into our Linux instance for installation.  An easy way to do this, is to simply download the files onto your local PC and then using winSCP, login to your Linux machine and upload the files into it.

However, you can download the files from within Linux.

The image below shows the wget URL from the Prerelease site you can use to download the main installer into your server:

wget -c http://beta.tableau.com/linux_files/tableau-server-10.5-beta5-1.x86_64.rpm

Check the hash values to make sure it all downloaded correctly.

Installers.png

Also, you can install something like curlWget  as an addon extension in Chrome and use the URL that gets generated within your linux instance.  As per the authors overview “..Builds a command line for ‘curl/wget’ tools to enable the download of data on a console only session.” Exactly what we need 🙂

You will likely need this (or the winSCP method) for the Linux data source drivers.

curlWget-extension.png

2017-11-07_10-04-22

Install files are now ready to go…

install files.png

New to the Linux version is the Tableau Services Manager  , and as mentioned it’s designed as a replacement for the Tableau Server Configuration applet, tabadmin command line and the Tableau Server Monitor.

Installation

Once you have the installation files in your machine (using either of the methods above) and configured your user(s),  we can start the installation process.  Most of this is covered in the Jump-start installation, but I’ll summarize below.

sudo yum install tableau-server-10.5-beta5-1.x86_64.rpm 
cd /opt/tableau/tableau_server/packages/scripts.10500.17.1030.1652/
sudo ./initialize-tsm --accepteula
exit

…this will drop your session.  Just simply log back in…

Users

I enabled a password for the ‘centos’ user as that was the user I decided will be the Tableau Server admin.  However, it might be worthwhile to add a different user.  The example below shows adding a new user ‘admin’ to groups ‘tableau’ and ‘tsmadmin’:

sudo adduser admin
sudo passwd admin 
<mypassword>
sudo usermod -aG wheel admin
sudo usermod -aG tsmadmin admin
sudo usermod -aG tableau admin

Log into TSM as this user:

tsm login -u admin
tsm licenses activate -t

We now need to generate a registration file template to hold registration details.

tsm register --template > registration_file.json

Edit this registration file using nano and enter the details as required and save:

nano registration_file.json

registration config.png

Import this registration file into Tableau:

tsm register --file ./registration_file.json

The next step, would typically be configuring your server firewall.  However as mentioned I don’t need to configure this, so I’ll just go ahead and skip this section.  For those of you that need to test this, take a look at the details in the online help for more information on configuring your firewall (firewalld, iptables etc.).

Other configuration details:

From here, I’m going to use the defaults, i.e. local identity store, no SSL/HTTPS so the standard default ‘config’ details will be fine.  More details are here  . A sample is shown below:

{
 "configEntities": {
 "gatewaySettings": {
 "_type": "gatewaySettingsType",
 "port": 80,
 "firewallOpeningEnabled": true,
 "sslRedirectEnabled": true,
 "publicHost": "localhost",
 "publicPort": 80
 },
 "identityStore": {
 "_type": "identityStoreType",
 "type": "local",
 "domain": "example.lan",
 "nickname": "EXAMPLE"
 }
 },
 "configKeys": {
 "gateway.timeout": "900"
 }
}

Import this configuration file into Tableau and apply ‘pending’ changes:

tsm settings import -f ./config.json 
tsm pending-changes apply

apply-pending-changes.png

Start Tableau Server:

tsm initialize --start-server --request-timeout 1800

TSM start server.png

..and finally create the initial Tableau Server Administrator user.  In my case, it’s ‘admin’.

tabcmd initialuser --server 'localhost:80' --username admin --password <strong password>

Make sure you have the Data Source drivers.  I used the curlWget method to directly download (wget) these drivers into my Linux instance.  Otherwise you can use WinSCP (or similar) to upload them from your local PC.

Then, finally install the drivers:

sudo yum localinstall -y SimbaTeradataODBC64-16.10-1.x86_64.rpm tableau-essbase-11.1.2.4.0-1.x86_64.rpm tableau-freetds-1.00.40-1.x86_64.rpm tableau-oracle-12.1.0.2.0-1.x86_64.rpm tableau-postgresql-odbc-9.5.3-1.x86_64.rpm

Bring up a browser and login to your new Tableau Server using the credentials above.

http://your.external.ip.address/

Tableau Linux browser.png

up and running.png

Enjoy…

19 thoughts on “Tableau Server for Linux 10.5 Beta in AWS EC2 (Part 2)

  1. Hi,
    I have created an EC2 instance and installed tableau 10.5 using ec2-user (password less key exchange).
    When tried logging into TSM, it was prompting for password so had to create a new user.

    sudo adduser tableauadmin
    sudo passwd tableauadmin

    sudo usermod -aG wheel tableauadmin
    sudo usermod -aG tsmadmin tableauadmin
    sudo usermod -aG tableau tableauadmin

    I am getting the following error while trying to login into TSM though my username and password appear to be correct.
    “tsm login -u tableauadmin”
    I have made sure this new user is part of tsmadmin, wheel and tableau.
    “Authentication error. Incorrect username or password, or username not member of administrative group?”
    Can we log into TSM without the password, may be using keys?
    your help in this regard is much appreciated.
    Thanks,
    Sudheer.

    Like

    • That looks right… just double check that you can ‘su tableauadmin’ and the password works, and there are no typo’s in username/password when entering it.

      Maybe create another user to do a quick test and use a simpler password to double/triple check.

      Like

      • Thanks for quick reply.
        Even su – tableauadmin doesnt seem to work. It prompts for password and when entered it say’s permission denied.
        [ec2-user@ip-10-160-170-113 ~]$ su – tableauadmin
        Password:
        su: Permission denied

        is there some config I need to check? I have verified /etc/sudoers/ file and have added the following not to prompt for any password as well.
        tableauadmin ALL=(ALL) NOPASSWD: ALL

        how to get the switch user work?

        Thanks.

        Like

  2. Hi Larry,

    Thanks for the detailed info. I am new to Linux world and there seem to be some issue with my switching users.
    This definitely doesnt seem to be Tableau issue but my Linux configuration issue.

    [ec2-user@ip-10-160-152-18 ~]$ su – tableauadmin
    Password:
    Last login: Mon Feb 5 06:07:53 UTC 2018 on pts/1
    [tableauadmin@ip-10-160-152-18 ~]$ exit
    logout
    [ec2-user@ip-10-160-152-18 ~]$ su tableauadmin
    Password:
    su: Permission denied
    [ec2-user@ip-10-160-152-18 ~]$

    For some reason “Su – username” work but “su username” doesn’t. can you please let me know what should I check?
    the following is the log message in “/var/log/messages”

    su: FAILED SU (to tableauadmin) tableau on pts/2

    please can you help me in this regard?

    thanks.

    Like

    • Hi Sudheer, Since this is more linux administration related rather than Tableau specific there would be many more resources available to help troubleshoot your issue. As you can see in my previous post, I was able to configure a new Tableau administrator user without issue. Also, I don’t have access to my EC2 instance anymore and my examples are from my Google Cloud environment.

      As a guide, look at posting your question on the many Linux forums. Are you using Centos7?
      Check out: https://www.centos.org/forums/ or https://www.linuxquestions.org/questions/centos-111/

      For Tableau related you can also take a look at:
      https://community.tableau.com/community/forums

      Finally, if you are deploying Tableau Server as part of an evaluation within your corporate organisation, please get in touch with your Tableau Account Team to ensure they can provide you with the best support for the best outcome.

      Like

  3. Hi Larry,
    Thanks very much for all your support here 🙂
    I was finally able to successfully switch users updating PAM modules.

    echo “account sufficient pam_localuser.so” >> /etc/pam.d/su

    cheers,
    Sudheer.

    Liked by 1 person

    • Hi Karina,

      I would highly recommend opening a support call with Tableau for the team to take a look at it. They are better positioned to handle this problem and therefore provide a quicker time to resolution.

      Regards,
      Larry

      Like

      • Hello Larry,

        You know the issue is that it is not a license issue, but it can not communicate the license between the nodes and I get an error in the VIZQLSERVER UNLICENSE process, although I am opening the port so that they communicate,

        sudo firewall-cmd –permanent –add-port=27000-27009/tcp

        I can not disappear the error, it will be me you can help with all the commands that you used in the firewall theme, but I’m following the tableau web manual but I still have this message; please help me with the command set of the firewall that you used in each node.

        I thank you in advance.

        Greetings from Ecuador.

        Like

      • Karina, you might want to take a look at doing some further testing/troubleshooting for example try disabling the firewall first and then check again. You might want to check your AWS Security groups as well to ensure all is configured correctly. Once you have isolated it, selectively re-enable them.

        In my setup, i didn’t need to configure the firewall so I left it disabled. As mentioned your environment might be different and you will need to investigate

        Like

  4. I am installing it and it is giving me error while initializing the server. It is getting failed at 96% today. Earlier it was getting failed at 74% What could be the cause.

    Like

    • There could be many causes. Is there an error message? What trouble-shooting steps have since been undertaken? Have you collected logs and opened a call with the Tableau Support team?

      Like

  5. Hi , I found your blog very useful and it helped me a lot.
    How can i find the path / environment variable to execute the tsm commands. I am executing the tsm login commands as a part of a script and its failing since i did not pass the path of tsm . Can you please let me know the path.
    I tried bash /etc/profile.d/tableau_server.sh tsm login -u xxx -p xxx
    but i think the above method is not correct. Please help

    Like

Leave a comment