Knowledge Base

cancel
Showing results for 
Search instead for 
Did you mean: 

How to add edits to event-service.vmoptions when /tmp is noexec and the Events Service fails discovery

Description

This article walks through how to add required edits to event-service.vmoptions if you are using the Enterprise Console Discovery process. This is a temporary workaround in order to succeed with the Discovery process, therefore allowing you to administer your Events Service node/cluster using the Enterprise Console.

 

Requirements

  • If there is an existing 4.4.x Events Service node/cluster that requires specific options be added to the events-service.vmoptions in order to start. A system which has noexec for their /tmp directory will likely qualify.
  • If you are discovering an existing Events Service node/cluster and the process is unsuccessful due to failed health checks.

 

REASON

When the Enterprise Console's Discovery process is used to find an existing Events Service cluster/node, the tasks will fail to complete due to the events-service.vmoptions file being reset to their defaults on each of the nodes. Once the vmoptions are reset, the node will fail to start, leading to the node(s) failing the health check required by the Discovery process.

 

Overview

In short, what you'll do is take the prepackaged vanilla events-service.zip file that comes with the Enterprise Console, unpack the archive, add the required  vmoptions​ file to the events-service.vmoptions file​, recompress the modified events-service directory, and then run the Discovery process with the Enterprise Console.

Before you start, please make a backup copy of the existing Events Service installation.

 

If you have any doubts or are unsure about whether these steps are needed for your deployment -- PLEASE STOP HERE.

 

Steps

1) From the terminal of the Enterprise Console host, please navigate to the following directory (or whatever is the latest 4.4.x version directory available).

cd [Platform_Admin_Home_Dir]/platform-admin/archives/events-service/4.4.3.16720

 

2) The directory should have the following contents:

....4.4.3.16720]# ls -1events-service.zip
pa-es.jar
playbooks
service.yml

 

3) Backup the original events-service.zip​.

cp events-service.zip events-service.zip.bk

 

4) Unzip the original archive and remove the archive.

unzip events-service.zip -d ./modified
rm events-service.zip

 

5) At this stage, your present working directory listing should look like 

....4.4.3.16720]# ls -1
events-service.zip.bk
modified
pa-es.jar
playbooks
service.yml

and the modified​subdirectory will contain the unzipped events-service​directory.

4.4.3.16720]# find ./modified -maxdepth 2
./modified
./modified/events-service
./modified/events-service/bin
./modified/events-service/plugins
./modified/events-service/elasticsearch
./modified/events-service/version.txt
./modified/events-service/lib
./modified/events-service/conf

 

6) Navigate to ./modified/events-service/conf​and using your editor of choice, please update the events-service.vmoptions​file to include your required options. In our example, the options that can be added are either

-Djna.tmpdir=/new/tmp/location​or -Djava.io.tmpdir=/new/tmp/location

-Djava.net.preferIPv4Stack=true
-Dfile.encoding=UTF-8
-Djna.tmpdir=/new/tmp/location​
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly
-XX:+DisableExplicitGC
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-XX:+PrintGCTimeStamps
-XX:+PrintClassHistogram
-XX:+PrintTenuringDistribution
-XX:+PrintGCApplicationStoppedTime
-XX:+PrintPromotionFailure
-verbose:gc
-XX:GCLogFileSize=64m
-XX:NumberOfGCLogFiles=4
-XX:+UseGCLogFileRotation
-XX:CompileCommand=exclude,org/apache/lucene/lucene54/Lucene54DocValuesConsumer.addSortedNumericField
-XX:CompileCommand=exclude,org/apache/lucene/lucene54/Lucene54DocValuesConsumer.addBinaryField
-XX:CompileCommand=exclude,org/elasticsearch/search/aggregations/metrics/percentiles/tdigest/AbstractTDigestPercentilesAggrega$
-XX:CompileCommand=exclude,org/apache/lucene/index/SortedNumericDocValuesWriter.flush
-XX:CompileCommand=exclude,org/apache/lucene/codecs/PushPostingsWriterBase.writeTerm

 

7) Save out the file and navigate to the version directory if you've navigated away.

cd [Platform_Admin_Home_Dir]/platform-admin/archives/events-service/4.4.3.16720


8) Move the modified events-service directory one level up and then recompress the events-service​directory containing the edits

mv ./modified/events-service ./events-service
zip -r events-service.zip ./events-service

 

9) At this point, the version directory listing should look like the following:

4.4.3.16720]# ls -1
events-service.zip <---modified events-service.zip
events-service.zip.bk <---original events-service.zip
modified
pa-es.jar
playbooks
service.yml

 

10) Remove the directory modified​now that the edits have been made

rm -rf ./modified

 

11) Feel free to backup the modified archive to a temp directory in the event you wish to save time if you are running multiple tests.

12) In the Enterprise Console UI, run the Discovery task again.

13) The hope is that the full Discovery process will now complete, allowing you to administer this cluster using the Enterprise Console.

 

14) If the Discovery process completes, one can assume the required options have not been reset. To be extra sure, you can verify all the required options are present in the events-service.vmoptions by running the following command on each node:

cat [Events_Service_Home_Dir]/processor/conf/events-service.vmoptions

 

 

Version history
Revision #:
4 of 4
Last update:
3 weeks ago
Updated by:
 
0 Kudos