symbol-bootstrapの7900ポートを変更する

はじめに

ネットワーク内に複数ノードを設置する場合、catapult サーバーポートが重複してしまい、片方のノードだけ外から見える状態になってしまいます。外から見えない方のノードのピア数が減少して(接続できないので周りのノードから Ban されます)、ちょこっとだけフォーク耐性が下がります。

というわけで、デフォルトの7900ポートから別のポートに変更して、各ノードちゃんと通信出来るようにしましょう。

同じマシンに複数台ノードをインストールするのは、コンテナ名の重複等あるので追加で設定が必要です。それはまたの機会に…

カスタムプリセット変更

カスタムプリセットにnodePortapiNodePortを追加します。ポート番号は使用していない番号を適当に設定してください。
私は7911にしました。

YAML
nodePort: 7911
apiNodePort: 7911

nodes:
    -
        host: symbol01.harvestasya.com
        friendlyName: _Symbol_HarvestasyaNode01/.
YAML

docker-compose.yml 変更

docker-compose.ymlまで変更するコマンド的なものは存在してないようなので、手動で node コンテナのポートを変更します。7900となってるところを7911に書き換えます。

YAML
    node:
        user: '1001:998'
        container_name: node
        image: symbolplatform/symbol-server:gcc-1.0.3.6
        command: /bin/bash /symbol-commands/start.sh /usr/catapult ./data server broker node NORMAL true
        stop_signal: SIGINT
        working_dir: /symbol-workdir
        restart: on-failure:2
        ports:
            - '7911:7911'
        volumes:
            - ../nodes/node:/symbol-workdir:rw
            - ./server:/symbol-commands:ro
        depends_on:
            - db
            - broker
        networks:
            default:
                aliases:
                    - symbol01.harvestasya.com
        hostname: symbol01.harvestasya.com
YAML

docker-compose.yml の変更を自動化

symbol-bootstrap compose --upgradeをしたらdocker-compose.ymlのポートを変える必要があるのですが、忘れるので私はバッチで一括で変更するようにしてます。

Bash
#!/bin/bash

echo "preset更新"
symbol-bootstrap config -p mainnet -a dual -c my-preset.yml --upgrade

echo "compose更新"
symbol-bootstrap compose --upgrade

echo "composeポート変更"
sed -i s/7900:7900/7911:7911/ target/docker/docker-compose.yml
Bash

さいごに

これで、同じネットワーク上に複数台のノードがあっても上手く通信出来るようになりました。
同ネットワーク上にサーバー複数台ってそうそう居ない気もしますが…うちはあるんですよ!

そうそう、リバースプロキシってのがありますね。これで上手く振り分けられないかと考えたんですが、この 7900 はソケット通信なのでホスト名使ってるのか謎なので出来るか不明です。
土台は作っているのですが、ノード 2 つ余裕で動くマシンが必要なので確認に手が出てないです…

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

seventeen + 16 =

ABOUT US
MimosaHarvestasya

COBOL系Javerさ。Blockchain Symbolのノードを運営していることもあり、主にバック側の事を色々調べたり作ったりしています。
https://symbol01.harvestasya.com:3001/node/info

FF14ではMimosa SamiとしてGaiaDC/Ifritで遊んでます。 FF14緑化運動家(目立った活動はしていない)。FF14トレジャーハンター(魔門開かない)。

did:symbol:NC3XK5WRNQSDZRDBRD6NWL3RHYV5QNLU4WTXODA

Amazon欲しいものリスト