所要あって、railsでelasticsearch使おうとしたものの、
公式どおりのインストールでつまづいたので、例のごとくきろく。
キホンは公式の説明の通り。
のはずだったが・・・・
JDKいれて、elasticsearch起動しても下記のエラーが発生・・・
長いので省略してます・・
user@hostname ~/elasticsearch $ elasticsearch
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: /home/kieaiaarh/elasticsearch/logs/elasticsearch.log (許可がありません)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:270)
at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
at java.io.FileOutputStream.<init>(FileOutputStream.java:133)
at org.apache.log4j.FileAppender.setFile(FileAppender.java:294)
org.elasticsearch.bootstrap.Bootstrap.setupSecurity(Bootstrap.java:196)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:167)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:285)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
:
Refer to the log for complete error details.
許可がないといわれたので、
$ sudo elasticseach
で実行するも・・・NG。
Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root.
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:93)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:144)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:285)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
Refer to the log for complete error details.
プロセス自体はelasticserch user で開始されるとのこと・・・
なので、そもそも、ダウンロードしたディレクトリごと所有者&グループを変更。
で動くようになった。もともと、下記においていたので、
root権限なっていた・・・(汗
$ ll /usr/local/src/elastcsearch-2.2.1
$ mv /usr/local/src/elastcsearch-2.2.1 /home/user/elasticsearch
$ sudo chown user:wheel /home/user/elasticsearch
とりあえず、wheelグループへ変更して解決。
追記
起動等はこちらを参考に下記の通り。
$ sudo service elasticsearch (re)start/stop