Saya harus menginstal versi Elasticsearch (2.3.3) yang lebih lama dari sumber. Biner terletak di /opt/local/elasticsearch-2.3.3/bin/
saya membuat file berikut
/Library/LaunchDaemons/org.elasticsearch.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.elasticsearch</string>
<key>ProgramArguments</key>
<array>
<string>/opt/local/elasticsearch-2.3.3/bin/elasticsearch</string>
</array>
<key>UserName</key>
<string>root</string>
<!-- <key>GroupName</key>
<string>staff</string> -->
<key>WorkingDirectory</key>
<string>/opt/local/elasticsearch-2.3.3/bin</string>
<key>KeepAlive</key>
<true/>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Saya kemudian mengeluarkan perintah berikut:
sudo launchctl load -w /Library/LaunchDaemons/org.elasticsearch.plist
Ketika saya menanyakannya sudo launchctl list | grep elastic
kembali org.elasticsearch
. Tetapi ketika saya memeriksa apakah elasticsearch berjalan dengan ps ax | grep elastic
itu tidak berjalan.
Apakah ada yang salah dengan .plist
file saya ?
Jawaban:
Elasticsearch tidak boleh dijalankan sebagai root. Jadi hapus plist dari database launchd, pindahkan plist ke / Library / LaunchAgents (atau ~ / Library / LaunchAgents), buat / opt / local / var dan ubah sedikit:
Kemudian periksa /opt/local/elasticsearch-2.3.3 dan subdirinya untuk izin yang tepat, tambahkan EnvironmentVariables jika perlu (atau hapus kunci & dict) dan muatkan plist.
Jika semuanya berfungsi dengan baik, Anda dapat menghapus StandardErrorPath dan StandardOutPath dan string-nya.
Anda juga dapat menjalankannya sebagai daemon tetapi dengan pengguna yang berbeda (yaitu nama pengguna Anda) - tergantung pada kebutuhan / lingkungan Anda.
sumber