How to install Mission Control from a ZIP installer (sample walk-thru)

Sowjanya Kamatam
2018-11-20 19:49


This walk-thru install guide is provided as a reference for JFrog Mission Control's Linux Zip installation. For more details, please visit

Affected Versions

3.1, 3.2, 3.3


Note: The commands used below are based on Linux RedHat 7 OS and maybe slightly different for your choice of OS.

I. Install Java

$ sudo yum install java-1.8.0-openjdk


II. Install and Conigure MongoDB

Download and run MongoDB

Downloaded MongoDB ( and copy the file mongodb-linux-x86_64-rhel70-3.6.8.tgz to the host

$ tar -zxvf mongodb-linux-x86_64-rhel70-3.6.8.tgz

$ cd mongodb-linux-x86_64-rhel70-3.6.8/bin

$ export PATH=/home/sowjanyak/mongodb-linux-x86_64-rhel70-3.6.8/bin:$PATH

NOTE: source the PATH in bash script

$ mkdir data/db

$ ./mongod –dbpath /home/sowjanyak/mongodb-linux-x86_64-rhel70-3.6.8/data/db

Add users in MongoDB instance

Note: you can perform the following step only after setting up the Admin user and password in the database. Please have them handy before you proceed.

For example:


use admin

db.addUser('admin', 'password');


$ mongo

MongoDB shell version v3.6.8

connecting to: mongodb://

MongoDB server version: 3.6.8

Server has startup warnings:


> use mission_platform

switched to db mission_platform

> db.createUser({user: "mission_platform", pwd: "password", roles: ["readWrite"]});

Successfully added user: { "user" : "mission_platform", "roles" : [ "readWrite" ] }

> use insight_team

switched to db insight_team

> db.createUser({user: "jfrog_insight", pwd: "password", roles: ["readWrite"]})

Successfully added user: { "user" : "jfrog_insight", "roles" : [ "readWrite" ] }

> use insight_scheduler

switched to db insight_scheduler

> db.createUser({user: "jfrog_insight", pwd: "password", roles: ["readWrite"]})

Successfully added user: { "user" : "jfrog_insight", "roles" : [ "readWrite" ] }

> use insight_executor

switched to db insight_executor

> db.createUser({user: "jfrog_insight", pwd: "password", roles: ["readWrite"]})

Successfully added user: { "user" : "jfrog_insight", "roles" : [ "readWrite" ] }

> exit



Manually Seeding MongoDB running on external hosts

Note: You have to change the bind address in /etc/mongodb.conf for mission-control host to connect to external MongoDB host. To bind to all IPv4 and IPv6 addresses, enter ::, or alternatively, use the net.bindIpAll setting.

  • Copy the files ~/jfmc-3.2.0-linux-x86_64/scripts/ and ~/jfmc-3.2.0-linux-x86_64/scripts/createMongoUsers.js to the system where MongoDB is running.
  • Make the shell file executable (chmod +x
  • Execute the file ./ and follow the prompts on screen like below.

$ ./


| MongoDB Manual Setup                     |


This script will attempt to seed MongoDB with the databases and users needed by JFrog Mission Control

Please enter the same details as you entered during installation. If the details are incorrect, you may need to rerun the installation

Please enter the MongoDB port [27017]:

Waiting for MongoDB to get ready using the commands: "mongo –port 27017 –version" & "ss -lntu | grep -wq 27017"

MongoDB is ready. Executing commands

Is this a fresh installation with no users? (If you choose 'y', the installer will create an admin user) [Y/n]: Y

Please enter the MongoDB admin user ID [admin] :

Please enter the MongoDB admin user password [password] :

MongoDB setup is now complete


III. Install Elasticsearch

Note: Follow same steps for externalizing elasticsearch

$ curl -L -O

$ sudo sysctl -w vm.max_map_count=262144

$ tar xvf elasticsearch-6.4.2.tar.gz

$ cd /elasticsearch-6.4.2/bin

$ ./elasticsearch start


IV. Install Mission Control

$ curl -L "" -o

$ tar -zxvf

NOTE: Edit the jfmc/scripts/ environment file and set relevant environment variables for your ElasticSearch and MongoDB installations.

For example:

export MONGODB_PORT=27017



export MONGODB_ADMIN_PASSWORD="password"






$ sudo yum install unzip

$ unzip

$ cd jfmc-3.2.0-linux-x86_64/bin

$ ./ start

INFO: Found java executable in /usr/lib/jvm/java-1.8.0-openjdk- (JFMC_JAVA_HOME : /usr/lib/jvm/java-1.8.0-openjdk-

Generating internal certificates

Checking mongodb …

jfmc-insight-scheduler is already running

jfmc-insight-executor is already running

mission-control is already running

jfmc-insight-server is already running

Log location : /home/user/jfmc-3.2.0-linux-x86_64/logs

$ ./ status

checking jfmc-insight-scheduler … [ Running : 18153 ]

checking jfmc-insight-executor … [ Running : 18185 ]

checking mission-control … [ Running : 18218 ]

checking jfmc-insight-server … [ Running : 18245 ]

Log location : /home/user/jfmc-3.2.0-linux-x86_64/logs