NEM NIS1 ノード (java版) バージョンアップ手順 - 2021.11


手順に問題がありましたので修正しました。バックアップは、コピーではなく移動、をさせないとまずかったです。そうしないと ~/package/nis/ 配下にバージョン0.6.99のソースと0.6.100のソースが同居しちゃってました。お詫びして訂正ですm(__)m

本手順は以下の手順の続きです。

バージョンアップがときどき発生します。

以下、ホームディレクトリにブロックチェーンデータが配置されるnemディレクトリと自身の設定ファイルなどが配置されているpackageディレクトリがある想定での手順になります。

ノードを停止

$ curl localhost:7890/node/info
$ curl localhost:7890/shutdown

削除

$ ls ~/nem/nis.lock
$ rm ~/nem/nis.lock

バックアップ(移動させる)

$ mv ~/package ~/package.backup.YYYYMMDD

最新バージョンのファイル名を確認

https://bob.nem.ninja/

nis-0.x.xx.tgz というファイルが置いてあるので確認。

ダウンロード

$ cd ~/
$ curl -o nis1.tgz https://bob.nem.ninja/nis-0.x.xx.tgz

解凍

$ tar -xzvf nis1.tgz

必要な設定箇所を確認する

$ vim ~/package/nis/config-user.properties
----
nem.host = <ホスト名>
nis.bootName = <ノードリスト上のノード名>
nis.unlockedLimit = <ハーベスト接続人数の上限値>
----

実行シェルを修正(環境に合わせて適宜)

$ vim ~/package/nix.runNis.sh
----
-java -Xms1G -Xmx4G -cp ".:./*:../libs/*" org.nem.deploy.CommonStarter
+nohup java -Xms4GB -Xmx8G -cp ".:./*:../libs/*" org.nem.deploy.CommonStarter &
----

実行権限の付与

$ cd ~/package
$ chmod +x nix.runNis.sh

起動

$ ./nix.runNis.sh

ブロック高を確認

$ curl localhost:7890/chain/height

ノード情報を確認

$ curl localhost:7890/node/info
⇒{"timeStamp":210132872,"error":"Service Unavailable","message":"NIS_ILLEGAL_STATE_LOADING_CHAIN","status":503}

NIS_ILLEGAL_STATE_LOADING_CHAIN とありますが、ブロック高が最新まで追いつくと消えました。
もし追いついてもメッセージが変わらなければノードをさらから作り直したほうが良いと思われます。

ノードのヘルスチェック

$ curl localhost:7890/heartbeat

参考にさせていただきました。
https://zenn.dev/y_matsuoka/scraps/cc585a8da4b130

ノード構築者が集うSlack