在CentOS 7.4上进行配置,将VoltDB设置为自动启动(单节点配置)
首先
我会在CentOS7.4上将VoltDB设置为自动启动。
前提条件如下所述。
VoltDB的版本是使用8.3.1。
VoltDB将以voltdb用户启动。
VoltDB的安装目录是”/opt/voltdb”,所有者是voltdb用户。
请参考以下步骤进行VoltDB的安装。
使用集群配置在内存数据库VoltDB的最新版本(v8.3.1)进行安装,并执行简单的过程。
创建启动脚本
创建一个名为”/opt/voltdb/voltstart.sh”的启动脚本,用于voltdb用户。
#!/bin/bash
HOST_SERVER=volt1 # ホストサーバを指定します。
SERVER_NUM=1 # クラスタを構成するサーバ数を指定します。
VOLTDB_HOME=/opt/voltdb # VoltDBのインストールディレクトリを指定します。
source /etc/profile
cd ${VOLTDB_HOME}
voltdb start -D ${VOLTDB_HOME} -H ${HOST_SERVER} -c ${SERVER_NUM}
给创建的启动脚本赋予执行权限。
# chmod 755 /opt/voltdb/voltstart.sh
然后,以root用户身份创建Unit定义文件。
・ /etc/systemd/system/voltdb.service 可以被重新定义的服务。
[Unit]
Description=VoltDB
Requires=network.target remote-fs.target rc-local.service
After=network.target remote-fs.target rc-local.service
[Service]
Type=simple
User=voltdb
Group=voltdb
ExecStart=/opt/voltdb/voltstart.sh
ExecStop=/opt/voltdb/bin/voltadmin shutdown
[Install]
WantedBy=multi-user.target
如果是单机配置,请使用”voltadmin stop”。
我已将Type设置为simple,但考虑到VoltDB会生成PID文件,所以也可以使用Type=forking。
您可以使用以下命令将服务注册并启动。
# systemctl enable voltdb
重启操作系统,并确认VoltDB已自动启动。
# ps -ef | grep voltdb
voltdb 1100 1 0 00:18 ? 00:00:00 /bin/bash /opt/voltdb/voltstart.sh
voltdb 1173 1100 10 00:18 ? 00:00:06 /usr/bin/java -Xmx2048m -server -Djava.awt.headless=true -Djavax.security.auth.useSubjectCredsOnly=false -Dsun.net.inetaddr.ttl=300 -Dsun.net.inetaddr.negative.ttl=3600 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseTLAB -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+UseCondCardMark -Dsun.rmi.dgc.server.gcInterval=9223372036854775807 -Dsun.rmi.dgc.client.gcInterval=9223372036854775807 -XX:CMSWaitDuration=120000 -XX:CMSMaxAbortablePrecleanTime=120000 -XX:+ExplicitGCInvokesConcurrent -XX:+CMSScavengeBeforeRemark -XX:+CMSClassUnloadingEnabled -Dlog4j.configuration=file:///opt/voltdb-community-8.3.1/voltdb/log4j.xml -Djava.library.path=default -classpath /opt/voltdb-community-8.3.1/voltdb/voltdb-8.3.1.jar:/opt/voltdb-community-8.3.1/lib/vmetrics.jar:/opt/voltdb-community-8.3.1/lib/commons-logging-1.1.3.jar:/opt/voltdb-community-8.3.1/lib/log4j-1.2.16.jar:/opt/voltdb-community-8.3.1/lib/jetty-io-9.3.21.v20170918.jar:/opt/voltdb-community-8.3.1/lib/avro-1.7.7.jar:/opt/voltdb-community-8.3.1/lib/lz4-1.2.0.jar:/opt/voltdb-community-8.3.1/lib/jetty-server-9.3.21.v20170918.jar:/opt/voltdb-community-8.3.1/lib/jline-2.10.jar:/opt/voltdb-community-8.3.1/lib/tomcat-juli.jar:/opt/voltdb-community-8.3.1/lib/jsch-0.1.51.jar:/opt/voltdb-community-8.3.1/lib/slf4j-nop-1.6.2.jar:/opt/voltdb-community-8.3.1/lib/kafka-clients-0.8.2.2.jar:/opt/voltdb-community-8.3.1/lib/httpcore-4.3.3.jar:/opt/voltdb-community-8.3.1/lib/super-csv-2.1.0.jar:/opt/voltdb-community-8.3.1/lib/felix.jar:/opt/voltdb-community-8.3.1/lib/commons-codec-1.6.jar:/opt/voltdb-community-8.3.1/lib/scala-xml_2.11-1.0.2.jar:/opt/voltdb-community-8.3.1/lib/jetty-util-9.3.21.v20170918.jar:/opt/voltdb-community-8.3.1/lib/slf4j-api-1.6.2.jar:/opt/voltdb-community-8.3.1/lib/jetty-servlet-9.3.21.v20170918.jar:/opt/voltdb-community-8.3.1/lib/snappy-java-1.1.1.7.jar:/opt/voltdb-community-8.3.1/lib/jackson-mapper-asl-1.9.13.jar:/opt/voltdb-community-8.3.1/lib/kafka_2.11-0.8.2.2.jar:/opt/voltdb-community-8.3.1/lib/jetty-security-9.3.21.v20170918.jar:/opt/voltdb-community-8.3.1/lib/scala-library-2.11.5.jar:/opt/voltd-community-8.3.1/lib/owner-1.0.9.jar:/opt/voltdb-community-8.3.1/lib/owner-java8-1.0.9.jar:/opt/voltdb-community-8.3.1/lib/snmp4j-2.5.2.jar:/opt/voltd-community-8.3.1/lib/jetty-continuation-9.3.21.v20170918.jar:/opt/voltdb-community-8.3.1/lib/httpclient-4.3.6.jar:/opt/voltdb-community-8.3.1/lib/servlet-api-3.1.jar:/opt/voltdb-community-8.3.1/lib/jna.jar:/opt/voltdb-community-8.3.1/lib/jetty-http-9.3.21.v20170918.jar:/opt/voltdb-community-8.3.1/lib/metrics-core-2.2.0.jar:/opt/voltdb-community-8.3.1/lib/tomcat-jdbc.jar:/opt/voltdb-community-8.3.1/lib/httpasyncclient-4.0.2.jar:/opt/voltdb-community-8.3.1/lib/httpcore-nio-4.3.2.jar:/opt/voltdb-community-8.3.1/lib/protobuf-java-3.4.0.jar:/opt/voltdb-community-8.3.1/lib/scala-parser-combinators_2.11-1.0.2.jar:/opt/voltdb-community-8.3.1/lib/jackson-core-asl-1.9.13.jar:/opt/voltdb-community-8.3.1/lib/commons-lang3-3.0.jar:/opt/voltdb-community-8.3.1/lib/extension/voltdb-rabbitmq.jar org.voltdb.VoltDB probe placementgroup 0 voltdbroot /opt/voltdb mesh volt1 hostcount 1