この記事では、 spark2.1.0のソースコードコンパイルを紹介します
1.コンパイル環境:
Jdk1.8以上
Hadoop2.7.3
Scala2.10.4
必要条件:
Maven 3.3.9以降(重要)
ダウンロードするにはこちらをクリック
http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
/conf/setting.xmlを変更します
<ミラー>
<id> alimaven </ id>
<name> aliyun maven </ name>
<url> http://maven.aliyun.com/nexus/content/groups/public/ </ url>
<mirrorOf>中央</ mirrorOf>
</ミラー>
2. ダウンロードhttp://spark.apache.org
2.1ダウンロード
2.2。 解凍
tar -zxvf spark-2.1.0.tgz
3. メインディレクトリに入り、コンパイルされたファイルを変更して、コンパイルします
spark-2.1.0 / devディレクトリのmake-distribution.shを変更し、指定された元のバージョンをコメントアウトします。これにより、時間を節約できます。
vi make-distribution.sh
チップ:
ファイルの図に示されているように、 czfの前の「- 」は少ないので、自分で変更する必要があります
注意:
使用するHadoopバージョンがcdhの場合、sparkルートディレクトリのpom.xmlファイルを変更し、cdhの依存関係を追加する必要があります。
<repository>
<id> cloudera </ id>
<name> cloudera Repository </ name>
<url> https://repository.cloudera.com/artifactory/cloudera-repos/ </ url>
</ repository>
追加在<リポジトリ> </ repositorys>里
3.1メモリの設定
export MAVEN_OPTS = "-Xmx2g -XX:ReservedCodeCacheSize = 512m"
3.2コンパイル
./dev/make-distribution.sh \
-名前2.7.3 \
--tgz \
-Pyarn \
-Phadoop-2.7 \ -Dhadoop.version = 2.7.3 \
-Phive -Phive-thriftserver \
-DskipTestsクリーンパッケージ
次に、静かに待ちます。ダウンロードするパッケージが多数あるため、最初のコンパイル時間は、ネットワーク速度に応じて、非常に長く、数時間または10時間になる場合があります。
コマンドの説明:
--name 2.7.3 ***コンパイルされたスパーク名を指定します。name =
--tgz *** tgz形式に圧縮
-Pyarn \ ***サポートヤーンプラットフォーム
-Phadoop-2.7 \ -Dhadoop.version = 2.7.3 \ *** hadoopバージョン2.7.3を指定します
-Phive -Phive-thriftserver \ ***支持ハイブ
-DskipTestsクリーンパッケージ***テストパッケージをスキップ
さて、火花の編集はここにあります
コンパイルで発生した問題のいくつかを共有しましょう
エラー1 :
プロジェクトspark-launcher_2.11で目標を実行できませんでした:
プロジェクトorg.apache.spark:spark-launcher_2.11:jar:2.1.0の依存関係を解決できませんでした:
https://repo1.maven.org/maven2でorg.apache.hadoop:hadoop-client:jar:hadoop2.7.3が見つからなかった場合、ローカルリポジトリにキャッシュされました。
resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]
解决:遇该错误,原因可能是编译命令中有参数写错。。。。(希望你没遇到)
错误2:
+ tar czf 'spark-[info] Compile success at Nov 28, 2017 11:27:10 AM [20.248s]-bin-2.7.3.tgz' -C /zhenglh/new-spark-build/spark-2.1.0 'spark-[info] Compile success at Nov 28, 2017 11:27:10 AM [20.248s]-bin-2.7.3'
tar (child): Cannot connect to spark-[info] Compile success at Nov 28, 2017 11: resolve failed
编译的结果没打包:
spark-[info] Compile success at Nov 28, 2017 11:27:10 AM [20.248s]-bin-2.7.3
这个错误可能第一次编译的人都会遇到
解决:见温馨提示