Skip to content

v3.6 Deployment

Andrey Kurilov edited this page Dec 15, 2017 · 6 revisions

Environment Requirements

  • JRE 8+ or Docker

  • OS open files limit is at least a bit higher than specified concurrency level

  • Few gigabytes of free memory.

    High-load tests may allocate up to 1-2 GB of the memory depending on the scenario.

  • (Remote Storage) Connectivity with the endpoint nodes via the ports used

  • (Distributed Mode) Connectivity with the storage drivers via port #1099 (RMI)

  • (Remote Monitoring) Connectivity with the load controller via port #9010 (JMX)

Tarballs

Mongoose distribution tarballs are stored at: https://github.com/emc-mongoose/mongoose/releases/tag/latest

The following tarballs can be found:

  • mongoose-base-<VERSION>.tgz

    Core mongoose tarball (doesn't include storage driver service functionality neither storage driver implementations)

  • mongoose-storage-driver-service-<VERSION>.tgz

    Tarball containing only storage driver service functionality

Note:

Additional functionality may be installed using the Extensions Mechanism

Docker

Mongoose images are stored in the Docker Hub

Base

The base mongoose image is mongoose-base

Note that the base image doesn't contain any storage driver implementations (FS, S3, Swift, Atmos, ...)

See the extensions section to use any additional functionality

Standalone

The base image may be used in the standalone mode:

docker run \
    --network host \
    --entrypoint mongoose \
    emcmongoose/mongoose[-<TYPE>] \
    -jar /opt/mongoose/mongoose.jar \
    [<ARGS>]

Controller

The base image may be used as a controller in the distributed mode:

docker run \
    --network host \
    --entrypoint mongoose \
    emcmongoose/mongoose-base \
    -jar /opt/mongoose/mongoose.jar \
    --storage-driver-remote \
    --storage-driver-addrs=<ADDR1,ADDR2,...> \
    [<ARGS>]

Extensions

Image Name Description
mongoose-storage-driver-s3 Base image + Amazon S3 generic storage driver implementation
mongoose-storage-driver-atmos Base image + EMC Atmos storage driver implementation
mongoose-storage-driver-swift Base image + OpenStack Swift storage driver implementation
mongoose-storage-driver-emc-s3 Base image + EMC S3 storage driver implementation
mongoose-storage-driver-fs Base image + filesystem storage driver implementation
mongoose-storage-driver-cifs Base image + CIFS storage driver implementation (planned)
mongoose-storage-driver-hdfs Base image + HDFS storage driver implementation
mongoose-storage-driver-nfs Base image + NFS storage driver implementation (planned)
mongoose Backward compatibility image including filesystem, s3, atmos, swift and emcs3 storage driver implementations

Storage Driver Service

docker run \
    --network host \
    --expose 1099 \
    emcmongoose/mongoose-storage-driver-service[-<TYPE>]
Image Name Description
mongoose-storage-driver-service-base The image including the dummy storage driver implementation only
mongoose-storage-driver-service-s3 The image including the Amazon S3 generic storage driver only
mongoose-storage-driver-service-atmos The image including the EMC Atmos storage driver only
mongoose-storage-driver-service-swift The image including the OpenStack Swift storage driver only
mongoose-storage-driver-service-emc-s3 The image including the EMC S3 storage driver only
mongoose-storage-driver-service-fs The image including the filesystem storage driver only
mongoose-storage-driver-service-cifs The image including the CIFS storage driver (planned) only
mongoose-storage-driver-service-hdfs The image including the HDFS storage driver (under development) only
mongoose-storage-driver-service-nfs The image including the NFS storage driver (planned) only
mongoose-storage-driver-service Backward compatibility image including filesystem, s3, atmos, swift and emcs3 storage driver implementations

Additional Notes

Logs Sharing

The example below mounts the host's directory ./log to the container's /opt/mongoose/log (where mongoose holds its log files).

docker run \
    --network host \
    --mount type=bind,source="$(pwd)"/log,target=/opt/mongoose/log
    --entrypoint mongoose \
    emcmongoose/<IMAGE> \
    -jar /opt/mongoose/mongoose.jar \
    [<ARGS>]

Debugging

The example below starts the Mongoose in the container with remote debugging capability via the port #5005.

docker run \
    --network host \
    --expose 5005
    --entrypoint mongoose \
    emcmongoose/<IMAGE> \
    -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \
    -jar /opt/mongoose/mongoose.jar \
    [<ARGS>]
Clone this wiki locally