KNOWLEDGE BASE

When Doing A Backup, Ask Data Component May Not Start Tableau Server Is In A Degraded Status


Published: 28 May 2021
Last Modified Date: 31 May 2021

Issue

Tableau Backup failed as Ask Data failed to start. Ask Data is in a degraded state and unable to restart it through the normal processes.

Environment

  • Tableau Server 
  • Ask Data

Resolution

  1. Run the command below to verify that the indices have been deleted (we expect this should not return anything if the indices have, indeed, been reset - as noted in the article)
    curl -k -u <username>:<password> https://<host>:<port>/_cat/indices?v
    1. if we see the expected result, move on to 2.
    2. if we see elastic search indices, follow the steps in the On Prem Windows installations (below0 to reset before proceeding to next step
  2. Verify permissions for C:\ProgramData\Tableau\Tableau Server\data\tabsvc\logs\nlp\control_nlp_*.log (per the article, step 8)
  3. Run the command to start sgadmin and rebuild the indices:
    C:\ProgramData\Tableau\Tableau Server\data\tabsvc\services\elasticserver*\data\run-sgadmin.cmd
  4. run net start tabadminagent_0 (per same article as step 3) and verify that nlp process now shows as active

On premise Windows installations

  1. Using Secure Shell, log into the nlp_01 host for the installation you want to intervene on.

  2. Find the path to the nlp executable:

    One way to do this is by opening the Task Manager, finding the nlp background process, right click to reveal the Properties, and the Location will contain the path:
    C:\Program Files\Tableau\Tableau Server\packages\nlp_0.<version-number>\nlp.exe
    
  3. Find the path to the nlp configuration file. It should be in a hidden directory named ProgramData under Tableau\Tableau Server\data\tabsvc\config.
    Set an environment variable NLP_CONFIG with the path to the config.

    set NLP_CONFIG="C:\ProgramData\Tableau\Tableau Server\data\tabsvc\config\nlp_0.<version-number>\nlp"

    Note: The config file has a .yaml extension, but it is omitted in the NLP_CONFIG variable.

  4. Determine the ElasticSearch endpoint as well as the user and password:

    tsm configuration get -k elasticserver.hosts
    tsm configuration get -k elasticserver.port
    tsm configuration get -k elasticserver.client.username
    tsm configuration get -k elasticserver.client.password
    
    
  5. Using a cmd prompt with administrator privileges, check the status of the ElasticSearch Indices using the command below:

    curl -k -u <username>:<password> https://<host>:<port>/_cat/indices?v

    The output will look like:

    Code for Ask Data Output 2

    Note: This command tmay take up to ~60 seconds. 
     

  6. Invoke the nlp executable with the resetValuesAndConceptsIndices argument:

    cd C:\Program Files\Tableau\Tableau Server\packages\nlp_0.\ nlp.exe resetValuesAndConceptsIndices

    The output should look similar to:
     

    Ask Data Output Screenshot

    The last line indicates if the operation succeeded.
  7. As a verification run the Curl command again to check the indices in ElasticSearch:

    The output will look like:

    Ask Data Health Test Code

    This shows that the values and concepts indices have been deleted.

  8. Check the permission of the file after resetting the indices. The operation of resetting the indices might change the permission of the file. Check this location:

    C:\ProgramData\Tableau\Tableau Server\data\tabsvc\logs\nlp\control_nlp_*.log

    And confirm whether user tableau or tsmagent has the write permission for this file.

Cause

sgadmin did not start and thus Ask Data could not start. 
Did this article resolve the issue?