Ambariアップグレードがロールバック修復に失敗しました(データベースロールバック+ダウングレード+バグ修正)

1.背景紹介

以前、Ambariの2.2.18バージョンを使用していました。アップグレードしようとしたときに操作が不適切だったため、作成者はアップグレードに失敗しました。何度かひねりを加えた後、ロールバック操作がようやく実現しました。ambariの失敗したアップグレードロールバックとデータベースロールバックに関する現在の情報が非常に断片化されることはめったにないという事実を考慮して、著者はこの記事を要約してあなたと共有しました。アップグレードの失敗の問題が発生した場合は、この記事を注意深く読んでください。解決策を見つけることができるはずです。

2.誤操作

  1. 2.2から2.4にアップグレードするには、ambari-server / agent / grafana / ambariメトリックコレクターとその他のコンポーネントを個別にアップグレードする必要があり、順序は公式ドキュメントの要件に従う必要があります。アップグレード前にambariサーバーを起動すると、予期しないエラーが発生します。
  2. ambari-server Web UIのバックグラウンドオプションが動かなくなった場合は、エラーとハートビートが待機している必要があります。操作を終了するために多数の一時停止を送信しないように注意してください。正しい方法は、/ var / logの下にある関連ログを確認することです。トラブルシューティング後、オプションは自然に続行されます。
  3. データベースをバックアップせずにambari-serverresetを実行しないでください。そうしないと、既存のクラスターが失われ、ambariインストールインターフェイスに戻ります。
  4. すべてのアップグレード操作の前に、必ずデータベースambariとambarircaをバックアップしてください。同時に、必ず/etc/ambari-server/conf/ambari.propertiesファイルをバックアップしてください。作成者が推奨する操作は、confフォルダー全体をバックアップすることです。
    1.备份ambari数据库
    pg_dump -U postgres ambari > /usr/local/ambari_bak/ambari_rec.sql
    2.备份ambarirca数据库
    pg_dump -U postgres ambarirca > /usr/local/ambari_bak/ambarirca_rec.sql
    3.备份ambari-server的conf目录
    cp -R /etc/ambari-server/conf /usr/local/ambari_bak

3.主要なバグ修正レコード

  • アップグレードまたはダウングレードが間違っていると、データベーススキーマに記録されているサーバーのバージョンがサーバーの実際のバージョンと一致しなくなります。ambariサーバーのアップグレードを実行する前に、データベース内のサーバーバージョン情報が実際の情報と一致しているかどうかを確認する必要があります。
Current database store version is not compatible with current server version

分析:ここでのデータベースのバージョンは、現在のサーバーのバージョンよりも高いまたは低い可能性があります。これは通常、アップグレード中に発生する問題です。現時点では、データベースのバージョンは現在のサーバーのバージョンよりも低くなっています。これは通常、オンライン資料。このとき、ambari-serverのアップグレードを実行する必要があります。しかし、私が遭遇したのは、ダウングレード中に発生したエラーでした。これは、データベースのバージョンが現在のサーバーのバージョンよりも高いために現れました。この場合、データベースを再インストールするか、データベースを再初期化することしかできません。

  • エージェントノードのcommon-servicesフォルダーの下にあるサービスmetainfo.xmlが見つからないことを報告します
Caused by: org.apache.ambari.server.AmbariException: Stack Definition Service at '/var/lib/ambari-server/resources/common-services/PXF/3.0.0/metainfo.xml' doesn't contain a metainfo.xml file

分析:このエラーは通常、ambari-agentの誤った再インストールまたは不完全なアンインストールが原因で発生します。すべてのエージェントノードの/ var / lib / ambari-agentディレクトリを削除し、すべてのノードでyum -y removeambari-agentを実行する必要があります

  • アンバリアップグレードの一部の後、エージェントを開始できません。エージェントログは次のとおりです。
