文章目录
1. 介绍
SeaweedFS官方仅提供了一个可以执行的weed程序包, 如果希望实现SeaweedFS相关服务在主机启动的时候跟随启动的话,则需要做额外的配置。
SeaweedFS相关服务的自启动在Linux可通过systemd来实现。
2. Master服务自启动
2.1 创建seaweedfs-master.service文件
创建文件/etc/systemd/system/seaweedfs-master.service
, 文件内容:
[Unit]
Description=SeaweedFS Server
After=network.target
[Service]
Type=simple
User=ubuntu
Group=ubuntu
ExecStart=/usr/bin/weed master -options=/opt/seaweedfs/master.option
WorkingDirectory=/opt/seaweedfs
StandardOutput=file:/opt/seaweedfs/logs/seaweedfs-master.log
StandardError=file:/opt/seaweedfs/logs/seaweedfs-master.err
[Install]
WantedBy=multi-user.target
把Master服务启动时需要用的到的参数写到/opt/seaweedfs/master.option
, 如:
peers=192.168.209.3:9337
defaultReplication=000
mdir=/opt/seaweedfs/master
resumeState
volumePreallocate
volumeSizeLimitMB=3000
v=4
ip=192.168.209.3
port=9337
metricsPort=29337
2.2 重新加载systemd的配置
# 重载
systemctl daemon-reload
重载完成后, 可通过systemctl
来启动/停止Master服务,如:
systemctl start seaweedfs-master #启动master服务
systemctl stop seaweedfs-master #停止master服务
3. Volume服务自启动
3.1 创建seaweedfs-volume.service文件
创建文件/etc/systemd/system/seaweedfs-volume.service
, 文件内容:
[Unit]
Description=SeaweedFS Volume
After=network.target
[Service]
Type=simple
User=ubuntu
Group=ubuntu
ExecStart=/usr/bin/weed volume -options=/opt/seaweedfs/volume.option
WorkingDirectory=/opt/seaweedfs
StandardOutput=file:/opt/seaweedfs/logs/seaweedfs-volume.log
StandardError=file:/opt/seaweedfs/logs/seaweedfs-volume.err
[Install]
WantedBy=multi-user.target
把Volume服务启动时需要用的到的参数写到/opt/seaweedfs/volume.option
, 如:
v=4
concurrentDownloadLimitMB=10240
concurrentUploadLimitMB=10240
fileSizeLimitMB=256
idleTimeout=300
compactionMBps=5
readBufferSizeMB=32
inflightUploadDataTimeout=30m
index=leveldb
max=0
mserver=192.168.209.3:9337
ip=192.168.209.3
port=7080
dir=/opt/seaweedfs/data1
minFreeSpace=1GiB
dataCenter=dc1
rack=r1
3.2 重新加载systemd的配置
# 重载
systemctl daemon-reload
重载完成后, 可通过systemctl
来启动/停止Volume服务,如:
systemctl start seaweedfs-volume #启动volume服务
systemctl stop seaweedfs-volume #停止volume服务
4. Filer服务自启动
4.1 创建seaweedfs-filer.service文件
创建文件/etc/systemd/system/seaweedfs-filer.service
, 文件内容:
[Unit]
Description=SeaweedFS Filer
After=network.target
[Service]
Type=simple
User=ubuntu
Group=ubuntu
ExecStart=/usr/bin/weed filer -options=/opt/seaweedfs/filer.option
WorkingDirectory=/opt/seaweedfs
StandardOutput=file:/opt/seaweedfs/logs/seaweedfs-filer.log
StandardError=file:/opt/seaweedfs/logs/seaweedfs-filer.err
[Install]
WantedBy=multi-user.target
把Filer服务启动时需要用的到的参数写到/opt/seaweedfs/filer.option
, 如:
v=4
master=192.168.209.3:9337
concurrentUploadLimitMB=10240
maxMB=32
port=8888
metricsPort=28888
port.readonly=7777
defaultReplicaPlacement=000
ip=192.168.209.3
4.2 重新加载systemd的配置
# 重载
systemctl daemon-reload
重载完成后, 可通过systemctl
来启动/停止Filer服务,如:
systemctl start seaweedfs-filer #启动filer服务
systemctl stop seaweedfs-filer #停止filer服务
5. S3服务自启动
5.1 创建seaweedfs-s3.service文件
创建文件/etc/systemd/system/seaweedfs-s3.service
, 文件内容:
[Unit]
Description=SeaweedFS Filer
After=network.target
[Service]
Type=simple
User=ubuntu
Group=ubuntu
ExecStart=/usr/bin/weed s3 -options=/opt/seaweedfs/s3.option
WorkingDirectory=/opt/seaweedfs
StandardOutput=file:/opt/seaweedfs/logs/seaweedfs-s3.log
StandardError=file:/opt/seaweedfs/logs/seaweedfs-s3.err
[Install]
WantedBy=multi-user.target
把Filer服务启动时需要用的到的参数写到/opt/seaweedfs/s3.option
, 如:
v=4
config=/opt/seaweedfs/config.json
port=8333
metricsPort=28333
filer=192.168.209.3:8888
ip.bind=192.168.209.3
5.2 重新加载systemd的配置
# 重载
systemctl daemon-reload
重载完成后, 可通过systemctl
来启动/停止S3服务,如:
systemctl start seaweedfs-s3 #启动s3服务
systemctl stop seaweedfs-s3 #停止s3服务