【问题标题】:How to run seaweedFS as a daemon?如何将 seaweedFS 作为守护进程运行?
【发布时间】:2021-01-13 14:55:17
【问题描述】:

启动并测试了一个多服务器 seaweedFS 设置,如下所示,效果很好:

./weed server -dir=/VolA,/VolB -s3 -s3.config=weed.json -s3.port=9001 -master.defaultReplication="010" -master.peers=ip1:9333,ip2:9333,ip3:9333 -ip=ip1 -dataCenter=ABC -rack=A -volume.max=100
./weed server -dir=/VolA,/VolB -s3 -s3.config=weed.json -s3.port=9001 -master.defaultReplication="010" -master.peers=ip1:9333,ip2:9333,ip3:9333 -ip=ip2 -dataCenter=ABC -rack=B -volume.max=100
./weed server -dir=/VolA,/VolB -s3 -s3.config=weed.json -s3.port=9001 -master.defaultReplication="010" -master.peers=ip1:9333,ip2:9333,ip3:9333 -ip=ip3 -dataCenter=ABC -rack=C -volume.max=100

但是,我没有看到任何关于如何让 seaweedFS 作为守护程序运行的文档。 即:目前我正在远程外壳中运行杂草。关闭外壳会关闭杂草。

任何指针都非常感谢

【问题讨论】:

  • 我也不知道。 :)
  • @chrislusf:哈!看到你是创造者,我很确定我一定是找错了树;)。所以换种方式问,保持杂草嗡嗡作响的标准解决方案是什么?
  • 应该有很多方法来守护进程。这是我找到的一个。 software.clapper.org/daemonize
  • 干杯。我不知何故认为杂草会开箱即用作为守护进程运行,因为每个人都会在生产中这样做(?)。但是,是的,我会自己弄清楚。谢谢:)
  • 您能分享一下您的方法吗?我也想知道详情。

标签: seaweedfs weed-fs


【解决方案1】:

通过手动滚动系统服务解决了这个问题。

对于每个节点执行:(显然,替换为您自己的杂草特定命令)

# 1. Move `weed` to some directory the startup service can access. I used `/usr/local/bin/weed/`. Include `weed` and `weed.json` in that directory (ymmv) 


mkdir /usr/local/bin/weed
mv weed /usr/local/bin/weed/weed
mv weed.json /usr/local/bin/weed/weed.json


# 2. Create a systemd service config: 

cat > /etc/systemd/system/seaweedmaster.service <<EOM

[Unit]
Description=SeaweedFS Server
After=network.target

[Service]
Type=simple
User=root
Group=root

ExecStart=/usr/local/bin/weed/weed server -dir=/VolA,/VolB -s3 -s3.config=weed.json -s3.port=9001 -master.defaultReplication="010" -master.peers=ip1:9333,ip2:9333,ip3:9333 -ip=ip1 -dataCenter=ABC -rack=A -volume.max=100
WorkingDirectory=/usr/local/bin/weed/
SyslogIdentifier=seaweedfs-master

[Install]
WantedBy=multi-user.target
EOM


# 3. Reload, enable and start 

sudo systemctl daemon-reload
sudo systemctl enable seaweedmaster
sudo systemctl start seaweedmaster



# 4. logging the output, one of many options: 

journalctl -u seaweedmaster.service -b --no-pager

【讨论】:

    猜你喜欢
    • 2023-03-02
    • 2015-07-12
    • 2017-03-31
    • 1970-01-01
    • 2012-12-03
    • 2011-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多