('INFO 2013-03-06 10:37:42,580 NetUtil.py:58 - Failed to connect to https://localhost:8440/cert/ca due to [Errno 111] Connection refused
INFO 2013-03-06 10:37:42,580 NetUtil.py:77 - Server at https://localhost:8440 is not reachable,

分析:インターネット上でこのエラーについて多くの意見があり、opensslをアップグレードしているもの、oracle JDKをアップグレードしているもの、変更しているものがありますが、作者は役に立たなかった。通常、このエラーは、ambari-agentを手動でインストールするか、一部のバージョンのambariをアップグレードした後に発生します。正しい方法は、/ etc / ambari-agent / confの下にあるambari-agent.iniファイルを変更することです。次のプロセスに従って検証できます。

1.这里的hostname一定是全部agent节点都填写主节点(ambari-server)节点的hostname
[server]
hostname=bdp01.szmg.com.cn
url_port=8440
secured_url_port=8441


2.如果无法解决,可尝试下面策略(增加protocol信息)
[security]
keysdir=/var/lib/ambari-agent/keys
server_crt=ca.crt
passphrase_env_var_name=AMBARI_PASSPHRASE
#下面这行是增加的
force_https_protocol=PROTOCOL_TLSv1_2

  • ambari-serverを起動すると、さまざまなチェックデータベースのフィールドタイプが一致しない、オブジェクトタイプが間違っているなどの報告があります。

解決策:データベースのロールバック

 

4.データベースのロールバック(ロールバック)+サービスのダウングレード(ダウングレード)

上記の操作でもアップグレードの失敗の問題を解決できない場合、最後の万能薬はすべてのプラスのダウングレードをロールバックすることです。これは多くの場合、危険な操作が原因で発生します。たとえば、作成者はアップグレードの失敗に遭遇し、データベースをチェックせずにアップグレードしたり、ambari-serverをリセットしたりして、最終的に次のプロセスでビジネスの回復を達成しました。

  1. ambri-serverとagentはすべて閉じられ、ambariメタベースは閉じられます
  2. ambari.propertiesをバックアップします
  3. すべてのノードのすべてのambari.repoは、前のリポジトリファイルでカバーされています
  4. ambari-server、ambari-agent、grafana、ambari-metrics-collector、ambari-metrics-monitor、ambari-metrics-hadoop-sinkを含む、すべてのバージョンがアップグレード前のバージョンにダウングレードされます。子ノードのサービスは、すべてのノードでダウングレードする必要があります。ダウングレード後、バージョンを確認してください。
降级命令:
替换repo后 yum update
降级:
yum downgrade ambari-server
yum downgrade ambari-agent
yum downgrade grafana
yum downgrade ambari-metrics-monitor ambari-metrics-hadoop-sink ambari-metrics-collector
主节点:
[root@bdp01 package]# rpm -qa|grep ambari
ambari-metrics-collector-2.2.2.18-1.x86_64
ambari-metrics-monitor-2.2.2.18-1.x86_64
ambari-server-2.2.2.18-1.x86_64
ambari-metrics-hadoop-sink-2.2.2.18-1.x86_64
ambari-agent-2.2.2.18-1.x86_64
子节点:
[root@bdp07 conf]# rpm -qa |grep ambari
ambari-metrics-hadoop-sink-2.2.2.18-1.x86_64
ambari-metrics-monitor-2.2.2.18-1.x86_64
ambari-agent-2.2.2.18-1.x86_64
  1. ambariメタベースを再インストールします
1.删除postgresql数据库
yum -y remove postgresql postgresql-libs
2.重装
yum -y install postgresql
3.数据库init
sudo service postgresql initdb 
4.rollback
 CREATE ROLE ambari WITH LOGIN PASSWORD 'bigdata';
 CREATE ROLE mapred WITH LOGIN PASSWORD 'mapred';
 create database ambari;
 create database ambarirca;
 psql -U postgres ambari < /usr/local/ambari_bak/ambari_rec.sql
 psql -U postgres -d ambarirca < /usr/local/ambari_bak/ambarirca_rec.sql

 

おすすめ

転載: blog.csdn.net/weixin_36714575/article/details/84790281