catapult-service-bootstrap에 peer-node 추가 1 서비스 추가
12127 단어 도커catapultBlockchainNEM
개요
catapult를 쉽게 움직일 수 있는 catapult-service-bootstrap
라는 것이 있습니다.
이것은 docker-compose
로 움직일 수 있습니다.
그리고 docker-compose.yml
에 쓰여 있는 하나 하나의 컨테이너를 서비스라고 부릅니다.
catapult-service-bootstrap
를 움직이면 이러한 컨테이너가 시작됩니다.
$ docker-compose ps
Name Command State Ports
---------------------------------------------------------------------------------------------------------------------------
catapult-service-bootstrap_api-node-0-nemgen_1 bash -c /bin-mount/wait /s ... Exit 0
catapult-service-bootstrap_api-node-0_1 bash -c /bin-mount/wait /s ... Up
catapult-service-bootstrap_db_1 docker-entrypoint.sh bash ... Up 27017/tcp
catapult-service-bootstrap_generate-configs_1 ash -c /bin-mount/wait /ad ... Exit 0
catapult-service-bootstrap_generate-raw-addresses_1 bash -c /bin-mount/generat ... Exit 0
catapult-service-bootstrap_init-db_1 docker-entrypoint.sh bash ... Exit 1
catapult-service-bootstrap_peer-node-0-nemgen_1 bash -c /bin-mount/wait /s ... Exit 0
catapult-service-bootstrap_peer-node-0_1 bash -c /bin-mount/wait /s ... Up
catapult-service-bootstrap_peer-node-1-nemgen_1 bash -c /bin-mount/wait /s ... Exit 0
catapult-service-bootstrap_peer-node-1_1 bash -c /bin-mount/wait /s ... Up
catapult-service-bootstrap_rest-gateway_1 ash -c /bin-mount/wait /st ... Up 0.0.0.0:3000->3000/tcp
catapult-service-bootstrap_store-addresses_1 ash -c /bin-mount/wait /ad ... Exit 0
이번에는 이것에 새로운 서비스로서 피어 노드를 추가해 가고 싶습니다. 이름은 peer-node-2
로 합시다.
다른 서버에서 할 경우 여기 ⇒ catapult-service-bootstrap에 peer-node 추가하기 그 2 서버편
작업
파일 편집
cd build/catapult-config
cp -r peer-node-0 peer-node-2
cd peer-node-2/userconfig/resources
컴피g는 r베스팅g. p 로페 r 지혜 s
build/generated-addresses/addresses.yaml
를 열고 nemesis_addresses_harvesting
아래에 있는 계정의 두 번째 개인 키를 설정합니다. (첫 번째는 peer-node-0
가 사용하고 있습니다.)
config-harvesting.propertiesharvestKey = <nemesis_addresses_harvesting private key>
구성에서. p 로페 r 지혜 s
[localnode]
의 부분을 변경합니다.
config-node.properties[localnode]
host = peer-node-2
friendlyName = peer-node-2
version = 0
roles = Peer
구성 잃어버린 r. p 로페 r 지혜 s
build/generated-addresses/addresses.yaml
를 열고 peer_nodes
아래에 있는 계정의 세 번째 개인 키를 설정합니다. (첫 번째는 peer-node-0
하지만 두 번째는 peer-node-1
가 사용하고 있습니다.)
config-user.properties[account]
bootKey = <peer_nodes private key>
peers-p2p.json
다음을 peer-node-1
아래에 삽입합니다. 쉼표를 잊지 마세요.
공개 키는 build/generated-addresses/addresses.yaml
를 열고 peer_nodes
아래에 있는 계정의 세 번째 녀석.
peers-p2p.json {
"publicKey": "<peer_nodes public key>",
"endpoint": {
"host": "peer-node-2",
"port": 7900
},
"metadata": {
"name": "peer-node-2",
"roles": "Peer"
}
}
docker-compose.yml
docker-compose.yml
에 다음을 추가합니다.
docker-compose.yml
peer-node-2-nemgen:
build: dockerfiles/nemgen
command: bash -c "/bin-mount/wait /state/configs-generated && /bin/bash /userconfig/nemgen.sh && touch /state/peer-node-2-nemgen"
stop_signal: SIGINT
volumes:
- ./build/nemesis/:/nemesis
- ./data/peer-node-2:/data:rw
- ./bin/bash:/bin-mount
- ./build/state:/state:rw
depends_on:
- generate-configs
peer-node-2:
build: dockerfiles/catapult
command: bash -c "/bin-mount/wait /state/peer-node-2-nemgen && /bin/bash /userconfig/startServer.sh"
stop_signal: SIGINT
volumes:
- ./build/catapult-config/peer-node-2/userconfig/resources/:/userconfig/resources/
- ./data/peer-node-2:/data:rw
- ./bin/bash:/bin-mount
- ./build/state:/state
depends_on:
- generate-configs
- peer-node-2-nemgen
시작
$ docker-compose up -d peer-node-2
Starting catapult-service-bootstrap_generate-configs_1 ... done
Creating catapult-service-bootstrap_peer-node-2-nemgen_1 ... done
Creating catapult-service-bootstrap_peer-node-2_1 ... done
로그를 확인.
블록 동기화에 시간이 걸립니다.
$ docker-compose logs -f --tail=100 peer-node-2
<debug> (chain::CompareChains.cpp@95) comparing chain scores: 78219980565058755 (local) vs 2339774398129255418 (remote)
<debug> (chain::ChainSynchronizer.cpp@290) pulling blocks from remote with common height 7561 (fork depth = 0)
<info> (chain::ChainSynchronizer.cpp@203) peer returned 360 blocks (heights 7562 - 7921)
<debug> (disruptor::Disruptor.cpp@42) disruptor queuing element 22 (360 blocks (heights 7562 - 7921) [1A000000] from Remote_Pull)
<info> (chain::RemoteApiForwarder.h@65) completed 'synchronizer task' (peer-node-0 @ peer-node-0) with result Success
<debug> (utils::StackLogger.h@37) pushing scope 'PosImportanceCalculator::recalculate'
<debug> (observers::PosImportanceCalculator.cpp@65) recalculated importances (22 / 25 eligible)
<debug> (utils::StackLogger.h@47) popping scope 'PosImportanceCalculator::recalculate' (0ms)
<info> (disruptor::ConsumerDispatcher.cpp@44) completing processing of element 22 (360 blocks (heights 7562 - 7921) [A2A9E8D6] from Remote_Pull), last consumer is 0 elements behind
블록 높이와 속도를 계산하고 필요한 경우 자자.
내 환경에서는 약 3 초 만에 360 블록이었습니다.
확인
블록 탐색기를 살펴보겠습니다.
일하기 전에 이런 식으로 한 명의 Harvester 만있었습니다.
수확 할 피어 노드를 추가하면 Harvester가 두 사람이되었습니다.
소감
catapult-service-bootstrap
에 피어 노드를 추가할 수 있습니다.
추가하려면 몇 가지 파일 편집을 수행해야 합니다.
peers-p2p.json
에 대해서, 이번은 peer-node-2
의 것만 편집했습니다. 그러나 네트워크를 더욱 견고하게 만들기 위해 peer-node-0
와 peer-node-1
, api-node-0
에 대해 같은 방법으로 유지하는 것이 좋습니다.
이상적으로는 docker-compose up -d --scale peer-node=10 api-node=3
처럼 할 수 있도록 하는 것입니다. 그러나 그것은 목수가 될 것 같습니다.
다른 서버에서 시도했습니다 ⇒ catapult-service-bootstrap에 peer-node 추가하기 그 2 서버편
관련 기사
catapult-service-bootstrap에 peer-node 추가 1 서비스 추가
htps : // 이 m / p ぁ 네 쇼키 / ms / b80 29157d80 63122c
catapult-service-bootstrap에 peer-node 추가하기 그 2 서버편
htps : // 이 m/p ㅁㅜㅜㅜ/있어 ms/4c73
catapult-service-bootstrap 3 호스트 이름 및 포트 변경
htps : // 이 m/p ㅁㅜㅜ
catapult-service-bootstrap 4 체인의 수동 삭제
htps : // 코 m / p ㅁ 네 쇼키 / ms / 7 에c5404701
catapult-service-bootstrap 파트 5 catapult.tools.health/network
htps : // 코 m / p ぁ 네 쇼키 / ms / 5 에 d19 에이 8 세 b67 아 d6 0 0
Reference
이 문제에 관하여(catapult-service-bootstrap에 peer-node 추가 1 서비스 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/planethouki/items/b80fe29157d80a63122c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ docker-compose ps
Name Command State Ports
---------------------------------------------------------------------------------------------------------------------------
catapult-service-bootstrap_api-node-0-nemgen_1 bash -c /bin-mount/wait /s ... Exit 0
catapult-service-bootstrap_api-node-0_1 bash -c /bin-mount/wait /s ... Up
catapult-service-bootstrap_db_1 docker-entrypoint.sh bash ... Up 27017/tcp
catapult-service-bootstrap_generate-configs_1 ash -c /bin-mount/wait /ad ... Exit 0
catapult-service-bootstrap_generate-raw-addresses_1 bash -c /bin-mount/generat ... Exit 0
catapult-service-bootstrap_init-db_1 docker-entrypoint.sh bash ... Exit 1
catapult-service-bootstrap_peer-node-0-nemgen_1 bash -c /bin-mount/wait /s ... Exit 0
catapult-service-bootstrap_peer-node-0_1 bash -c /bin-mount/wait /s ... Up
catapult-service-bootstrap_peer-node-1-nemgen_1 bash -c /bin-mount/wait /s ... Exit 0
catapult-service-bootstrap_peer-node-1_1 bash -c /bin-mount/wait /s ... Up
catapult-service-bootstrap_rest-gateway_1 ash -c /bin-mount/wait /st ... Up 0.0.0.0:3000->3000/tcp
catapult-service-bootstrap_store-addresses_1 ash -c /bin-mount/wait /ad ... Exit 0
파일 편집
cd build/catapult-config
cp -r peer-node-0 peer-node-2
cd peer-node-2/userconfig/resources
컴피g는 r베스팅g. p 로페 r 지혜 s
build/generated-addresses/addresses.yaml
를 열고 nemesis_addresses_harvesting
아래에 있는 계정의 두 번째 개인 키를 설정합니다. (첫 번째는 peer-node-0
가 사용하고 있습니다.)config-harvesting.properties
harvestKey = <nemesis_addresses_harvesting private key>
구성에서. p 로페 r 지혜 s
[localnode]
의 부분을 변경합니다.config-node.properties
[localnode]
host = peer-node-2
friendlyName = peer-node-2
version = 0
roles = Peer
구성 잃어버린 r. p 로페 r 지혜 s
build/generated-addresses/addresses.yaml
를 열고 peer_nodes
아래에 있는 계정의 세 번째 개인 키를 설정합니다. (첫 번째는 peer-node-0
하지만 두 번째는 peer-node-1
가 사용하고 있습니다.)config-user.properties
[account]
bootKey = <peer_nodes private key>
peers-p2p.json
다음을
peer-node-1
아래에 삽입합니다. 쉼표를 잊지 마세요.공개 키는
build/generated-addresses/addresses.yaml
를 열고 peer_nodes
아래에 있는 계정의 세 번째 녀석.peers-p2p.json
{
"publicKey": "<peer_nodes public key>",
"endpoint": {
"host": "peer-node-2",
"port": 7900
},
"metadata": {
"name": "peer-node-2",
"roles": "Peer"
}
}
docker-compose.yml
docker-compose.yml
에 다음을 추가합니다.docker-compose.yml
peer-node-2-nemgen:
build: dockerfiles/nemgen
command: bash -c "/bin-mount/wait /state/configs-generated && /bin/bash /userconfig/nemgen.sh && touch /state/peer-node-2-nemgen"
stop_signal: SIGINT
volumes:
- ./build/nemesis/:/nemesis
- ./data/peer-node-2:/data:rw
- ./bin/bash:/bin-mount
- ./build/state:/state:rw
depends_on:
- generate-configs
peer-node-2:
build: dockerfiles/catapult
command: bash -c "/bin-mount/wait /state/peer-node-2-nemgen && /bin/bash /userconfig/startServer.sh"
stop_signal: SIGINT
volumes:
- ./build/catapult-config/peer-node-2/userconfig/resources/:/userconfig/resources/
- ./data/peer-node-2:/data:rw
- ./bin/bash:/bin-mount
- ./build/state:/state
depends_on:
- generate-configs
- peer-node-2-nemgen
시작
$ docker-compose up -d peer-node-2
Starting catapult-service-bootstrap_generate-configs_1 ... done
Creating catapult-service-bootstrap_peer-node-2-nemgen_1 ... done
Creating catapult-service-bootstrap_peer-node-2_1 ... done
로그를 확인.
블록 동기화에 시간이 걸립니다.
$ docker-compose logs -f --tail=100 peer-node-2
<debug> (chain::CompareChains.cpp@95) comparing chain scores: 78219980565058755 (local) vs 2339774398129255418 (remote)
<debug> (chain::ChainSynchronizer.cpp@290) pulling blocks from remote with common height 7561 (fork depth = 0)
<info> (chain::ChainSynchronizer.cpp@203) peer returned 360 blocks (heights 7562 - 7921)
<debug> (disruptor::Disruptor.cpp@42) disruptor queuing element 22 (360 blocks (heights 7562 - 7921) [1A000000] from Remote_Pull)
<info> (chain::RemoteApiForwarder.h@65) completed 'synchronizer task' (peer-node-0 @ peer-node-0) with result Success
<debug> (utils::StackLogger.h@37) pushing scope 'PosImportanceCalculator::recalculate'
<debug> (observers::PosImportanceCalculator.cpp@65) recalculated importances (22 / 25 eligible)
<debug> (utils::StackLogger.h@47) popping scope 'PosImportanceCalculator::recalculate' (0ms)
<info> (disruptor::ConsumerDispatcher.cpp@44) completing processing of element 22 (360 blocks (heights 7562 - 7921) [A2A9E8D6] from Remote_Pull), last consumer is 0 elements behind
블록 높이와 속도를 계산하고 필요한 경우 자자.
내 환경에서는 약 3 초 만에 360 블록이었습니다.
확인
블록 탐색기를 살펴보겠습니다.
일하기 전에 이런 식으로 한 명의 Harvester 만있었습니다.
수확 할 피어 노드를 추가하면 Harvester가 두 사람이되었습니다.
소감
catapult-service-bootstrap
에 피어 노드를 추가할 수 있습니다.
추가하려면 몇 가지 파일 편집을 수행해야 합니다.
peers-p2p.json
에 대해서, 이번은 peer-node-2
의 것만 편집했습니다. 그러나 네트워크를 더욱 견고하게 만들기 위해 peer-node-0
와 peer-node-1
, api-node-0
에 대해 같은 방법으로 유지하는 것이 좋습니다.
이상적으로는 docker-compose up -d --scale peer-node=10 api-node=3
처럼 할 수 있도록 하는 것입니다. 그러나 그것은 목수가 될 것 같습니다.
다른 서버에서 시도했습니다 ⇒ catapult-service-bootstrap에 peer-node 추가하기 그 2 서버편
관련 기사
catapult-service-bootstrap에 peer-node 추가 1 서비스 추가
htps : // 이 m / p ぁ 네 쇼키 / ms / b80 29157d80 63122c
catapult-service-bootstrap에 peer-node 추가하기 그 2 서버편
htps : // 이 m/p ㅁㅜㅜㅜ/있어 ms/4c73
catapult-service-bootstrap 3 호스트 이름 및 포트 변경
htps : // 이 m/p ㅁㅜㅜ
catapult-service-bootstrap 4 체인의 수동 삭제
htps : // 코 m / p ㅁ 네 쇼키 / ms / 7 에c5404701
catapult-service-bootstrap 파트 5 catapult.tools.health/network
htps : // 코 m / p ぁ 네 쇼키 / ms / 5 에 d19 에이 8 세 b67 아 d6 0 0
Reference
이 문제에 관하여(catapult-service-bootstrap에 peer-node 추가 1 서비스 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/planethouki/items/b80fe29157d80a63122c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
catapult-service-bootstrap에 peer-node 추가 1 서비스 추가
htps : // 이 m / p ぁ 네 쇼키 / ms / b80 29157d80 63122c
catapult-service-bootstrap에 peer-node 추가하기 그 2 서버편
htps : // 이 m/p ㅁㅜㅜㅜ/있어 ms/4c73
catapult-service-bootstrap 3 호스트 이름 및 포트 변경
htps : // 이 m/p ㅁㅜㅜ
catapult-service-bootstrap 4 체인의 수동 삭제
htps : // 코 m / p ㅁ 네 쇼키 / ms / 7 에c5404701
catapult-service-bootstrap 파트 5 catapult.tools.health/network
htps : // 코 m / p ぁ 네 쇼키 / ms / 5 에 d19 에이 8 세 b67 아 d6 0 0
Reference
이 문제에 관하여(catapult-service-bootstrap에 peer-node 추가 1 서비스 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/planethouki/items/b80fe29157d80a63122c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)