Проблема
В настройках registry каким-то чудом прописали два одинаковых порта на http и https — они должны быть разные.После рестарта nexus не запускается из-за этого:
|
|
Как я это лечил в кубере
Важно: запускать докер от пользователя кому принадлежит БД, если этого не сделать — некоторые таблицы потом становятся не читаемые — приходится потом делать chown на нужного пользователя.
Зайти на ноду, куда зацепился pv/pvc
docker run --rm -ti -v /var/lib/kubelet/plugins/kubernetes.io/csi/pv/pv-nexus-dev/globalmount:/tmp1 sonatype/nexus3:3.39.0 /bin/bash java -jar /opt/sonatype/nexus/lib/support/nexus-orient-console.jar
Просмотр репозиториев:
connect plocal:/tmp1/db/config admin admin orientdb {db=config}> select * from repository limit 100 +----+------+---------+------+---------+---------+---------+---------------------------------------------------------------------------------------------+ |# |@RID |@CLASS |online|recipe_na|routingRu|repositor|attributes | +----+------+---------+------+---------+---------+---------+---------------------------------------------------------------------------------------------+ |0 |#37:0 |reposi...|true |nuget-...| |nuget-...|{storage={writePolicy=ALLOW, blobStoreName=default}} | |1 |#37:1 |reposi...|true |nuget-...| |nuget-...|{group={memberNames=[nuget-hosted, nuget.org-proxy]}, storage={blobStoreName=default}} | |2 |#37:2 |reposi...|true |maven2...| |maven-...|{maven={versionPolicy=SNAPSHOT, layoutPolicy=STRICT}, storage={writePolicy=ALLOW, strictCo...| |3 |#37:3 |reposi...|true |maven2...| |maven-...|{maven={versionPolicy=MIXED}, group={memberNames=[maven-releases, maven-snapshots, maven-c...| |4 |#37:4 |reposi...|true |maven2...| |maven-...|{proxy={contentMaxAge=-1.0, remoteUrl=https://repo1.maven.org/maven2/, metadataMaxAge=1440...| |5 |#37:5 |reposi...|true |maven2...| |web-ma...|{maven={versionPolicy=RELEASE, layoutPolicy=STRICT}, storage={strictContentTypeValidation=...| |6 |#37:6 |reposi...|true |maven2...| |web-ma...|{cleanup={policyName=[None]}, maven={versionPolicy=RELEASE, layoutPolicy=STRICT}, storage=...| |7 |#37:7 |reposi...|true |pypi-h...| |kkryuc...|{cleanup={policyName=[None]}, component={proprietaryComponents=false}, storage={strictCont...| |8 |#37:8 |reposi...|true |npm-ho...| |npm-pr...|{storage={strictContentTypeValidation=true, writePolicy=ALLOW_ONCE, blobStoreName=default}} |
Вывести нужную строку:
select * from repository where @RID = "#38:3" +----+-----+---------+------+---------+---------+---------+---------------------------------------------------------------------------------------------+ |# |@RID |@CLASS |online|recipe_na|routingRu|repositor|attributes | +----+-----+---------+------+---------+---------+---------+---------------------------------------------------------------------------------------------+ |0 |#38:3|reposi...|true |docker...| |docker...|{component={proprietaryComponents=false}, docker={v1Enabled=true, forceBasicAuth=true, htt...| +----+-----+---------+------+---------+---------+---------+---------------------------------------------------------------------------------------------+
Показать полное значение полей:
orientdb {db=config}> DISPLAY RAW RECORD 0 LOW LEVEL CLUSTER INFO status: PRESENT cluster fieldId: 9109013009270833256 cluster name: repository_1 in cluster position: 3 empty: false contentSize: 351 n-pages: 1 +----------PAGE_ID---------------+------IN_PAGE_POSITION----------+---------IN_PAGE_SIZE-----------+----PAGE_CONTENT---->> | 1 | 3 | 360 |ZFoBAAAAFHJlcG9zaXRvcnmDAQAAACufAQAAATydAQAAAUqjAQAAAVmhAQAAAAAABgcSY29tcG9uZW50AAAAVwwHDGRvY2tlcgAAAHUMBw5zdG9yYWdlAAAAzAwCBypwcm9wcmlldGFyeUNvbXBvbmVudHMAAAB0AAAIBxJ2MUVuYWJsZWQAAAC6AAccZm9yY2VCYXNpY0F1dGgAAAC7AAcSaHR0cHNQb3J0AAAAvAUHEGh0dHBQb3J0AAAAxAUBAUC/kwAAAAAAQL+TAAAAAAAIBzZzdHJpY3RDb250ZW50VHlwZVZhbGlkYXRpb24AAAEoAAcWd3JpdGVQb2xpY3kAAAEpBwcYbGF0ZXN0UG9saWN5AAABLwAHGmJsb2JTdG9yZU5hbWUAAAEwBwEKQUxMT1cAFmRvY2tlci1ibG9iGmRvY2tlci1ob3N0ZWQcZG9ja2VyLXByaXZhdGUBAf////////// RECORD CONTENT INFO class name: repository fail on Reading: false fail position: 0 number of properties : 5 PROPERTIES property name: attributes property type: EMBEDDEDMAP property globalId: 65 fail on reading: false property value: {component={proprietaryComponents=false}, docker={v1Enabled=true, forceBasicAuth=true, httpsPort=8083.0, httpPort=8083.0}, storage={strictContentTypeValidation=true, writePolicy=ALLOW, latestPolicy=false, blobStoreName=docker-blob}} property name: recipe_name property type: STRING property globalId: 79 fail on reading: false property value: docker-hosted property name: repository_name property type: STRING property globalId: 78 fail on reading: false property value: docker-private property name: online property type: BOOLEAN property globalId: 81 fail on reading: false property value: true property name: routingRuleId property type: LINK property globalId: 80 fail on reading: false property value: null
Сделать бекап:
export database /tmp1/config.export Exporting current database to: database /tmp1/config.export in GZipped JSON format ... Started export of database 'config' to /tmp1/config.export.gz... Exporting database info...OK .......
В файле бекапа посмотреть как правильно пишется значение, поправить значение, проапдейтить:
# обновлять каждую компоненту отдельно — тогда будет проставляться знак равно
update repository set attributes.component={"proprietaryComponents":false} where @RID="#38:3" update repository set attributes.docker={"v1Enabled":true,"forceBasicAuth":true,"httpPort":8083.0} where @RID="#38:3"
PS:
Посмотреть таблицы:
orientdb {db=config}> LIST CLASSES CLASSES +----+------------------------+-------------+-------------------------------------------------------+-----+ |# |NAME |SUPER-CLASSES|CLUSTERS |COUNT| +----+------------------------+-------------+-------------------------------------------------------+-----+ |0 |capability | |capability(29),capability_1(30) | 13| |1 |change_repo_blobstore | |change_repo_blobstore(54),change_repo_blobstore_1(55) | 0| |2 |cleanup | |cleanup(35),cleanup_1(36) | 3| |3 |deploymentidentifier | |deploymentidentifier(49) | 1| |4 |E | |e(11),e_1(12) | 0| |5 |email | |email(34) | 1| |6 |firewall_ignore_patterns| |firewall_ignore_patterns(22) | 1| |7 |healthcheckconfig | |healthcheckconfig(23),healthcheckconfig_1(24) | 25| |8 |http_client | |http_client(33) | 1| |9 |key_store | |key_store(27),key_store_1(28) | 2| |10 |ldap | |ldap(14),ldap_1(15) | 0| |11 |ldap_connection | |ldap_connection(18),ldap_connection_1(19) | 0| |12 |ldap_host | |ldap_host(16),ldap_host_1(17) | 0| |13 |ldap_mapping | |ldap_mapping(20),ldap_mapping_1(21) | 0| |14 |log4j_visualizer | |log4j_visualizer(56) | 0| |15 |OFunction | |ofunction(6) | 0|
ссылка на оригинал статьи https://habr.com/ru/articles/751970/
Добавить комментарий