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.
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.
Install files are now ready to go…
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
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
Start Tableau Server:
tsm initialize --start-server --request-timeout 1800
..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/
Enjoy…
This is excellent and exactly what I was looking for! Great job!
LikeLiked by 1 person
Awesome! I’m glad I could help!
LikeLike
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.
LikeLike
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.
LikeLike
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.
LikeLike
Sudheer, perhaps you have an su configuration issue? Check out this StackExchange answer, which seems to match your symptom: https://unix.stackexchange.com/a/80951
LikeLike
Hi Sudheer,
You might want to try adding a different user to do some testing.
Here is me adding your user name ‘tableauadmin’ to my running system without issue:
https://asciinema.org/a/kOd94kRGnFs23jAqcREdanmOI
LikeLike
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.
LikeLike
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.
LikeLike
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.
LikeLiked by 1 person
Excellent. I’m glad you got it resolved.
LikeLike
Hola larry.
Larry, I tell you that I have a problem when I raise the clusters, it seems to me that the vizql UNLICENSED in the log, it will be possible that you can help me, I leave you the link of the error detail
https://community.tableau.com/thread/261418
LikeLike
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
LikeLike
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.
LikeLike
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
LikeLike
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.
LikeLike
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?
LikeLike
how to set proxy for tableau running on ubuntu 16.04
LikeLike
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
LikeLike