Tool for instalation MapR cluster by MapR Installer
-
Install docker and docker-compose
-
To use separated disk/partition for each container use devicemapper as device driver and configure disk via loop-lvm or direct-lvm. Do not use loop-lvm for performance testing since it slow. Use instead direct-lvm and preconfigure real cluster disks.
- Create the file 'sudo vim /etc/docker/daemon.json'
- Specify the following properties in daemon.json (for loop-lvm):
{ "storage-driver": "devicemapper", "storage-opts": [ "dm.basesize=50G" ] }
- sudo service docker stop
- sudo rm -rf /var/lib/docker (take a note that you delete all your docker data!!!)
- sudo service docker start
-
To use real cluster hardware you can create needed disk by LVM (to use by MapR-FS):
- Create physical volume from existing disk
pvcreate /dev/sdf
- Create the a volume group that consists of the LVM physical volumes you have created.
vgcreate maprfsvg /dev/sdf
- Create the logical volume from the volume group you have created.
This example creates a logical volume that uses 50 gigabytes of the volume group.
lvcreate -L 50G -n maprfslv maprfsvg
- Create physical volume from existing disk
-
For now, Installer support only real disk devices or disk partitions (See IN-1999), doesn't support any loop or dm devices. So, you need to create a separated disk partition for each node (fdisk tool). Or use different disk devices for each node.
-
If you want to run containers on multiple hosts (for example on performance cluster) you can use Docker Swarm
- cd maprlab/centos
- docker build --rm -t maprcentos7 .
- cd maprlab/mapr-installer
- docker build -t maprinstaller .
- docker-compose up -d --scale node=2 (specify needed number of nodes in a cluster)
- Set needed configuration in installer_stanza.yaml
- Run the following command in Installer container
./opt/mapr/installer/bin/mapr-installer-cli install -nv -t /opt/mapr/installer/docker/conf/installer_stanza.yaml -f
- Java OOM
Symptoms: java.lang.OutOfMemoryError: unable to create new native thread
Solution: Increase Linux system threads limit
ulimit -u <number of threads> or change default values in the following file: /etc/security/limits.conf Add to end of file: mapr - nofile 65536 mapr - nproc 64000 mapr - memlock unlimited mapr - core unlimited mapr - nice -10