1. Arka plan tanıtımı
Şu anda 50T proje verisine ve yaklaşık 20G ortalama günlük veri artışına sahip büyük bir veri mühendisiyim. Şahsen, Java arka ucundan geliştirdim ve 3 aylık amatör kendi kendine çalışmadan sonra başarılı bir şekilde büyük veri mühendisine dönüştüm.
2. Büyük Veriye Giriş
Büyük verinin özü veridir, ancak geniş veri kaynakları, çeşitli veri biçimleri (yapılandırılmış veriler, yapılandırılmamış veriler, Excel dosyaları, metin dosyaları vb.) Ve büyük veri hacmi (en az terabayt) dahil olmak üzere yeni özelliklere sahiptir. , PB seviyesi bile olabilir), veri büyüme oranı hızlı, vb.
Yukarıdaki dört ana özellik için aşağıdaki soruları dikkate almamız gerekiyor:
Veri kaynakları geniştir, nasıl toplanır ve özetlenir? , Sqoop, Cammel, Datax ve diğer araçlar buna uygun olarak ortaya çıktı.
Veri toplandıktan sonra nasıl saklanmalı? Buna uygun olarak, GFS, HDFS ve TFS gibi dağıtılmış dosya depolama sistemleri ortaya çıkmıştır.
Verilerin hızlı büyümesi nedeniyle, veri depolamanın yatay olarak ölçeklenebilir olması gerekir.
Veriler depolandıktan sonra, hesaplamalar yoluyla hızlı bir şekilde nasıl tutarlı bir biçime dönüştürülür ve istediğiniz sonuçları hızlı bir şekilde nasıl hesaplayabilirsiniz?
MapReduce gibi karşılık gelen dağıtılmış hesaplama çerçeveleri bu sorunu çözer; ancak MapReduce yazmak büyük miktarda Java kodu gerektirir, bu nedenle Hive, Pig, vb. SQL'i MapReduce ayrıştırma motorlarına dönüştürüyor gibi göründü;
Sıradan MapReduce işleme verileri yalnızca toplu iş olarak işlenebilir ve zaman gecikmesi çok uzun Her giriş verisinin sonucunu elde etmek için Storm / JStorm gibi düşük gecikmeli bir akış hesaplama çerçevesi görünür;
Bununla birlikte, toplu işleme ve akış işleme aynı anda gerekiyorsa, iki küme, Hadoop kümesi (HDFS + MapReduce + Yarn dahil) ve Storm kümesinin yönetimi kolay değildir, bu nedenle Spark gibi tek noktadan bir hesaplama çerçevesi ortaya çıkar. Hem toplu işleme hem de akış işleme (esasen mikro yığın işleme) gerçekleştirilebilir.
Daha sonra Lambda mimarisi ve Kappa mimarisinin görünümü, iş süreçleri için genel bir mimari sağlar.
İş verimliliğini artırmak ve ulaşımı hızlandırmak için bazı yardımcı araçlar ortaya çıktı:
Ozzie, azkaban: görevleri planlamak için araçlar.
Hue, Zepplin: Grafiksel görev yürütme yönetimi, sonuç görüntüleme aracı.
Scala dili: Spark programları yazmak için en iyi dil elbette Python kullanmayı da seçebilirsiniz.
Python dili: bazı komut dosyalarını yazarken kullanılır.
Allluxio, Kylin, vb .: Depolanan verileri önceden işleyerek hesaplamaları hızlandıran bir araçtır.
Yukarıdakiler, büyük veri ekosisteminin tamamında kullanılan araçların çözdüğü sorunları kabaca sıralıyor.Neden ortaya çıktıklarını veya hangi sorunları çözdüklerini bilerek, çalışırken bir hedefiniz olacak.
Metin
1. Büyük veriyle ilgili çalışmaya giriş
Büyük veri yönündeki çalışmalar şu anda üç ana yöne ayrılmıştır:
Büyük veri mühendisi
Veri Analisti
Büyük veri bilimcisi
Diğer (veri madenciliği vb.)
2. Büyük veri mühendisleri için beceri gereksinimleri
Büyük veri mühendislerinin yetenek haritasını ekleyin:
11 Zorunlu Usta Beceri
Java gelişmiş (sanal makine, eşzamanlılık)
Linux temel işlemi
Hadoop (HDFS + MapReduce + İplik)
HBase (JavaAPI işlemi + Phoenix)
Kovan (Hql temel çalışma ve prensip anlayışı)
Kafka
Fırtına / JStorm
Scala
Python
Spark (Core + sparksql + Spark akışı)
Yardımcı gereçler (Sqoop / Flume / Oozie / Hue, vb.)
6 üst düzey beceri
Makine öğrenimi algoritması ve mahout kitaplığı artı MLlib
R dili
Lambda mimarisi
Kappa mimarisi
Kylin
Alluxio
Üç, öğrenme yolu
Her gün 3 saatlik etkili çalışma süresinden tasarruf edilebileceği ve hafta sonları her gün 10 saatlik etkili çalışma süresinin garanti edildiği varsayıldığında;
3 ayda (21 * 3 + 4 * 2 * 10) * 3 = 423 saat öğrenme süresi olacaktır.
İlk aşama (temel aşama)
1) Linux öğrenimi
Linux işletim sisteminin tanıtımı ve kurulumu.
Linux yaygın olarak kullanılan komutlar.
Linux yaygın olarak kullanılan yazılım kurulumu.
Linux ağı.
Güvenlik Duvarı.
Kabuk programlama vb.
2) Java gelişmiş öğrenimi ("Java Sanal Makinesi Derin Anlayışı", "Java Yüksek Eş Zamanlı Pratik Savaş") - 30 saat
Çoklu okuma konusunda uzmanlaşın.
Eşzamanlı paketler altındaki kuyruklarda ustalaşın.
JMS hakkında bilgi edinin.
Master JVM teknolojisi.
Ana yansıma ve dinamik vekil.
3) Zookeeper öğrenimi
Zookeeper dağıtılmış koordinasyon hizmetine giriş.
Zookeeper kümesinin kurulumu ve dağıtımı.
Zookeeper veri yapısı ve komutları.
Hayvan Bekçisi ilkesi ve seçim mekanizması.
İkinci aşama (mücadele aşaması)
4) Hadoop ("Hadoop Definitive Guide") - 80 saat
HDFS
HDFS kavramı ve özellikleri.
HDFS'nin kabuk işlemi.
HDFS'nin çalışma mekanizması.
HDFS Java uygulama geliştirme.
Harita indirgeme
WordCount örnek programını çalıştırın.
MapReduce'un dahili çalışma mekanizmasını anlayın.
MapReduce programı çalıştırma sürecinin analizi.
Eşzamanlı MapTasks sayısını belirleme mekanizması.
MapReduce'ta birleştirici bileşen uygulaması.
MapReduce'da serileştirme çerçevesi ve uygulaması.
MapReduce'ta Sıralama.
MapReduce'da özel bölüm uygulaması.
MapReduce'un karıştırma mekanizması.
MapReduce, optimizasyon için veri sıkıştırmasını kullanır.
MapReduce programları ve YARN arasındaki ilişki.
MapReduce parametre optimizasyonu.
MapReduce Java Uygulama Geliştirme
5) Kovan ("Kovan Geliştirme Kılavuzu") - 20 saat
Hive temel kavramları
Hive uygulama senaryoları.
Hive ve hadoop arasındaki ilişki.
Hive, geleneksel veritabanları ile karşılaştırılır.
Hive'ın veri depolama mekanizması.
Kovan temel işlemi
Hive'da DDL işlemleri.
Hive'da verimli JOIN sorgusu nasıl uygulanır.
Hive'ın yerleşik işlev uygulaması.
Hive kabuğunun gelişmiş kullanımı.
Hive ortak parametre yapılandırması.
Hive özel işlevlerini ve Dönüştürmeyi kullanma ipuçları.
Hive UDF / UDAF geliştirme örnekleri.
Kovan yürütme süreci analizi ve optimizasyon stratejisi
6) HBase ("HBase Definitive Guide") - 20 saat
Hbase'e giriş.
alışkanlık kurulumu.
hbase veri modeli.
hbase komutu.
hbase geliştirme.
Hbase ilkesi.
7) Scala ("Scala'yı Hızlı Öğrenin") - 20 saat
Scala'ya genel bakış.
Scala derleyici kurulumu.
Scala temelleri.
Diziler, haritalar, gruplar, koleksiyonlar.
Sınıflar, nesneler, kalıtım, özellikler.
Örüntü eşleştirme ve örnek sınıflar.
Scala Actor eşzamanlı programlama hakkında bilgi edinin.
Akka'yı anlayın.
Scala üst düzey işlevleri anlayın.
Scala örtük dönüştürmeyi anlayın.
8) Spark ("Spark Definitive Guide") - 60 saat
Kıvılcım çekirdek
Spark'a Genel Bakış.
Spark kümesi kurulumu.
İlk Spark vaka programını çalıştırın (PI arayarak).
RDD
RDD'ye genel bakış.
RDD oluşturun.
RDD programlama API'si (Dönüşüm ve Eylem İşlemleri).
RDD bağımlılıkları
RDD önbelleği
DAG (Yönlendirilmiş Asiklik Grafik)
Spark SQL ve DataFrame / DataSet
Spark SQL'e Genel Bakış.
DataFrames.
DataFrame ortak işlemleri.
Spark SQL sorgu programı yazın.
Kıvılcım Akışı
Park Akışına Genel Bakış.
DStream'i anlayın.
DStream ile ilgili işlemler (Dönüşümler ve Çıktı İşlemleri).
Yapılandırılmış Akış
Diğer (MLlib ve GraphX)
Genel çalışmanın bu kısmı veri madenciliği değilse, makine öğrenimi genellikle kullanılmaz ve daha fazlasını öğrenmek için ihtiyacınız olana kadar bekleyebilirsiniz.
9) Python
10) Kendi başınıza sanal makineyle bir küme oluşturun, tüm araçları kurun ve kendi başınıza küçük bir demo geliştirin 30 saat
4 sanal makine oluşturmak için VMware'i kullanabilir ve ardından küçük bir küme oluşturmak için yukarıdaki yazılımı yükleyebilirsiniz (bunu kendim test ettim, I7, 64-bit, 16G bellek, tamamen çalışabilir ve çalışırken bir küme oluşturmak için sanal makineleri kullanma işlemini ekledim. Belge)
Küme oluşturma belgesi sürüm 1.0
1. Küme Planlama
2. Hazırlık
2.0 Sistem kurulumu
2.1 Ana bilgisayar adı yapılandırması
2.1.0 vi / etc / sysconfig / network
NETWORKING = evet
2.1.1 vi / etc / sysconfig / network
NETWORKING = evet
HOSTNAME = ys02
2.1.2 vi / etc / sysconfig / network
NETWORKING = evet
2.1.3 vi / etc / sysconfig / network
NETWORKING = evet
HOSTNAME = ys04
2.2 ana bilgisayar dosyası değişikliği
2.2.0 vi / etc / hosts
10.1.1.149 ys01
10.1.1.148 ys02
10.1.1.146 ys03
10.1.1.145 ys04
2.3 Güvenlik duvarını kapatın (centos 7 varsayılan olarak güvenlik duvarı kullanır, centos 6 varsayılan olarak iptables kullanır)
2.3.0 systemctl firewalld.service durdur (güvenlik duvarını durdur)
2.3.1 systemctl firewalld.service devre dışı bırak (güvenlik duvarının önyüklemesini yasaklar)
2.3.2 firewall-cmd --state (Varsayılan güvenlik duvarı durumunu görüntüle (çalışmıyor ve kapatıldıktan sonra görüntülenmiyor)
2.4 Parolasız oturum açma (ys01- > ys02,03,04)
ssh-keygen -t rsa
ssh-copy-id ys02 (sonra şifreyi girin)
ssh-copy-id ys03 (sonra şifreyi girin)
ssh-copy-id ys04 (sonra şifreyi girin)
ssh ys02 (testin başarılı olup olmadığı)
ssh ys03 (testin başarılı olup olmadığı)
ssh ys04 (testin başarılı olup olmadığı)
2.5 Sistem saat dilimi ve zaman senkronizasyonu
tzselect (tarih dosyası oluşturuldu)
cp / usr / share / zoneinfo / Asia / Shanghai / etc / localtime (tarih dosyasını yerel saate kopyalayın)
3. Yazılım kurulumu
3.0 Kurulum dizini planlaması (yazılım tüm kullanıcılar için ortaktır)
3.0.0 Tüm yazılım kurulumu / usr / local / ys / soft dizinine (mkdir / usr / local / ys / soft) yerleştirilir
3.0.1 Tüm yazılımlar / usr / local / ys / app dizinine (mkdir / usr / local / ys / app) yüklenir
3.1 JDK (jdk1.7) kurulumu
3.1.1 sftp penceresi alt + p, cd / usr / local / ys / soft'den sonra görünür, tar paketini sanal makinenin ys01 / usr / local / ys / soft dizinine yüklemek için sftp kullanın
3.1.2 jdk dosyasını açın
cd / usr / local / ys / soft
# Unzip
tar -zxvf jdk-7u80-linux-x64.tar.gz -C / usr / local / ys / app
3.1.3 Ortam değişkenlerine java ekleyin
vim / etc / profil
# Dosyanın sonuna ekle
dışa aktar JAVA_HOME = / usr / local / ys / app / jdk-7u80
dışa aktar PATH = $ PATH: $ JAVA_HOME / bin
3.1.4 Yapılandırmayı yenileme
kaynak / etc / profil
3.2 Zookeeper kurulumu
3.2.0 Fermuarı Aç
tar -zxvf zookeeper-3.4.5.tar.gz -C / usr / local / ys / app (sıkıştırmayı aç)
3.2.1 Yeniden Adlandırma
mv zookeeper-3.4.5 zookeeper (zookeeper-3.4.5 klasörünü zookeeper olarak yeniden adlandırın)
3.2.2 Ortam değişkenlerini değiştirin
vi / etc / profile (dosyayı değiştir)
İçerik ekleyin:
dışa aktar ZOOKEEPER_HOME = / usr / local / ys / app / zookeeper
dışa aktar PATH = $ PATH: $ ZOOKEEPER_HOME / bin
3.2.3 Dosyayı yeniden derleyin:
kaynak / etc / profil
Not: 3 hayvan bakıcısının da değiştirilmesi gerekiyor
3.2.4 Yapılandırma dosyasını değiştirin
cd zookeeper / conf
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg
İçerik ekleyin:
dataDir = / usr / local / ys / app / zookeeper / data
dataLogDir = / usr / local / ys / app / zookeeper / log
server.1 = ys01: 2888: 3888 (ana bilgisayar adı, sinyal bağlantı noktası, veri bağlantı noktası)
server.2 = ys02: 2888: 3888
server.3 = ys04: 2888: 3888
3.2.5 Klasör oluştur
cd / usr / local / ys / uygulama / zookeeper /
mkdir -m 755 veri
mkdir -m 755 günlüğü
3.2.6 Veri klasöründe yeni bir myid dosyası oluşturun, myid dosyasının içeriği:
cd verileri
vi myid
İçerik ekleyin:
1
Kümeyi diğer makinelere dağıtın
scp -r / usr / local / ys / app / zookeeper ys02: / usr / local / ys / app /
scp -r / usr / local / ys / app / zookeeper ys04: / usr / local / ys / app /
3.2.7 Diğer makinelerin konfigürasyon dosyalarını değiştirin
Ys02'ye: myid'i şu şekilde değiştirin: 2
Ys02'ye: myid'i şu şekilde değiştirin: 3
3.2.8 Başlatma (her makine)
zkServer.sh start
Küme durumunu görüntüleyin
jps (süreci görüntüle)
zkServer.sh durumu (Küme durumunu, ana-bağımlı bilgisini görüntüleyin)
3.3 Hadoop (HDFS + İplik)
3.3.0 alt + p'den sonra, sftp penceresi görünür, tar paketini ys01 sanal makinesinin / usr / local / ys / soft dizinine yüklemek için sftp'yi kullanın
3.3.1 jdk dosyasını açın
cd / usr / local / ys / soft
# Unzip
tar -zxvf cenos-7-hadoop-2.6.4.tar.gz -C / usr / local / ys / app
3.3.2 Yapılandırma dosyasını değiştirin
core-site.xml
hdfs-site.xml
iplik-sifite.xml
svales
ys02
ys03
ys04
3.3.3 Küme başlatma (aşağıdaki adımları kesinlikle uygulayın)
3.3.3.1 Zookeeper cluster'ı başlatın (zk'yi sırasıyla ys01, ys02 ve ys04'de başlatın)
cd /usr/local/ys/app/zookeeper-3.4.5/bin/
./zkServer.sh start
# Durumu görüntüle: bir lider, iki takipçi
./zkServer.sh durumu
3.3.3.2 Günlük modunu başlat (sırasıyla mini5, mini6 ve mini7'de yürütülür)
cd /usr/local/ys/app/hadoop-2.6.4
sbin / hadoop-daemon.sh journalnode'u başlat
# Ys02, ys03 ve ys04 üzerinde daha fazla JournalNode işlemi olduğunu doğrulamak için jps komutunu çalıştırın
3.3.3.3 HDFS'yi Biçimlendirme
# Ys01'de komutları çalıştırın:
hdfs ad kodu-biçimi
# Biçimlendirmeden sonra, /usr/local/ys/app/hadoop-2.6.4/tmp ve ardından / usr'yi yapılandırdığım core-site.xml'deki hadoop.tmp.dir yapılandırmasına göre bir dosya oluşturulur. /Local/ys/app/hadoop-2.6.4/tmp dosyasını ys02'nin /usr/local/ys/app/hadoop-2.6.4/ klasörüne kopyalayın.
scp -r tmp / ys02: / usr / local / ys /app/hadoop-2.6.4/
## Aynısı yapılabilir, önermek hdfs namenode -bootstrapStandby
3.3.3.4 ZKFC'yi biçimlendir (ys01'de bir kez yürütün)
hdfs zkfc -formatZK
3.3.3.5 HDFS'yi başlatın (ys01'de yürütülür)
sbin / start-dfs.sh
3.3.3.6 YARN'ı Başlat
sbin / start-yarn.sh
3.3 MySQL-5.6 kurulumu
Atla
3.4 Kovan
3.4.1 sftp penceresi alt + p, cd / usr / local / ys / soft'den sonra görünür, tar paketini sanal makinenin ys01 / usr / local / ys / soft dizinine yüklemek için sftp kullanın
3.4.2 Fermuarı Aç
cd / usr / local / ys / soft
tar -zxvf kovanı-0.9.0.tar.gz -C / usr / local / ys / app
3.4.3. Kovanı yapılandırın
3.4.3.1 HIVE_HOME ortam değişkenini yapılandırın vi conf / hive-env.sh yapılandırın $ hadoop_home
3.4.3.2 Metatabanı Bilgilerini Yapılandırma vi hive-site.xml
Aşağıdaki içeriği ekleyin:
hdfs-site.xml
iplik-sifite.xml
3.4.4 Hive ve mysq yükledikten sonra, mysql bağlantı jar paketini $ HIVE_HOME / lib dizinine kopyalayın
İzin sorunu yoksa, mysql'de yetkilendirin (mysql'nin kurulu olduğu makinede yürütün)
mysql -uroot -p
# (Aşağıdaki ifadeyi çalıştırın *. *: Tüm kitaplıklar altındaki tüm tablolar%: herhangi bir IP adresi veya ana bilgisayar bağlanabilir)
HİBE SEÇENEĞİ İLE'KÖK 'TARAFINDAN TANIMLANAN *. * ÜZERİNDEKİ TÜM AYRICALIKLARI VERİN;
FLUSH AYRICALIKLARI;
3.4.5 Jline paketi sürümü tutarsız, hadoop'ta /usr/local/ys/app/hadoop-2.6.4/share/hadoop/yarn'ı değiştirmek için jline.2.12.jar'ın jar paketini kovanın lib dizinine kopyalamanız gerekiyor /lib/jline-0.9.94.jar
3.4.6 Kovanı başlat
bin / kovan
3.5 Kafka
3.5.1 Kurulum paketini indirin
Linux kurulum paketini indirmek için wget komutunu kullanın
wget
3.5.2 Kurulum paketini açın
tar -zxvf /usr/local/ys/soft/kafka_2.11-0.8.2.2.tgz -C / usr / local / ys / app /
cd / usr / local / ys / app /
ln -s kafka_2.11-0.8.2.2 kafka
3.5.3 Yapılandırma dosyasını değiştirin
cp
/usr/local/ys/app/kafka/config/server.properties
/usr/local/ys/app/kafka/config/server.properties.bak
vi /usr/local/ys/kafka/config/server.properties
Aşağıdakileri girin:
3.5.4 Kurulum paketini dağıtın
scp -r /usr/local/ys/app/kafka_2.11-0.8.2.2 ys02: / usr / local / ys / app /
scp -r /usr/local/ys/app/kafka_2.11-0.8.2.2 ys03: / usr / local / ys / app /
scp -r /usr/local/ys/app/kafka_2.11-0.8.2.2 ys04: / usr / local / ys / app /
Ardından her makinede yumuşak bağlantılar oluşturun
cd / usr / local / ys / app /
ln -s kafka_2.11-0.8.2.2 kafka
3.5.5 Yapılandırma dosyasını yeniden değiştirin (önemli)
Sırayla her sunucudaki yapılandırma dosyasının broker.id değerini değiştirin. Bunlar 0, 1, 2'dir ve tekrarlanmamalıdır.
3.5.6 Kümeyi başlatın
Sırayla her düğümde kafka'yı başlatın
bin / kafka-server-start.sh config / server.properties
3.6 Kıvılcım
3.6.1 sftp penceresi alt + p, cd / usr / local / ys / soft'den sonra görünür, tar paketini sanal makinenin ys01 / usr / local / ys / soft dizinine yüklemek için sftp kullanın
3.6.2 Kurulum paketini açın
tar -zxvf / usr / local / ys / soft / spark-1.6.1-bin-hadoop2.6.tgz -C / usr / local / ys / app /
3.6.3 Spark yapılandırma dosyasını değiştirin (iki yapılandırma dosyası spark-env.sh ve bağımlılar)
cd /usr/local/ys/soft/spark-1.6.1-bin-hadoop2.6
Conf dizinini girin ve spark-env.sh.template dosyasını yeniden adlandırın ve değiştirin
cd conf /
mv spark-env.sh.template spark-env.sh
vi spark-env.sh
Aşağıdaki yapılandırmayı yapılandırma dosyasına ekleyin
dışa aktar JAVA_HOME = / usr / java / jdk1.7.0_45
SPARK_MASTER_PORT = 7077'yi dışa aktar
dışa aktar SPARK_DAEMON_JAVA_OPTS = "- Dspark.deploy.recoveryMode = ZOOKEEPER -Dspark.deploy.zookeeper.url = ys01, ys02, ys04 -Dspark.deploy.zookeeper.dir = / spark"
Kaydet ve çık
Slaves.template dosyasını yeniden adlandırın ve değiştirin
mv köleler. şablon köleleri
vi köleler
Dosyaya alt düğümün konumunu ekleyin (İşçi düğümü)
Ys02
Ys03
Ys04
Kaydet ve çık
3.6.4 Yapılandırılmış Spark'ı diğer düğümlere kopyalayın
scp -r spark-1.6.1-in-hadoop2.6 / ys02: / usr / local / ys / app
scp -r spark-1.6.1-bin-hadoop2.6 / ys03: / usr / local / ys / app
scp -r spark-1.6.1-bin-hadoop2.6 / ys04: / usr / local / ys / app
3.6.5 Küme başlatma
Ys01 üzerinde sbin / start-all.sh komut dosyasını çalıştırın
Ardından, ikinci Master'ı başlatmak için ys02 üzerinde sbin / start-master.sh dosyasını çalıştırın.
3.7 Azkaban
3.7.1 azkaban web sunucusu kurulumu
Azkaban-web-server-2.5.0.tar.gz dosyasını açın
Komut: tar --zxvf /usr/local/ys/soft/azkaban-web-server-2.5.0.tar.gz -C / usr / local / ys / app / azkaban
Açılmış azkaban-web-server-2.5.0'ı azkaban dizinine taşıyın ve web sunucusunu yeniden adlandırın
Komut: mv azkaban-web-server-2.5.0 ../azkaban
cd ../azkaban
mv azkaban-web-server-2.5.0 web sunucusu
3.7.2 azkaban yürütme sunucusu kurulumu
Azkaban-executor-server-2.5.0.tar.gz dosyasını açın
Komut: tar --zxvf /usr/local/ys/soft/azkaban-executor-server-2.5.0.tar.gz -C / usr / local / ys / app / azkaban
Sıkıştırılmış azkaban-executor-server-2.5.0'ı azkaban dizinine taşıyın ve yürütücüyü yeniden adlandırın
Komut: mv azkaban-executor-server-2.5.0 ../azkaban
cd ../azkaban
mv azkaban-executor-server-2.5.0 yürütücü
3.7.3 azkaban komut dosyası içe aktarma
Unzip: azkaban-sql-script-2.5.0.tar.gz
Komut: tar --zxvf azkaban-sql-script-2.5.0.tar.gz
Açılmış mysql betiğini mysql'e aktarın:
Mysql girin
mysql > veritabanı azkaban oluştur;
mysql > azkaban kullanın;
Veritabanı değişti
mysql > kaynak /usr/local/ys/soft/azkaban-2.5.0/create-all-sql-2.5.0.sql;
3.7.4 SSL yapılandırması oluşturun
Referans adresi:
Komut: keytool -keystore anahtar deposu -alias jetty -genkey -keyalg RSA
Bu komutu çalıştırdıktan sonra, şu anda oluşturulan anahtarlayıcının şifresini ve ilgili bilgilerini girmeniz istenecektir.Lütfen girdiğiniz şifreyi hatırlayın. Bilgiler aşağıdaki gibidir (buraya girdiğim şifre: 123456)
Anahtar deposu şifresini girin:
Yeni parolayı tekrar girin:
Adınız ve soyadınız nedir?
:
Kuruluş biriminizin adı nedir?
:
Kuruluşunuzun adı nedir?
:
Şehrinizin veya bölgenizin adı nedir?
:
Eyaletinizin veya ilinizin adı nedir?
:
Bu birim için iki harfli ülke kodu nedir
: CN
CN = Bilinmeyen, OU = Bilinmeyen, O = Bilinmeyen, L = Bilinmeyen, ST = Bilinmeyen, C = CN doğru mu?
: Y
giriş < iskele > Ana şifre (anahtar deposu şifresiyle aynıysa, Enter tuşuna basın):
Yeni şifreyi tekrar girin
Yukarıdaki çalışma tamamlandıktan sonra, anahtar deposu sertifika dosyası mevcut dizinde oluşturulacak ve anahtar deposu azkaban web sunucusunun kök dizinine kopyalanacaktır.Örneğin: cp anahtar deposu azkaban / webserver
3.7.5 Yapılandırma dosyası
Not: Önce sunucu düğümündeki saat dilimini yapılandırın
Önce Asya / Şangay zaman dilimi yapılandırma dosyasını oluşturun, etkileşimli tzselect komutunu kullanın
Sistemin yerel saat dilimi yapılandırmasının üzerine yazmak için saat dilimi dosyasını kopyalayın
cp / usr / share / zoneinfo / Asia / Shanghai / etc / localtime
3.7.6 azkaban web sunucusu yapılandırması
Azkaban web sunucusu kurulum dizini conf dizinini girin
Azkaban.properties dosyasını değiştirin
Command vi azkaban.properties
İçerik açıklaması aşağıdaki gibidir:
* Azkaban Kişiselleştirme Ayarları
azkaban.name = Sunucunun üzerinde görüntülenen ad için kullanılan #Server UI adını test edin
azkaban.label = Yerel Azkaban'ım # Açıklama
azkaban.color = # FF3601 #UI rengi
azkaban.default.servlet.path = / dizin #
web.resource.dir = web / #Default kök web dizini
default.timezone.id = Asya / Şangay #Varsayılan saat dilimi Asya / Şangay olarak değiştirildi. Varsayılan saat Amerika Birleşik Devletleri
* Azkaban UserManager sınıfı
user.manager.class = azkaban.user.XmlUserManager # Kullanıcı yetki yönetimi varsayılan sınıfı
user.manager.xml.file = conf / azkaban-users.xml #User yapılandırması, özel yapılandırma için lütfen aşağıdakilere bakın
* Projeler için yükleyici
executor.global.properties = conf / global.properties # Global yapılandırma dosyasının konumu
azkaban.project.dir = projeler #
database.type = mysql #Database türü
mysql.port = 3306 #Port numarası
mysql.host = localhost # Veritabanı bağlantı IP'si
mysql.database = azkaban #Database örnek adı
mysql.user = root #Database kullanıcı adı
mysql.password = Root123456 #Database şifresi
mysql.numconnections = 100 #Maksimum bağlantı sayısı
* Hız geliştirme modu
velocity.dev.mode = false
* Jetty sunucu özellikleri.
jetty.maxThreads = 25 # Maksimum iş parçacığı sayısı
jetty.ssl.port = 8443 #Jetty SSL bağlantı noktası
jetty.port = 8081 # Jetty limanı
jetty.keystore = anahtar deposu #SSL dosya adı
jetty.password = 123456 #SSL dosya şifresi
jetty.keypassword = 123456 # Jetty ana şifresi, anahtar deposu dosyasıyla aynıdır
jetty.truststore = anahtar deposu #SSL dosya adı
jetty.trustpassword = 123456 # SSL dosyası şifresi
* Sunucu özelliklerini yürütün
executor.port = 12321 #Execute sunucu tarafı
*E mail ayarları
mail.sender=xxxxxxxx@163.com # e-posta gönder
mail.host = smtp.163.com # posta kutusu smtp adresi gönderme
mail.user = xxxxxxxx # Posta gönderirken görüntülenen ad
mail.password = ********** #Mailbox şifresi
job.failure.email=xxxxxxxx@163.com # Görev başarısız olduğunda e-posta gönderilecek adres
job.success.email=xxxxxxxx@163.com #Görev başarılı olduğunda e-posta gönderilecek adres
lockdown.create.projects = false #
cache.directory = önbellek # Önbellek dizini
3.7.7 azkaban yürütme sunucusu yürütme yapılandırması
Yürütme sunucusu kurulum dizinini conf girin ve azkaban.properties'i değiştirin
vi azkaban.properties
* Azkaban
default.timezone.id = Asya / Şangay # Zaman Bölgesi
* Azkaban JobTypes eklenti yapılandırması
azkaban.jobtype.plugin.dir = eklentiler / jobtypes # jobtype eklenti konumu
* Projeler için yükleyici
executor.global.properties = conf / global.properties
azkaban.project.dir = projeler
* Veritabanı ayarları
database.type = mysql #Database type (şu anda yalnızca mysql'yi destekliyor)
mysql.port = 3306 # Veritabanı bağlantı noktası numarası
mysql.host = 192.168.20.200 #Database IP adresi
mysql.database = azkaban #Database örnek adı
mysql.user = root #Database kullanıcı adı
mysql.password = Root23456 #Database şifresi
mysql.numconnections = 100 #Maksimum bağlantı sayısı
* Sunucu yapılandırmasını gerçekleştirin
executor.maxThreads = 50 # Maksimum iş parçacığı sayısı
executor.port = 12321 #Port numarası (değiştirilirse, lütfen web hizmetiyle tutarlı olun)
executor.flow.threads = 30
3.7.8 Kullanıcı Yapılandırması
Azkaban web sunucusunun conf dizinini girin ve azkaban-users.xml dosyasını değiştirin
vi azkaban-users.xml yönetici kullanıcı ekler
3.7.9 Web sunucusu başlatma
Azkaban web sunucusu dizininde başlatma komutunu yürütün
bin / azkaban-web-start.sh
Not: web sunucusunun kök dizininde çalıştırın
Veya arka plana başla
nohup bin / azkaban-web-start.sh 1 > /tmp/azstd.out 2 > /tmp/azerr.out
3.7.10 Sunucu başlangıcını gerçekleştirin
Yürütme sunucusu dizininde başlatma komutunu yürütün
bin / azkaban-executor-start.sh
Not: Yalnızca sunucu kök dizinini çalıştırabilirsiniz
Başlangıç tamamlandıktan sonra, azkaban hizmetine erişmek için tarayıcıya https: // sunucu IP adresi: 8443 girin (Google Chrome önerilir). Yeni kullanıcı adını ve şifreyi giriş kısmına girin ve oturum aç düğmesine tıklayın
3.8 Zeplin
Aşağıdaki belgelere bakın:
3.9 HBase
3.9.1 Fermuarı Aç
tar zxvf /usr/local/ys/soft/hbase-0.99.2-bin.tar.gz -C / usr / local / ys / app
3.9.2 Yeniden adlandır
cd / usr / local / ys / app
mv hbase-0.99.2 hbase
3.9.3 Yapılandırma dosyasını değiştirin
Her dosyanın açıklaması aşağıdaki gibidir:
hbase-env.sh
JAVA_HOME = / usr / local / ys / app / jdk1.7.0_80 // jdk kurulum dizinini dışa aktar
dışa aktar HBASE_CLASSPATH = / usr / local / ys / app / hadoop-2.6.4 / etc / hadoop // hadoop yapılandırma dosyasının konumu
dışa aktar HBASE_MANAGES_ZK = false # Ayrı bir hayvanat bahçesi bekçisi kurulumu kullanıyorsanız, bu yer yanlıştır (burada kendi hayvan bakıcınızı kullanın)
hbase-site.xml
Bölge sunucuları // köle makinenin alan adıdır
Ys02
ys03
ys04
Not: Buradaki HBase yapılandırması, HA modunda HDFS içindir
3.9.4 Hadoop yapılandırma dosyalarını hdfs-site.xml ve core-site.xml'yi HBase yapılandırma dosyasına kopyalayın
cp /usr/local/ys/app/Hadoop-2.6.4/etc/hadoop/hdfs-site.xml / usr / local / ys / app / hbase / conf
cp /usr/local/ys/app/hadoop-2.6.4/etc/hadoop/core-site.xml / usr / local / ys / app / hbase / conf
3.9.5 Diğer makinelere dağıtın
scp r / usr / local / ys / app / hbase ys02: / usr / local / ys / app
scp r / usr / local / ys / app / hbase ys03: / usr / local / ys / app
scp r / usr / local / ys / app / hbase ys04: / usr / local / ys / app
3.9.6 Başlat
cd / usr / local / ys / app / hbase / bin
./ start-hbase.sh
3.9.7 Görüntüle
Süreç: jps
Hbase kabuğunu girin: hbase kabuğu
Hbase kabuğundan çıkın: çıkın
Sayfa: http: // master: 60010 /
3.10KAfkaOffsetMonitor (Kafka kümesinin izleme programı, esasen bir jar paketi)
3.10.1 jar paketini yükleyin
biraz
3.10.2 Kavanoz paketini çalıştırın
nohup java -cp KafkaOffsetMonitor-assembly-0.2.1.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb --zk ys01, ys02, ys04 --refresh 5.dakika - 1.gün --port 8089 $
4. Küme Ayarı
4.1 Çok fazla bilgi işlem veya bellek kaynağı işgalinden kaçınmak için, yardımcı araçlar mümkün olduğunca veri veya hesaplama düğümlerine kurulmamalıdır.
4.2 dataNode ve spark slave düğümü olabildiğince birlikte olmalıdır; bu şekilde, hesaplama sırasında, ağ üzerinden veri çekilmesini önleyebilir ve hesaplama hızını hızlandırabilir.
4.3 Hadoop kümesi raf uyumlu yapılandırma Yapılandırmadan sonra, aynı raftaki farklı makinelerde iki veri kopyası ve ardından diğer raf makineleri için bir kopya oluşturabilirsiniz.Ancak, iki makine ve dört sanal makinenin kişisel algı ile donatılmasına gerek yoktur.
4.4 Yapılandırma parametrelerini ayarlama
Http://blog.csdn.net/chndata/article/details/46003399 adresine başvurabilirsiniz.
Üçüncü aşama (yardımcı alet çalışmasının öğrenme aşaması)
11) Sqoop (CSDN, 51CTO ve resmi web sitesi) -20 saat
Veri dışa aktarma kavramlarına giriş
Sqoop temelleri
Sqoop ilkesi ve yapılandırma talimatları
Sqoop verilerini içe aktarma gerçek mücadele
Sqoop veri aktarımı gerçek mücadele,
Sqoop toplu iş işlemi
12) Flume (CSDN, 51CTO ve resmi web sitesi) -20 saat
FLUME günlük toplama çerçevesine giriş.
FLUME çalışma mekanizması.
FLUME çekirdek bileşenleri.
FLUME parametresi yapılandırma talimatları.
FLUME toplama nginx günlük durumu (vaka alıştırma yapılmalıdır)
13) Oozie (CSDN, 51CTO ve resmi web sitesi) - 20 saat
Görev çizelgeleme sistemi kavramına giriş.
Yaygın olarak kullanılan görev planlama araçlarının karşılaştırılması.
Oozie tanıtıldı.
Oozie'nin temel konsepti.
Oozie yapılandırma talimatları.
Oozie, mapreduce / hive gibi gerçek görev zamanlaması durumlarını uygular.
Dördüncü derece
Segment (sürekli öğrenme aşaması)
Her gün ortaya çıkan yeni şeyler var, en son teknolojik trendlere dikkat etmeniz ve öğrenmeye devam etmeniz gerekiyor. Herhangi bir genel teknoloji, önce teoriyi öğrenme ve ardından pratikte teoriyi sürekli olarak iyileştirme sürecidir.
Uyarılar
1) Okuma verimliliğinizin çok yavaş olduğunu düşünüyorsanız, çevrimiçi olarak bazı kurslar toplayabilir ve kursları takip edebilirsiniz. Kitap okuma etkinliği yüksek değilse en popüler olanı online derslerdir.Aksi takdirde kitapları kendiniz okuyun.
2) Kuruluşlar şu anda mikro toplu işleme için Spark kullanmayı tercih ediyor. Storm yalnızca zamanlama gereksinimleri çok yüksek olduğunda kullanılacaktır, böylece anlayabilirsiniz. Spark Streaming'i öğrenmeye odaklanın.
3) Hızlı öğrenme, problem çözme ve iletişim kurma becerisi ** gerçekten önemlidir.
4) StackOverFlow ve Google'ı kullanmakta iyi olun (çözülemeyen sorunlarla karşılaştığınızda önce Google. Google bir çözüm bulamazsa soru sormak için StackOverFlow'a gidin. Genellikle üçüncü Hintli kardeşler sorularınızı 2 saat içinde cevaplayacaktır).
/ *
5) Video kursu önerisi: