2 Replies Latest reply on May 16, 2019 6:00 AM by Cristian Matei

    Tableau Server throws keystore error during installation on Windows

    Trevor Clarke

      Hi folks,

       

      I am trying to set install Tableau Server on one of my machines. I had a lot of trouble with Linux so I'm now trying it on Windows, following the wizard is so far much easier. I am following the guide on the Tableau pages here

       

      https://onlinehelp.tableau.com/current/guides/everybody-install/en-us/everybody_admin_install.htm

       

      Tableau Server seemed to install successfully, I reached the point where it asked me to click Next to start TSM. I complied and it then displayed this error in a pop-up

       

      "WARNING: The server may not have started properly. Check the logs:

      C:\ProgramData\Tableau\Tableau Server\logs\app-install.log for more information"

       

      "Tableau Server initialization failed"

       

      This brought the installation process to an end. I checked the log and saw the error, it relates to the keystore directory. Here is the error and the statements preceding it that mention keystore (I'm not gonna paste the whole log because it's lengthy)

       

       

      2019-03-28 13:44:39.539 -0400 main : DEBUG com.tableausoftware.installer.CryptoConfigManager - Master key id is not defined, skipping canned keystore copy.

       

      2019-03-28 13:44:39.555 -0400 main : INFO  com.tableausoftware.installer.CryptoConfigManager - Configuration encryption properties are uninitialized - bootstrapping now.

       

      2019-03-28 13:44:39.555 -0400 main : INFO  com.tableau.crypto.keys.Keystore - Creating directory C:\ProgramData\Tableau\Tableau Server\data\tabsvc\crypto\keystores

       

      2019-03-28 13:44:39.555 -0400 main : DEBUG com.tableau.crypto.util.KeystoreUtility - Creating keystore C:\ProgramData\Tableau\Tableau Server\data\tabsvc\crypto\keystores\tableauserver.jks

       

      2019-03-28 13:44:45.727 -0400 main : DEBUG com.tableau.crypto.util.KeystoreUtility - Saving keystore C:\ProgramData\Tableau\Tableau Server\data\tabsvc\crypto\keystores\tableauserver.jks

       

      2019-03-28 13:44:49.845 -0400 main : INFO  com.tableau.crypto.keys.Keystore - Put key 'cb7f40d4-9346-4009-a3ec-f095aac76ec7:AES_GCM_256' into keystore

       

      2019-03-28 13:44:49.846 -0400 main : DEBUG com.tableau.crypto.util.KeystoreUtility - Saving keystore C:\ProgramData\Tableau\Tableau Server\data\tabsvc\crypto\keystores\tableauserver.jks

       

      2019-03-28 13:44:49.871 -0400 main : INFO  com.tableausoftware.installer.UserSettingsManager - features.SecureSecretStorage is true in cluster config

       

      2019-03-28 13:44:49.981 -0400 main : DEBUG com.tableausoftware.tabadmin.configuration.ClusterConfigurationBuilder - No non-overridden shared value exists for key clientfileservice.zookeeper.password, adding value ENC(isT05tH8SLKbmvT+ekgGLRLMCkE4Jk5AIfhOydorETPZ3wgWOM6wHZls4zUE/M0QhTdUwdgN2ChTB/EDFC1fTd45uYH/ZUywdQ7f6Gxbtmg=)

       

      2019-03-28 13:44:49.981 -0400 main : DEBUG com.tableausoftware.tabadmin.configuration.ClusterConfigurationBuilder - No non-overridden shared value exists for key zookeeper.tsm.password, adding value ENC(isT05tH8SLKbmvT+ekgGLatmExpyKN8mNvozbOw2zMkSl/TsLnHyUawtWd5bV1l8SuT7aATeMdGEbc0dWG4H9rm6DYHLYFVT8jjgXj184GQ=)

       

      2019-03-28 13:44:49.981 -0400 main : DEBUG com.tableausoftware.installer.UserSettingsManager - features.TSMThriftEncryption is not set in cluster config neither in features.yml

       

      2019-03-28 13:44:49.981 -0400 main : INFO  com.tableausoftware.tabadmin.configuration.ConfigurationUpgrader - Config is at the requested version 20

       

      2019-03-28 13:44:49.981 -0400 main : INFO  com.tableausoftware.installer.UserSettingsManager - features.SecureSecretStorage is true in cluster config

       

      2019-03-28 13:44:50.075 -0400 main : DEBUG com.tableausoftware.installer.CryptoConfigManager - Copying from C:\ProgramData\Tableau\Tableau Server\data\tabsvc\crypto\keystores\tableauserver.jks to C:\ProgramData\Tableau\Tableau Server\data\tabsvc\config\appzookeeper_0.20191.19.0215.0259\tabsvc\keystores\tableauserver.jks

       

      2019-03-28 13:44:50.246 -0400 main : DEBUG com.tableausoftware.installer.CryptoConfigManager - Cluster crypto key already exists in service keystore, nothing to do.

       

      ...

       

      2019-03-28 13:44:50.885 -0400 main : ERROR com.tableausoftware.installer.InstallerMain - Generic exception raised during installation.

      java.lang.NullPointerException: keystore directory cannot be null

                     at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:799)

                     at com.tableau.crypto.config.BaseCryptoConfig$Builder.withKeystoresDirectory(BaseCryptoConfig.java:171)

                     at com.tableau.crypto.CryptoFactory.initializeCryptoImpl(CryptoFactory.java:103)

                     at com.tableau.crypto.CryptoFactory.initializeCrypto(CryptoFactory.java:82)

                     at com.tableausoftware.tabadmin.configuration.CryptoProviderFactory.constructConfigurationCryptoProviderFromMultipleConfigFiles(CryptoProviderFactory.java:231)

                     at com.tableausoftware.tabadmin.configuration.CryptoProviderFactory.constructConfigurationCryptoProviderFromUserAndBootstrapConfigurations(CryptoProviderFactory.java:196)

                     at com.tableausoftware.installer.operations.AbstractBootstrapConfig.writeServiceUserSettingsYml(AbstractBootstrapConfig.java:95)

                     at com.tableausoftware.installer.operations.AbstractBootstrapConfig.writeServiceUserSettingsYml(AbstractBootstrapConfig.java:81)

                     at com.tableausoftware.installer.operations.BootstrapZookeeperConfig.perform(BootstrapZookeeperConfig.java:40)

                     at com.tableausoftware.installer.AbstractOperationRunner.run(AbstractOperationRunner.java:177)

                     at com.tableausoftware.installer.AbstractOperationRunner.runInstance(AbstractOperationRunner.java:115)

                     at com.tableausoftware.installer.AbstractOperationRunner.execute(AbstractOperationRunner.java:102)

                     at com.tableausoftware.installer.AbstractOperationRunner.execute(AbstractOperationRunner.java:56)

                     at com.tableausoftware.installer.InstallerMain.execute(InstallerMain.java:179)

                     at com.tableausoftware.installer.InstallerMain.main(InstallerMain.java:186)

       

       

      The error 'keystore directory cannot be null' doesn't make any sense, obviously the keystore directory exists because it was created and populated with files in the preceding lines. I checked the file system and the keystore folder is there along with tableauserver.jks, everything is as it should be.

       

      Any idea what this error means and what I can do to resolve it?

       

      Additionally, how do I return to this part of the installation, i.e. starting Tableau Services Manager? If I try running the installer again it tells me Tableau Server has already been installed and exits. Is there a way to skip ahead to the particular spot that gave me trouble?

       

      Thanks a bunch,

      Trevor