Hadoopのアップグレード

Hadoop配信の新規バージョンにアップグレードする場合、BDDクラスタと統合するように更新する必要があります。bdd-adminスクリプトを使用してこれを実行できます。

スクリプトを実行する前に、配信用の新規Hadoopクライアント・ライブラリを取得し、それを管理サーバーに移動する必要があります。スクリプトが実行されると、これらのライブラリを使用して、新規fat jarを生成します。これはその後すべてのBDDノードに配信されます。

「Hadoopクライアント構成ファイルの更新」で説明されているように、スクリプトは、新規Hadoopクライアント構成ファイルの取得および配信も行います。

注意: bdd-adminを使用して、別のHadoop配信に切り替えることはできません。たとえば、CDH 5.4からCDH 5.5にはアップグレードできますが、HDP 2.3にはアップグレードできません。

Hadoopをアップグレードするには、次の手順を実行します。

  1. 管理サーバーの$BDD_HOME/BDD_manager/binから次を実行して、BDDクラスタを停止します。
    ./bdd-admin.sh stop [-t <minutes>]
  2. ディストリビューションのドキュメントの説明に従って、Hadoopクラスタをアップグレードします。
  3. BDDをインストールする前に行ったすべての構成変更(YARN設定など)がアップグレード中にリセットされなかったか、確認します。
    さらにHDPを保有している場合は、次を実行します。
    1. mapred-site.xmlで、${hdp.version}のすべてのインスタンスをHDPバージョン番号に置き換えます。
    2. hive-site.xmlで、次のプロパティの値からsを削除します。
      • hive.metastore.client.connect.retry.dealay
      • hive.metastore.client.cocket.timeout
    MapRを保有しており、新しいバージョンのMapRで別のバージョンのMapRクライアントを使用する必要がある場合は、MapRクライアントを再インストールして再構成できます。MapRクライアントは、MapRクラスタの一部ではないすべてのDgraph、Studioおよび変換サービス・ノードの$PATHにインストールし、追加する必要があります。クライアントのインストール手順は、MapRのドキュメントのMapRクライアントのインストールの項を参照してください。
  4. 新規バージョンのHadoop配信用のクライアント・ライブラリを取得し、それを管理サーバーに配置します。
    実行時にbdd-adminスクリプトにパスを指定するため、ライブラリを配置する位置は任意です。
    • CDHを保有している場合は、http://archive-primary.cloudera.com/cdh5/cdh/5/から次のパッケージをダウンロードし、解凍します。
      • spark-<spark_version>.cdh.<cdh_version>.tar.gz
      • hive-<hive_version>.cdh.<cdh_version>.tar.gz
      • hadoop-<hadoop_version>.cdh.<cdh_version>.tar.gz
      • avro-<avro_version>.cdh.<cdh_version>.tar.gz
    • HDPを保有している場合は、次のディレクトリをHadoopノードから管理サーバーにコピーします。
      • /usr/hdp/<version>/pig/lib/h2/
      • /usr/hdp/<version>/hive/lib/
      • /usr/hdp/<version>/spark/lib/
      • /usr/hdp/<version>/spark/external/spark-native-yarn/lib/
      • /usr/hdp/<version>/hadoop/
      • /usr/hdp/<version>/hadoop/lib/
      • /usr/hdp/<version>/hadoop-hdfs/
      • /usr/hdp/<version>/hadoop-hdfs/lib/
      • /usr/hdp/<version>/hadoop-yarn/
      • /usr/hdp/<version>/hadoop-yarn/lib/
      • /usr/hdp/<version>/hadoop-mapreduce/
      • /usr/hdp/<version>/hadoop-mapreduce/lib/
    • MapRを保有している場合は、次のディレクトリをHadoopノードから管理サーバーにコピーします。
      • /opt/mapr/spark/spark-<version>/lib
      • /opt/mapr/hive/hive-<version>/lib
      • /opt/mapr/zookeeper/zookeeper-<version>
      • /opt/mapr/zookeeper/zookeeper-<version>/lib
      • /opt/mapr/hadoop/hadoop-<version>/share/hadoop/common
      • /opt/mapr/hadoop/hadoop-<version>/share/hadoop/common/lib
      • /opt/mapr/hadoop/hadoop-<version>/share/hadoop/hdfs
      • /opt/mapr/hadoop/hadoop-<version>/share/hadoop/hdfs/lib
      • /opt/mapr/hadoop/hadoop-<version>/share/hadoop/mapreduce
      • /opt/mapr/hadoop/hadoop-<version>/share/hadoop/mapreduce/lib
      • /opt/mapr/hadoop/hadoop-<version>/share/hadoop/tools/lib
      • /opt/mapr/hadoop/hadoop-<version>/share/hadoop/yarn
      • /opt/mapr/hadoop/hadoop-<version>/share/hadoop/yarn/lib
  5. BDDクラスタを起動します。
    ./bdd-admin.sh start
  6. 次を実行して、BDD'のHadoop構成を更新します。
    ./bdd-admin.sh publish-config hadoop -l <path[,path]> -j <file>
    説明:
    • <path[,path]>は、管理サーバー上の各クライアント・ライブラリへの絶対パスのカンマ区切りリストです。HDPクラスタの場合、ライブラリは、上にリストされた順序で指定する必要があります
    • <file>は、Hadoopノード上のYARN jarのSparkへの絶対パスです。Hadoopインストール環境の場所が変更されていないかぎり、$BDD_HOME/BDD_manager/conf/bdd.confSPARK_ON_YARN_JARの値を使用できます。念のために、パスをダブルチェックしてください。
  7. 変更が有効になるように、クラスタを再起動します。
    ./bdd-admin.sh restart [-t <minutes>]