aarch64用はapt-getでするほうでは入りません。いつも間違えてしまいます。
まず、openjdkをインストールします。
sudo apt update && sudo apt install openjdk-13-jdk
たぶん13で大丈夫だと思う。あとで設定ファイルを変更するけど。
私が持っているラズパイ4は8GB版なので、jvmのメモリ設定は1GBでそのままにしています。
sudo systemctl start elasticsearch
をするとエラーになります。
sudo journalctl -xe -u elasticsearch
で見るとこういう表示があります。
(中略): Unrecognized VM option 'UseAVX=2'
AVX命令なんてないと思うので、jvm.optionsの該当行をコメントアウトします。
/etc/elasticsearch/jvm.options
(中略)
#10-:-XX:UseAVX=2
これでもう一度restartすると別のエラーが。このエラーが出るのに30秒くらいはかかりますので少し待ちます。
(中略): elasticsearch.service: Failed with result 'exit-code'.
よくわからんですね。なのでlogを見ましょう。
tail -n 30 /var/log/elasticsearch/elasticsearch.log
/var/log/elasticsearch/elasticsearch.log
org.elasticsearch.bootstrap.StartupException: ElasticsearchException[X-Pack is not supported and Machine Learning is not available for [linux-aarch64]; you can use the other X-Pack features (unsupported) by setting xpack.ml.enabled: false in elasticsearch.yml]
とあります。X-Packが対応していないから無効にするようにということなので、elasticsearch.ymlに設定します。
/etc/elasticsearch/elasticsearch.yml
xpack.ml.enabled: false
これでrestartするとすぐ起動します。elasticsearch.logに「no plugins loaded」とか出ていれば起動しているはずです。起動確認はcurlで。
curl 127.0.0.1:9200
こんな風なのが出力されればOKです。
{ "name" : "KvBmtDv", "cluster_name" : "elasticsearch", "cluster_uuid" : "YW9vyXsBS_Cby7Z07T6wXw", "version" : { "number" : "6.8.9", "build_flavor" : "default", "build_type" : "deb", "build_hash" : "be2c7bf", "build_date" : "2020-05-04T17:00:34.323820Z", "build_snapshot" : false, "lucene_version" : "7.7.3", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }
あとは、お好みに応じてプラグインを入れていきましょう。