Skip to content

Instantly share code, notes, and snippets.

@kofemann
Last active May 10, 2021 09:58
Show Gist options
  • Save kofemann/ce50dcd537dc07f949190a5d6c904863 to your computer and use it in GitHub Desktop.
Save kofemann/ce50dcd537dc07f949190a5d6c904863 to your computer and use it in GitHub Desktop.
simple layout file with minimal dcache-pNFS setup and zookeeper, kafka, postgres in containers
#!/bin/sh
if [ $# != 1 ]
then
echo "Usage `basename $0` <start|stop>"
exit 1
fi
POD_NAME=dcache-infrastructure
LOCAL_ADDRESS=`hostname -f`
case $1 in
start)
# create pod
podman pod create --name ${POD_NAME} -p 2181:2181 -p 9092:9092 -p 5432:5432
# create zoo-keeper
podman run --restart=always --pod=${POD_NAME} -d --name zk \
-e ZOO_LOG4J_PROP=WARN,CONSOLE \
zookeeper:3.5
# kafka
podman run --restart=always --pod=${POD_NAME} -d --name kafka \
-e KAFKA_BROKER_ID=1 \
-e KAFKA_ADVERTISED_HOST_NAME=${LOCAL_ADDRESS} \
-e KAFKA_CREATE_TOPICS=iostat:1:1,ioerr:1:1 \
-e KAFKA_ZOOKEEPER_CONNECT=127.0.0.1:2181/kafka \
-e LOG4J_LOGGER_KAFKA=WARN \
-e LOG4J_LOGGER_ORG_APACHE_KAFKA=WARN \
-e LOG4J_LOGGER_ORG_APACHE_ZOOKEEPER=WARN \
wurstmeister/kafka
# postgres
podman run --restart=always --pod=${POD_NAME} -d --name postgres \
-e POSTGRES_DB=chimera \
-e POSTGRES_PASSWORD=let-me-in \
postgres:13
;;
stop)
podman pod kill ${POD_NAME}
podman pod rm ${POD_NAME}
;;
*)
echo "Usage `basename $0` <start|stop>"
exit 1
;;
esac
dcache.enable.kafka = true
dcache.enable.space-reservation = false
dcache.java.options.extra=-XX:+StartAttachListener -XX:+PreserveFramePointer
chimera.db.user=postgres
chimera.db.password=let-me-in
[messageHub]
dcache.broker.scheme=core
[core]
[core/poolmanager]
[core/pnfsmanager]
[ssh]
[ssh/admin]
[nfs]
[nfs/nfs]
nfs.version=4.1
nfs.export.file=${dcache.paths.etc}/exports
nfs.export.dir=${dcache.paths.etc}/exports.d
nfs.enable.portmap=false
nfs.namespace-cache.size=8192
nfs.readdir-cache.size=1024
nfs.enable.access-log=FULL
nfs.idmap.manage-gids=true
nfs.readdir-cache.time = 90
nfs.readdir-cache.unit = SECONDS
chimera.db.url=jdbc:postgresql://${chimera.db.host}/${chimera.db.name}?prepareThreshold=3&targetServerType=master&ApplicationName=${nfs.cell.name}
[poolA]
[poolA/pool]
pool.name=${dcache.domain.name}
pool.path=/dcache/${pool.name}
pool.waitForFiles=${path}/data
pool.lfs=precious
pool.tags=hostname=${host.name}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment