ΠΠ°Π²Π΅ΡΠ½ΠΎΠ΅, Π½ΠΈ Π΄Π»Ρ ΠΊΠΎΠ³ΠΎ Π½Π΅ ΡΠ΅ΠΊΡΠ΅Ρ, ΡΡΠΎ ΠΏΡΠΎΡΠ»ΡΠΉ Π³ΠΎΠ΄ Π΄Π»Ρ Apache Hadoop ΡΡΠ°Π» Π³ΠΎΠ΄ΠΎΠΌ Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½. Π ΠΏΡΠΎΡΠ»ΠΎΠΌ Π³ΠΎΠ΄Ρ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Cloudera ΠΈ Hortonworks (ΠΏΠΎ ΡΡΡΠΈ, ΠΏΠΎΠ³Π»ΠΎΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΎΡΠΎΠ³ΠΎ), Π° Mapr, Π² Π²ΠΈΠ΄Ρ ΡΠ΅ΡΡΠ΅Π·Π½ΡΡ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π±ΡΠ» ΠΏΡΠΎΠ΄Π°Π½ Hewlett Packard. Π Π΅ΡΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π³ΠΎΠ΄Π°ΠΌΠΈ ΡΠ°Π½Π΅Π΅, Π² ΡΠ»ΡΡΠ°Π΅ on-premises ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΉ, Π²ΡΠ±ΠΎΡ ΡΠ°ΡΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π΄Π΅Π»Π°ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Cloudera ΠΈ Hortonworks, ΡΠΎ ΡΠ΅Π³ΠΎΠ΄Π½Ρ, ΡΠ²Ρ, ΡΡΠΎΠ³ΠΎ Π²ΡΠ±ΠΎΡΠ° Ρ Π½Π°Ρ Π½Π΅ ΠΎΡΡΠ°Π»ΠΎΡΡ. Π‘ΡΡΠΏΡΠΈΠ·ΠΎΠΌ ΡΡΠ°Π» Π΅ΡΠ΅ ΠΈ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ Cloudera Ρ ΡΠ΅Π²ΡΠ°Π»Ρ ΡΡΠΎΠ³ΠΎ Π³ΠΎΠ΄Π° ΠΎΠ±ΡΡΠ²ΠΈΠ»Π° ΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ΠΈΠΈ Π²ΡΠΏΡΡΠΊΠ° Π±ΠΈΠ½Π°ΡΠ½ΡΡ ΡΠ±ΠΎΡΠΎΠΊ ΡΠ²ΠΎΠ΅Π³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Π² ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ½ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π»ΠΈΡΡ ΠΏΠΎ ΠΏΠ»Π°ΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠ΅. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ CDH ΠΈ HDP, Π²ΡΠΏΡΡΠ΅Π½Π½ΡΡ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° 2019-Π³ΠΎ Π³ΠΎΠ΄Π°, Π²ΡΠ΅ Π΅ΡΠ΅ Π΅ΡΡΡ, ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠΎ Π½ΠΈΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ-Π΄Π²ΡΡ Π»Π΅Ρ. ΠΠΎ ΡΡΠΎ ΠΆΠ΅ Π΄Π΅Π»Π°ΡΡ Π΄Π°Π»ΡΡΠ΅? ΠΠ»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ ΡΠ°Π½Π΅Π΅ ΠΏΠ»Π°ΡΠΈΠ» Π·Π° ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΡ, Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ. Π Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ Π½Π΅ Ρ ΠΎΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ Π½Π° ΠΏΠ»Π°ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Ρ ΠΎΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ²Π΅ΠΆΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ΅ΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ°ΡΡΠΈ ΠΈ ΠΏΡΠΎΡΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, ΠΌΡ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ»ΠΈ ΡΡΡ ΡΡΠ°ΡΡΡ. Π Π½Π΅ΠΉ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠ»ΠΎΠΆΠΈΠ²ΡΠ΅ΠΉΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ.
Π‘ΡΠ°ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ±Π·ΠΎΡΠ½Π°Ρ. Π Π½Π΅ΠΉ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΈΡ
ΡΠ°Π·Π±ΠΎΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΡΠ΅ΠΏΡΠΎΠ² ΠΏΠΎ ΠΈΡ
ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅. Π ΡΡΠΎ ΠΆΠ΅ Π±ΡΠ΄Π΅Ρ? ΠΡ Π²ΠΊΡΠ°ΡΡΠ΅ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΏΡΠΎ ΡΠ°ΠΊΠΎΠΉ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² ΠΊΠ°ΠΊ Arenadata Hadoop, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎ ΠΏΡΠ°Π²Ρ Π·Π°ΡΠ»ΡΠΆΠΈΠ» Π½Π°ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π²Π²ΠΈΠ΄Ρ ΡΠ²ΠΎΠ΅ΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ, ΡΡΠΎ Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ΅Π΄ΠΊΠΎΡΡΡ. Π Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΡΠΎ Vanilla Hadoop, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΡΠΎ ΡΠΎ, ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ βΠΏΡΠΈΠ³ΠΎΡΠΎΠ²ΠΈΡΡβ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Apache Bigtop. ΠΠΎΡΠΎΠ²Ρ? Π’ΠΎΠ³Π΄Π° Π΄ΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ ΠΊΠ°Ρ.
Arenadata Hadoop
ΠΡΠΎ ΡΠΎΠ²ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΠΈ, ΠΏΠΎΠΊΠ° Π΅ΡΠ΅, ΠΌΠ°Π»ΠΎ ΠΊΠΎΠΌΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² ΠΎΡΠ΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π° Ρ
Π°Π±ΡΠ΅ ΠΎ Π½Π΅ΠΌ Π΅ΡΡΡ Π»ΠΈΡΡ
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ roadmap ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Arenadata Cluster Manager
ΠΠ»ΡΡΠ΅Π²ΡΠΌ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠΌ Arenadata ΡΠ²Π»ΡΠ΅ΡΡΡ
ΠΠ»Ρ Π΄Π΅ΠΏΠ»ΠΎΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Hadoop 3 ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ community-Π²Π΅ΡΡΠΈΡ Π±Π°Π½Π΄Π»Π° Π² ΡΠ²ΡΠ·ΠΊΠ΅ Ρ ADCM, Π° Π΄Π»Ρ hadoop 2 Π΅ΡΡΡ Π»ΠΈΡΡ
ΠΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΠΌΠΈΠ½ΡΡΠ°Ρ , ΡΠΎ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΡΠ΅ΠΌΠΈ ΠΆΠ΅, ΡΡΠΎ ΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² Hadoop. Π ΠΈΠΌΠ΅Π½Π½ΠΎ:
- Π’Π°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ Β«vendor lock-inΒ». ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Cloudera ΠΈ Hortonworks ΠΌΡ ΡΠΆΠ΅ ΠΏΠΎΠ½ΡΠ»ΠΈ, ΡΡΠΎ Π²ΡΠ΅Π³Π΄Π° Π΅ΡΡΡ ΡΠΈΡΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.
- ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΎΡΡΡΠ°Π²Π°Π½ΠΈΠ΅ ΠΎΡ Π°ΠΏΡΡΡΠΈΠΌΠ° Apache.
Vanilla Hadoop
ΠΠ°ΠΊ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, Hadoop β ΡΡΠΎ Π½Π΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ, Π°, ΠΏΠΎ ΡΡΡΠΈ, ΡΠ΅Π»Π°Ρ ΠΏΠ»Π΅ΡΠ΄Π° ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π²ΠΎΠΊΡΡΠ³ Π΅Π³ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ HDFS. ΠΠ°Π»ΠΎ ΠΊΠΎΠΌΡ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°. ΠΠ΄Π½ΠΈΠΌ Π½ΡΠΆΠ΅Π½ Hive, Π° Π΄ΡΡΠ³ΠΈΠΌ Presto, Π° Π΅ΡΠ΅ Π΅ΡΡΡ HBase ΠΈ Phoenix, Π²ΡΠ΅ ΡΠ°ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Spark. ΠΠ»Ρ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΠΈ ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π΄Π°Π½Π½ΡΡ
ΠΈΠ½ΠΎΠ³Π΄Π° Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Oozie, Sqoop ΠΈ Flume. Π Π΅ΡΠ»ΠΈ Π²ΡΡΠ°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΡΠΎ ΡΡΠ°Π·Ρ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ Kerberos Π² ΡΠ²ΡΠ·ΠΊΠ΅ Ρ Ranger.
ΠΠΈΠ½Π°ΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Hadoop Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ°ΡΠ±ΠΎΠ»Π»ΠΎΠ². ΠΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈ Π½Π°ΡΠ°ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ, Π½ΠΎ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ: ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈΠ· Β«ΡΡΡΡΡ Β» Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΡ, Π²Π΅ΡΠΎΡΡΠ½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ, Ρ Π²Π°Ρ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΠΈ Π² ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. ΠΠΎΠ»Π΅Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ±ΠΎΡΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Apache Bigtop. Bigtop ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ±ΠΎΡΠΊΡ ΠΈΠ· maven-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² Apache, ΠΏΡΠΎΠ³Π½Π°ΡΡ ΡΠ΅ΡΡΡ ΠΈ ΡΠΎΠ±ΡΠ°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ. ΠΠΎ, ΡΡΠΎ Π΄Π»Ρ Π½Π°Ρ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ, Bigtop ΡΠΎΠ±Π΅ΡΠ΅Ρ ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡ. Π Π½Π΅ΠΌ ΠΌΡ ΠΈ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π΄Π°Π»Π΅Π΅.
Apache Bigtop
Apache Bigtop β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ, ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΄Π°
open source ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΡΠ°ΠΊΠΈΡ
, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ Hadoop ΠΈ Greenplum. Π£ Bigtop Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ
ΡΠ΅Π»ΠΈΠ·ΠΎΠ². ΠΠ° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ°ΡΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΌ ΡΠ΅Π»ΠΈΠ·ΠΎΠΌ Π±ΡΠ»Π° Π²Π΅ΡΡΠΈΡ 1.4,
Π° Π² master Π½Π°Ρ
ΠΎΠ΄ΠΈΠ»Π°ΡΡ 1.5. Π ΡΠ°Π·Π½ΡΡ
Π²Π΅ΡΡΠΈΡΡ
ΡΠ΅Π»ΠΈΠ·ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ 1.4 core-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Hadoop ΠΈΠΌΠ΅ΡΡ Π²Π΅ΡΡΠΈΡ 2.8.5, Π° Π² master
2.10.0. ΠΠ΅Π½ΡΠ΅ΡΡΡ ΠΈ ΡΠΎΡΡΠ°Π² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². Π§ΡΠΎ-ΡΠΎ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π΅ ΠΈ
Π½Π΅ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌΠΎΠ΅ ΡΡ
ΠΎΠ΄ΠΈΡ, Π° Π½Π° Π΅Π³ΠΎ ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡ ΡΡΠΎ-ΡΠΎ Π½ΠΎΠ²ΠΎΠ΅, Π±ΠΎΠ»Π΅Π΅ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΠΎΠ΅, ΠΈ
Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΎ ΡΡΠΎ-ΡΠΎ ΠΈΠ· ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° ΡΠ°ΠΌΠΎΠ³ΠΎ Apache.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Ρ Bigtop Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ
ΠΠΎΠ³Π΄Π° ΠΌΡ ΡΡΠ°Π»ΠΈ Π·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Bigtop, ΡΠΎ ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ Π½Π°Ρ ΡΠ΄ΠΈΠ²ΠΈΠ»Π° Π΅Π³ΠΎ ΡΠΊΡΠΎΠΌΠ½Π°Ρ, Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ Apache, ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΠΎΡΡΡ ΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΡΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠΌΡΡΠ½ΠΈΡΠΈ. ΠΠ· ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ, ΡΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, Π° ΠΏΠΎΠΈΡΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π²ΠΎΠ·Π½ΠΈΠΊΡΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΠΎ ΡΠΎΡΡΠΌΠ°ΠΌ ΠΈ ΡΠ°ΡΡΡΠ»ΠΊΠ°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΈ Π²ΠΎΠ²ΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π°ΡΡ. ΠΠΎΠ½Π°ΡΠ°Π»Ρ Π΄Π»Ρ Π½Π°Ρ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ Π½Π΅ΠΏΡΠΎΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΠ»Π½ΡΡ ΡΠ±ΠΎΡΠΊΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Π² ΡΠΈΠ»Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°, Π½ΠΎ ΠΎΠ± ΡΡΠΎΠΌ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ ΡΡΡΠΎΡΠΊΡ ΠΏΠΎΠ·ΠΆΠ΅.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΈΠ·Π΅ΡΠ° β ΡΠ΅ΠΌ, ΠΊΠΎΠΌΡ Π² ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π·Π°Ρ ΠΎΠ΄ΠΈΠ»ΠΈ ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ Linux-Π²ΡΠ΅Π»Π΅Π½Π½ΠΎΠΉ, ΠΊΠ°ΠΊ Gentoo ΠΈ LFS, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ Π½ΠΎΡΡΠ°Π»ΡΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΡΡΠ½ΠΎ ΠΏΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΡΠΎΠΉ ΡΡΡΠΊΠΎΠΉ ΠΈ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ ΡΠ΅ Β«Π±ΡΠ»ΠΈΠ½Π½ΡΠ΅Β» Π²ΡΠ΅ΠΌΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΡΠ°ΠΌΠΈ ΠΈΡΠΊΠ°Π»ΠΈ (Π° ΡΠΎ ΠΈ ΠΏΠΈΡΠ°Π»ΠΈ) Π΅Π±ΠΈΠ»Π΄Ρ ΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΎΠ±ΠΈΡΠ°Π»ΠΈ Ρ Π½ΠΎΠ²ΡΠΌΠΈ ΠΏΠ°ΡΡΠ°ΠΌΠΈ ΠΌΠΎΠ·ΠΈΠ»Π»Ρ.
ΠΠΎΠ»ΡΡΠΈΠΌ ΠΏΠ»ΡΡΠΎΠΌ Bigtop ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ ΠΎΡΠΊΡΡΡΠΎΡΡΡ ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π½Π° ΠΊΠΎΡΠΎΡΡΡ
ΠΎΠ½ ΠΎΡΠ½ΠΎΠ²Π°Π½. Π Π΅Π³ΠΎ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ΅ ΡΡΠΎΡΡ Gradle ΠΈ Apache Maven. Gradle Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Ρ
ΠΎΡΠΎΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΊΠ°ΠΊ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΌ Google ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ Android. ΠΠ½ Π³ΠΈΠ±ΠΊΠΈΠΉ, Π½Ρ ΠΈ, ΠΊΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ, Β«ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ Π² Π±ΠΎΡΒ». Maven β ΡΡΠΎ ΡΡΠ°ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π² ΡΠ°ΠΌΠΎΠΌ Apache, ΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π΅Π³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² Π²ΡΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ΡΠ΅Π· Maven, ΡΡΡ ΡΠΎΠΆΠ΅ Π±Π΅Π· Π½Π΅Π³ΠΎ Π½Π΅ ΠΎΠ±ΠΎΡΠ»ΠΎΡΡ. Π‘ΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° POM (project object model) β Β«ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉΒ» xml-ΡΠ°ΠΉΠ» Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Maven Ρ Π²Π°ΡΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, Π²ΠΎΠΊΡΡΠ³ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΡΠΎΠΈΡΡΡ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°. ΠΠΌΠ΅Π½Π½ΠΎ Π²
ΡΠ°ΡΡΠΈ Maven ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°ΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ Π±Π΅ΡΡΡΠΈΠ΅ΡΡ Π·Π° Bigtop.
ΠΡΠ°ΠΊΡΠΈΠΊΠ°
ΠΡΠ°ΠΊ, Ρ ΡΠ΅Π³ΠΎ ΠΆΠ΅ ΡΡΠΎΠΈΡ Π½Π°ΡΠ°ΡΡ? ΠΠ΄Π΅ΠΌ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΠΊΠ°ΡΠ°Π΅ΠΌ Π² Π²ΠΈΠ΄Π΅ Π°ΡΡ ΠΈΠ²Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ. Π’Π°ΠΌ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΈ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ Π°ΡΡΠ΅ΡΠ°ΠΊΡΡ, ΡΠΎΠ±ΡΠ°Π½Π½ΡΠ΅ Bigtop. ΠΡΡΠ°ΡΠΈ Π³ΠΎΠ²ΠΎΡΡ, ΠΈΠ· ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ YUM ΠΈ APT.
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΉ ΡΠ΅Π»ΠΈΠ· Π½Π°ΠΏΡΡΠΌΡΡ Ρ
github:
$ git clone --branch branch-1.4 https://github.com/apache/bigtop.git
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Β«bigtopΒ»β¦
remote: Enumerating objects: 46, done.
remote: Counting objects: 100% (46/46), done.
remote: Compressing objects: 100% (41/41), done.
remote: Total 40217 (delta 14), reused 10 (delta 1), pack-reused 40171
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²: 100% (40217/40217), 43.54 MiB | 1.05 MiB/s, Π³ΠΎΡΠΎΠ²ΠΎ.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ: 100% (20503/20503), Π³ΠΎΡΠΎΠ²ΠΎ.
Updating files: 100% (1998/1998), Π³ΠΎΡΠΎΠ²ΠΎ.
ΠΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠΈΠΉΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ./bigtop ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
./bigtop-bigpetstore
β Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ
./bigtop-ci
β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ CI, jenkins
./bigtop-data-generators
β Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ
, ΡΠΈΠ½ΡΠ΅ΡΠΈΠΊΠ°, Π΄Π»Ρ smoke-ΡΠ΅ΡΡΠΎΠ² ΠΈ Ρ.Π΄.
./bigtop-deploy
β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ Π΄Π΅ΠΏΠ»ΠΎΡ
./bigtop-packages
β ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ, ΡΠΊΡΠΈΠΏΡΡ, ΠΏΠ°ΡΡΠΈ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ, ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ°ΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°
./bigtop-test-framework
β ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
./bigtop-tests
β ΡΠ°ΠΌΠΈ ΡΠ΅ΡΡΡ, Π½Π°Π³ΡΡΠ·ΠΎΡΠ½ΡΠ΅ ΠΈ smoke
./bigtop_toolchain
β ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΡΡΠ΅Π΄Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°
./build
β ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠ±ΠΎΡΠΊΠΈ
./dl
β ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π΄Π»Ρ ΡΠΊΠ°ΡΠ°Π½Π½ΡΡ
ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΎΠ²
./docker
β ΡΠ±ΠΎΡΠΊΠ° Π² docker-ΠΎΠ±ΡΠ°Π·Π°Ρ
, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
./gradle
β ΠΊΠΎΠ½ΡΠΈΠ³ gradle
./output
β ΠΊΠ°ΡΠ°Π»ΠΎΠ³, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ Π°ΡΡΠ΅ΡΠ°ΠΊΡΡ ΡΠ±ΠΎΡΠΊΠΈ
./provisioner
β ΠΏΡΠΎΠ²ΠΈΠΆΠΈΠ½ΠΈΠ½Π³
Π‘Π°ΠΌΡΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π΄Π»Ρ Π½Π°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ ./bigtop/bigtop.bom
, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ Π²ΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Ρ Π²Π΅ΡΡΠΈΡΠΌΠΈ. ΠΠΌΠ΅Π½Π½ΠΎ ΡΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°ΡΡ Π΄ΡΡΠ³ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° (Π΅ΡΠ»ΠΈ Π²Π΄ΡΡΠ³ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ Π΅Π΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΡΠ°ΡΡ) ΠΈΠ»ΠΈ Π²Π΅ΡΡΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ (Π΅ΡΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΡ).
Π’Π°ΠΊΠΆΠ΅ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ./bigtop/bigtop-packages
, ΠΈΠΌΠ΅ΡΡΠΈΠΉ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Ρ Π½ΠΈΠΌΠΈ.
ΠΡΠ°ΠΊ, ΠΌΡ ΡΠΊΠ°ΡΠ°Π»ΠΈ Π°ΡΡ ΠΈΠ², ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²Π°Π»ΠΈ Π΅Π³ΠΎ ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΊΠ»ΠΎΠ½ Ρ github, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡ ΡΠ±ΠΎΡΠΊΡ?
ΠΠ΅Ρ, ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ
Π ΡΡΡ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΎΡΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅. ΠΠ»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ β Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ JDK, ΡΠ΅ ΠΆΠ΅ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ Ρ. Π΄., ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ant, ivy2 ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΎ Π΅ΡΠ΅. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½ΡΠΆΠ½ΠΎΠ΅ Π΄Π»Ρ Bigtop ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½ΡΠΆΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π½Π° Ρ ΠΎΡΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ. ΠΠΎΠ³Ρ ΠΎΡΠΈΠ±Π°ΡΡΡΡ Π² Ρ ΡΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π½ΠΎ, ΠΊΠ°ΠΆΠ΅ΡΡΡ, Ρ Π²Π΅ΡΡΠΈΠΈ 1.0 ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠ±ΠΎΡΠΊΠΈ Π² Π·Π°ΡΠ°Π½Π΅Π΅ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ docker-ΠΎΠ±ΡΠ°Π·Π°Ρ , Ρ Π½ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ ΡΡΡ.
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, ΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊ β Puppet.
ΠΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, Π·Π°ΠΏΡΡΠΊ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΈΠ· ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°, ./bigtop:
./gradlew toolchain
./gradlew toolchain-devtools
./gradlew toolchain-puppetmodules
ΠΠ»ΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ΅ΡΠ΅Π· puppet:
puppet apply --modulepath=<path_to_bigtop> -e "include bigtop_toolchain::installer"
puppet apply --modulepath=<path_to_bigtop> -e "include bigtop_toolchain::deployment-tools"
puppet apply --modulepath=<path_to_bigtop> -e "include bigtop_toolchain::development-tools"
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΠΆΠ΅ Π½Π° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ. ΠΠ±ΡΠΈΠΉ ΡΠΎΠ²Π΅Ρ ΡΡΡ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ², Π² Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π½Π° Ρ ΠΎΡΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΏΡΡΡ Ρ docker.
Π‘Π±ΠΎΡΠΊΠ°
Π§ΡΠΎ ΠΆΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΡΠ°ΡΡ? ΠΡΠ²Π΅Ρ Π½Π° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ Π΄Π°ΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
./gradlew tasks
Π ΡΠ°Π·Π΄Π΅Π»Π΅ Package tasks Π΅ΡΡΡ ΡΡΠ΄ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² ΡΠ²Π»ΡΡΡΠΈΡ
ΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌΠΈ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠ°ΠΌΠΈ Bigtop.
ΠΡ
ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠΎ ΡΡΡΡΠΈΠΊΡΡ -rpm ΠΈΠ»ΠΈ -pkg-ind (Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ±ΠΎΡΠΊΠΈ
Π² docker). Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°ΠΌΡΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Hadoop.
ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ±ΠΎΡΠΊΡ Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ Π½Π°ΡΠ΅Π³ΠΎ build-ΡΠ΅ΡΠ²Π΅ΡΠ°:
./gradlew hadoop-rpm
Bigtop ΡΠ°ΠΌ ΡΠΊΠ°ΡΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ, Π½ΡΠΆΠ½ΡΠ΅ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, ΠΈ Π½Π°ΡΠ½Π΅Ρ ΡΠ±ΠΎΡΠΊΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ°Π±ΠΎΡΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π·Π°Π²ΡΠ·Π°Π½Π° Π½Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ Maven ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°Ρ , ΡΠΎ Π΅ΡΡΡ Π΅ΠΌΡ Π½ΡΠΆΠ΅Π½ Π΄ΠΎΡΡΡΠΏ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ.
Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄. ΠΠ½ΠΎΠ³Π΄Π° ΠΏΠΎ Π½Π΅ΠΌΡ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΠΏΠΎΡΠ»ΠΎ Π½Π΅ ΡΠ°ΠΊ. Π ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎΠΈΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ --info
ΠΈΠ»ΠΈ --debug
, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π΅Π½ βstacktrace
. ΠΡΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ Π² ΡΠΏΠΈΡΠΊΠΈ ΡΠ°ΡΡΡΠ»ΠΊΠΈ, ΠΊΠ»ΡΡ --scan
.
Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ bigtop ΡΠΎΠ±Π΅ΡΠ΅Ρ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ Π²ΡΠ»ΠΎΠΆΠΈΡ Π² gradle, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²ΡΠ΄Π°ΡΡ ΡΡΡΠ»ΠΊΡ,
ΠΏΡΠΎΠΉΠ΄Ρ ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ, ΠΊΠΎΠΌΠΏΠ΅ΡΠ΅Π½ΡΠ½ΡΠΉ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠ° Π½Π΅ ΡΠ΄Π°Π»Π°ΡΡ.
ΠΡΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ ΡΡΠ° ΠΎΠΏΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠΉ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΡΡ Π΄Π»Ρ Π²Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π½ΠΎΠ΄, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ Ρ.Π΄., ΡΠ°ΠΊ ΡΡΠΎ Π±ΡΠ΄ΡΡΠ΅ ΠΎΡΡΠΎΡΠΎΠΆΠ½Ρ.
Π§Π°ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ΠΌ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π· ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΡΠ° Π΄Π»Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ Π² ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠ°Ρ
, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π°Π΄ΡΠ΅ΡΠ° Π² pom.xml Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΎΠ². ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΅Π³ΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ./bigtop/bigtop-packages/src/common/oozie/
ΠΏΠ°ΡΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π²ΠΈΠ΄Π΅ patch2-fix.diff.
--- a/pom.xml
+++ b/pom.xml
@@ -136,7 +136,7 @@
<repositories>
<repository>
<id>central</id>
- <url>http://repo1.maven.org/maven2</url>
+ <url>https://repo1.maven.org/maven2</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π²ΡΡΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π°ΠΌ Π½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π΄Π΅Π»Π°ΡΡ ΡΠ°ΠΌΠΈΠΌ.
ΠΡΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠΈ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΏΠ°ΡΡΠ΅ΠΉ ΠΈ ΠΏΡΠ°Π²ΠΎΠΊ Π² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ Β«ΡΠ±ΡΠΎΡΠΈΡΡΒ» ΡΠ±ΠΎΡΠΊΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΡΠΈΡΡΠΊΠΈ:
./gradlew hadoop-clean
> Task :hadoop_vardefines
> Task :hadoop-clean
BUILD SUCCESSFUL in 5s
2 actionable tasks: 2 executed
ΠΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΎΡΠΊΠ°ΡΠΈΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎ ΡΠ±ΠΎΡΠΊΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΡΠ±ΠΎΡΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ Π·Π°Π½ΠΎΠ²ΠΎ. Π ΡΡΠΎΡ ΡΠ°Π· ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠΎΠ±ΡΠ°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π² docker-ΠΎΠ±ΡΠ°Π·Π΅:
./gradlew -POS=centos-7 -Pprefix=1.2.1 hadoop-pkg-ind
> Task :hadoop-pkg-ind
Building 1.2.1 hadoop-pkg on centos-7 in Docker...
+++ dirname ./bigtop-ci/build.sh
++ cd ./bigtop-ci/..
++ pwd
+ BIGTOP_HOME=/tmp/bigtop
+ '[' 6 -eq 0 ']'
+ [[ 6 -gt 0 ]]
+ key=--prefix
+ case $key in
+ PREFIX=1.2.1
+ shift
+ shift
+ [[ 4 -gt 0 ]]
+ key=--os
+ case $key in
+ OS=centos-7
+ shift
+ shift
+ [[ 2 -gt 0 ]]
+ key=--target
+ case $key in
+ TARGET=hadoop-pkg
+ shift
+ shift
+ [[ 0 -gt 0 ]]
+ '[' -z x ']'
+ '[' -z x ']'
+ '[' '' == true ']'
+ IMAGE_NAME=bigtop/slaves:1.2.1-centos-7
++ uname -m
+ ARCH=x86_64
+ '[' x86_64 '!=' x86_64 ']'
++ docker run -d bigtop/slaves:1.2.1-centos-7 /sbin/init
+
CONTAINER_ID=0ce5ac5ca955b822a3e6c5eb3f477f0a152cd27d5487680f77e33fbe66b5bed8
+ trap 'docker rm -f
0ce5ac5ca955b822a3e6c5eb3f477f0a152cd27d5487680f77e33fbe66b5bed8' EXIT
....
ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π°
....
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-hdfs-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-yarn-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-mapreduce-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-hdfs-namenode-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-hdfs-secondarynamenode-2.8.5-
1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-hdfs-zkfc-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-hdfs-journalnode-2.8.5-
1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-hdfs-datanode-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-httpfs-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-yarn-resourcemanager-2.8.5-
1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-yarn-nodemanager-2.8.5-
1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-yarn-proxyserver-2.8.5-
1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-yarn-timelineserver-2.8.5-
1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-mapreduce-historyserver-2.8.5-
1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-client-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-conf-pseudo-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-doc-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-libhdfs-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-libhdfs-devel-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-hdfs-fuse-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-debuginfo-2.8.5-1.el7.x86_64.rpm
+ umask 022
+ cd /bigtop/build/hadoop/rpm//BUILD
+ cd hadoop-2.8.5-src
+ /usr/bin/rm -rf /bigtop/build/hadoop/rpm/BUILDROOT/hadoop-2.8.5-1.el7.x86_64
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.uQ2FCn
+ exit 0
+ umask 022
Executing(--clean): /bin/sh -e /var/tmp/rpm-tmp.CwDb22
+ cd /bigtop/build/hadoop/rpm//BUILD
+ rm -rf hadoop-2.8.5-src
+ exit 0
[ant:touch] Creating /bigtop/build/hadoop/.rpm
:hadoop-rpm (Thread[Task worker for ':',5,main]) completed. Took 38 mins 1.151 secs.
:hadoop-pkg (Thread[Task worker for ':',5,main]) started.
> Task :hadoop-pkg
Task ':hadoop-pkg' is not up-to-date because:
Task has not declared any outputs despite executing actions.
:hadoop-pkg (Thread[Task worker for ':',5,main]) completed. Took 0.0 secs.
BUILD SUCCESSFUL in 40m 37s
6 actionable tasks: 6 executed
+ RESULT=0
+ mkdir -p output
+ docker cp
ac46014fd9501bdc86b6c67d08789fbdc6ee46a2645550ff6b6712f7d02ffebb:/bigtop/build .
+ docker cp
ac46014fd9501bdc86b6c67d08789fbdc6ee46a2645550ff6b6712f7d02ffebb:/bigtop/output .
+ docker rm -f ac46014fd9501bdc86b6c67d08789fbdc6ee46a2645550ff6b6712f7d02ffebb
ac46014fd9501bdc86b6c67d08789fbdc6ee46a2645550ff6b6712f7d02ffebb
+ '[' 0 -ne 0 ']'
+ docker rm -f ac46014fd9501bdc86b6c67d08789fbdc6ee46a2645550ff6b6712f7d02ffebb
Error: No such container:
ac46014fd9501bdc86b6c67d08789fbdc6ee46a2645550ff6b6712f7d02ffebb
BUILD SUCCESSFUL in 41m 24s
1 actionable task: 1 executed
Π‘Π±ΠΎΡΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»Π°ΡΡ ΠΏΠΎΠ΄ CentOS, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΈ ΠΏΠΎΠ΄ Ubuntu:
./gradlew -POS=ubuntu-16.04 -Pprefix=1.2.1 hadoop-pkg-ind
ΠΡΠΎΠΌΠ΅ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΏΠΎΠ΄ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ Linux, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠΌΠ΅Π΅Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΡΠΎΠ±ΡΠ°Π½Π½ΡΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
./gradlew yum
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΏΡΠΎ smoke-ΡΠ΅ΡΡΡ ΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ Π² docker.
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΈΠ· ΡΡΠ΅Ρ Π½ΠΎΠ΄:
./gradlew -Pnum_instances=3 docker-provisioner
ΠΠ°ΠΏΡΡΡΠΈΡΡ smoke-ΡΠ΅ΡΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ ΠΈΠ· ΡΡΠ΅Ρ Π½ΠΎΠ΄:
./gradlew -Pnum_instances=3 -Prun_smoke_tests docker-provisioner
Π£Π΄Π°Π»ΠΈΡΡ ΠΊΠ»Π°ΡΡΠ΅Ρ:
./gradlew docker-provisioner-destroy
ΠΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²Π½ΡΡΡΡ docker-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²:
./gradlew docker-provisioner-ssh
ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅:
./gradlew docker-provisioner-status
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΏΡΠΎ Deployment tasks ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΏΡΠΎ ΡΠ΅ΡΡΡ, ΡΠΎ ΠΈΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ smoke ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅. ΠΡ ΡΠ°Π·Π±ΠΎΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π·Π° ΡΠ°ΠΌΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ. Π‘ΠΊΠ°ΠΆΡ Π»ΠΈΡΡ, ΡΡΠΎ ΡΠ±ΠΎΡΠΊΠ° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ, ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄. ΠΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Ρ ΡΠ΅Π±Ρ Π² ΠΏΡΠΎΠ΄Π΅, ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΎΠ±ΡΠ°ΡΡ ΠΈ ΠΏΡΠΎΠΉΡΠΈ ΠΏΠΎ Π½ΠΈΠΌ ΡΠ΅ΡΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Ρ Π½Π°Ρ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΈΡ Π΄Π΅ΠΏΠ»ΠΎΠ΅ΠΌ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π±Π°Π·ΠΎΠ²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π² ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ.
ΠΡΠΎΠΌΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π² Bigtop, Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ Π΅ΡΠ΅, Π΄Π°ΠΆΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ. ΠΡΠ΅ ΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΠΈ ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ CI/CD.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΠΎΠ±ΡΠ°Π½Π½ΡΠΉ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½. ΠΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π΅ΡΡΡ ΡΠ΅Π°Π»ΡΠ½Π°Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ Π² ΡΠ±ΠΎΡΠΊΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ ΡΠ²ΠΎΠ΅Π³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°, ΡΠΎ Π² ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΎ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ.
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠΌ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ ΠΈ Π±Π΅Π· ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ.
ΠΠ°ΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠ°ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ Bigtop Π½ΡΠΆΠ΄Π°Π΅ΡΡΡ Π² ΡΠ°Π·Π²ΠΈΡΠΈΠΈ ΠΈ, ΠΏΠΎΡ
ΠΎΠΆΠ΅, ΡΡΠΎ Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π² Π½Π΅ΠΌ Π½Π΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½Π° ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π° ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π² Π½Π΅ΠΌ Hadoop 3. Π ΡΠ»ΠΎΠ²Ρ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠ΅Π°Π»ΡΠ½Π°Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ Π² ΡΠ±ΠΎΡΠΊΠ΅ Hadoop 3, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π°
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π΅ΡΡΡ Π΅ΡΠ΅ ΡΠ΅Π»ΡΠΉ ΡΡΠ΄ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
(Ranger, Knox, NiFi).
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ Π ΠΎΡΡΠ΅Π»Π΅ΠΊΠΎΠΌΠ°, ΡΠΎ Π΄Π»Ρ Π½Π°Ρ Bigtop β ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ. ΠΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ ΠΌΡ ΡΠ²ΠΎΠΉ Π²ΡΠ±ΠΎΡ Π½Π° Π½Π΅ΠΌ ΠΈΠ»ΠΈ Π½Π΅Ρ β ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ Π²ΡΠ΅ΠΌΡ.
Appendix
Π§ΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π² ΡΠ±ΠΎΡΠΊΡ, Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅Π³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π² bigtop.bom ΠΈ ./bigtop-packages. ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ ΠΈΠΌΠ΅ΡΡΠΈΠΌΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ. ΠΡΠΎ Π½Π΅ ΡΠ°ΠΊ ΡΠ»ΠΎΠΆΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄.
Π ΡΡΠΎ Π΄ΡΠΌΠ°Π΅ΡΠ΅ Π²Ρ? ΠΡΠ΄Π΅ΠΌ ΡΠ°Π΄Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²Π°ΡΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ ΠΈ ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!
Π‘ΡΠ°ΡΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ Β«Π ΠΎΡΡΠ΅Π»Π΅ΠΊΠΎΠΌΠ°Β»
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com