In some cases, you may need more information about the behavior of the Indexima Core Engine (Galactica).

In order to do this you can retrieve a "thread dump" of the Galactica instance.

You can retrieve a thread dump like this:

  • Log in on a master with the same user you used to run Indexima
  • Use the jps tool to determine the pid of the Galactica instance (NodeServer)

On HortonWorks

/usr/jdk64/jdk1.8.0_112/bin/jps
BASH

It will return the following list:

9536 NodeServer
17457 GaYarnLauncher
6984 Jps
18392 NodeServer
10381 Visualdoop
8911 GaYarnLauncher
BASH

If you have many NodeServer instances, you can search for the one you want to investigate by doing a pstree and looking for the applicationId.

  • When you have the pid of the correct NodeServer :

On Hortonworks

/usr/jdk64/jdk1.8.0_112/bin/jstack (PID of NodeServer)
BASH
  • You can now redirect the output into a file.

How to get a "thread dump" at regular intervals

On Hortonworks :

  • Create a directory.
  • Launch the thread dump every 300 seconds, 10 times.
for I in `seq 0 10` ; do /usr/jdk64/jdk1.8.0_112/bin/jstack (PID of NodeServer) > threaddump.$(date +"%Y-%m-%d_%H:%M:%S").txt ; sleep 300 ; done
BASH

This command uses a lot of processing power so be careful not to execute this command too quickly.