Apache Kokubi (Incubating)、Lakehouse でサーバーレス SQL を提供するための分散マルチテナント ゲートウェイ。この記事は kyuubi の入門記事であり、Kyubi の基本的なインストールと使用方法を紹介し、Spark エンジンを例として最初の Spark SQL タスクを送信する方法を説明します。
また、記事「Kyubi と Spark ThriftServer の包括的な比較分析」を読んで、Kyubi と Spark ThriftServer の類似点と相違点を理解することもできます。
インストールパッケージのダウンロード
次のページに移動して、kyuubi インストール パッケージをダウンロードします: https://kyuubi.apache.org/releases.html . 以下では、1.5.0 のインキュベーション バージョンを例として取り上げます。
mkdir /data && cd /data
wget https://dlcdn.apache.org/incubator/kyuubi/kyuubi-1.5.0-incubating/apache-kyuubi-1.5.0-incubating-bin.tgz
tar zxvf apache-kyuubi-1.5.0-incubating-bin.tgz
ln -s apache-kyuubi-1.5.0-incubating-bin kyuubi
ここでは Spark エンジンを使用しているため、Spark インストール パッケージもダウンロードする必要があります。
cd /data
wget https://www.apache.org/dyn/closer.lua/spark/spark-3.2.1/spark-3.2.1-bin-hadoop3.2.tgz
tar zxvf spark-3.2.1-bin-hadoop3.2.tgz
ln -s spark-3.2.1-bin-hadoop3.2 spark
設定ファイルを変更する
cd conf
cp spark-env.sh.template spark-env.sh
vim スパーク環境.sh
HADOOP_CONF_DIR を設定する
エクスポート HADOOP_CONF_DIR=/etc/hadoop/conf
Spark タスクを Yarn に送信できるかどうかをテストする
bin/spark-submit --master yarn --class org.apache.spark.examples.SparkPi ./examples/jars/spark-examples_2.12-3.2.1.jar
次の結果を取得します
設定ファイルの変更
設定ファイルを変更する
cd /data/kyuubi
cd conf
cp kyuubi-defaults.conf.template kyuubi-defaults.conf
cp kyuubi-env.sh.template kyuubi-env.sh
cp log4j2.properties.template log4j2.properties
上記ファイルの設定パラメータについては、https: //kyuubi.apache.org/docs/latest/deployment/settings.htmlを参照してください。
以下では、例として HDP 3.1.4 を取り上げます。
kyuubi-env.shの内容は以下の通りです
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64
export SPARK_HOME=/data/spark
export HADOOP_CONF_DIR=/etc/hadoop/conf
export KYUUBI_JAVA_OPTS="-Xmx6g -XX:+UnlockDiagnosticVMOptions -XX:ParGCCardsPerStrideChunk=4096 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly -XX:+CMSClassUnloadingEnabled -XX:+CMSParallelRemarkEnabled -XX:+UseCondCardMark -XX:MaxDirectMemorySize=1024m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./logs -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -Xloggc:./logs/kyuubi-server-gc-%t.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=5M -XX:NewRatio=3 -XX:MetaspaceSize=512m"
export KYUUBI_BEELINE_OPTS="-Xmx2g -XX:+UnlockDiagnosticVMOptions -XX:ParGCCardsPerStrideChunk=4096 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly -XX:+CMSClassUnloadingEnabled -XX:+CMSParallelRemarkEnabled -XX:+UseCondCardMark"
kyuubi-defaults.confの内容は以下の通りです。
kyuubi.ha.zookeeper.quorum hadoop1:2181,hadoop2:2181,hadoop3:2181
spark.master yarn
log4j2.properties ファイルを変更する必要はありません。
九尾スタート
bin/kyuubi start
キュウビが起動していることがわかります
ビーラインを使ってキュウビに接続する
bin/beeline -u "jdbc:hive2://hadoop1:2181,hadoop2:2181,hadoop3:2181/default;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=kyuubi" -n hdfs
得る
YARN UI を表示する