Apache Kylin(2)EMRでのKylinの構築

EMRでキリンを構築する

1. EMRクラスターを起動します

公式ウェブサイトによると:

 http://kylin.apache.org/docs21/install/kylin_aws_emr.html

 

EMRを開始するときに、hbaseデータがs3に格納されている場合は、次の構成を指定する必要があります。

[{

    "分類": "hbase-site"、

    "プロパティ": {

      "hbase.rpc.timeout": "3600000"、

      "hbase.rootdir": "s3:// yourbucket / EMRROOT"

    }

  }、

  {

    "分類": "hbase"、

    "プロパティ": {

      "hbase.emr.storageMode": "s3"

    }

  }

]

 

HBaseストレージとしてs3を使用する場合は、hbase.rpc.timeoutの時間を増やす必要があります。s3への一括ロードはコピー操作であるため、データ量が多い場合、HBaseリージョンサーバーは完了するまでにさらに時間が必要です(HDFSと比較して)。

 

2. kylinをインストールする

sudo mkdir / usr / local / kylin

sudo chown hadoop / usr / local / kylin

cd / usr / local / kylin /

wget https://mirror.bit.edu.cn/apache/kylin/apache-kylin-2.6.5/apache-kylin-2.6.5-bin-hbase1x.tar.gz

tar -zxvf apache-kylin-2.6.5-bin-hbase1x.tar.gz

 

3. Kylinを構成する

/etc/hbase/conf/hbase-site.xmlから次の構成をコピーします。

    <プロパティ>

        <name> hbase.zookeeper.quorum </ name>

        <value> ip-10-0-3-107.cn-north-1.compute.internal </ value>

    </プロパティ>

 

そして、kylin_job_conf.xmlに入力します。

 

EMRは一時/中間ファイルストレージとしてHDFSを使用することを推奨し、S3は初期入力データと最終出力結果のストレージにのみ使用されます。Kylinには構成hdfs-working-dirがあり、キューブ構築、立方体ファイル、一部のメタデータファイル(HBaseには適さないディクショナリやテーブルのスナップショットなど)などの中間データを格納するために使用されます。 HDFSはHDFS用に構成されています。

HDFSがKylinの作業ディレクトリとして使用されている場合、Kylinのデフォルト設定を使用するだけで済みます。kylin.propertiesには、次の構成があります。

kylin.env.hdfs-working-dir = / kylin

 

クラスターをシャットダウンする前に、/ kylinディレクトリ(HDFS上の)のデータをS3にバックアップしてください。s3-dist-cpを使用してください。そうしないと、データが失われ、後でクラスターを回復できなくなる可能性があります。

S3を「kylin.env.hdfs-working-dir」として使用する場合は、kylin.propertiesで次の構成を変更する必要があります。

kylin.env.hdfs-working-dir = s3:// your_bucket / kylin

kylin.storage.hbase.cluster-fs = s3:// your_bucket

kylin.source.hive.redistribute-flat-table = false

 

この方法では、中間一時ファイルとHFileがS3に書き込まれ、ビルドのパフォーマンスもHDFSよりも遅くなります。

 

4. Hadoop構成

S3のパフォーマンスを向上させ、一部のデータ整合性の問題を回避するには、一部のHadoop構成を変更する必要があります。

<プロパティ>

  <name> io.file.buffer.size </ name>

  <値> 65536 </値>

</プロパティ>

<プロパティ>

  <name> mapred.map.tasks.speculative.execution </ name>

  <値>偽</値>

</プロパティ>

<プロパティ>

  <name> mapred.reduce.tasks.speculative.execution </ name>

  <値>偽</値>

</プロパティ>

<プロパティ>

  <name> mapreduce.map.speculative </ name>

  <値>偽</値>

</プロパティ>

<プロパティ>

  <name> mapreduce.reduce.speculative </ name>

  <値>偽</値>

</プロパティ>

 

主にioバッファーを増やし、投機的実行を閉じます。

kylinのhdfs作業ディレクトリーが存在しない場合は、最初にこの作業ディレクトリーを作成します。

hadoop fs -mkdir / kylin

 

作業ディレクトリがs3にある場合:

hadoop fs -mkdir s3:// your_bucket / kylin

 

5. Kylinを起動します

起動方法は、基本的にはHadoopメソッドと同じです。

エクスポートKYLIN_HOME = / usr / local / kylin / apache-kylin-3.0.1-bin-hbase1x

$ KYLIN_HOME / bin / sample.sh

$ KYLIN_HOME / bin / kylin.sh start

 

期間中にspark homeのようなエラーが存在しない場合は、次のコマンドを実行します。

エクスポートSPARK_HOME = $ {SPARK_HOME:-/ usr / lib / spark}

 

KylinのWebサービスポートは7070で始まるため、クライアントIPにアクセスするには、マスターノードセキュリティグループの7070ポートを開く必要があります。

 

ログイン後のインターフェースは次のとおりです。

 

 

おすすめ

転載: www.cnblogs.com/zackstang/p/12748061.html