Büyük veri öğrenmeye giden yolu biliyor musunuz? O zaman büyük tanrı ile öğrenelim

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:

Anahtarsız başlatma gerçekten mantıklı mı?
önceki
2018'de Chongqing rakamları Chen Changyong: "Kör Anne -law" ın "Altın Madalya Üstadı"
Sonraki
Tencent Cloud Xiaowei ve Digital Jiayuan ortaklaşa ekranlı, havalı ve söyleyecek bir şey olmayan hoparlörler yaratıyor
The North Face bir kez daha sınırlı bir hareket sunuyor! Ama bu sefer botlar
Arabanın anahtarlı çalıştırma işlevi var, peki anahtar deliği var mı?
Röportaj | 61 yaşındaki "eski yönetmen" Gu Changwei neden gençlik filmleri yapmaya başlamak zorunda?
JD.com, Ali'ye saldırmak için 2,6 milyon kişiyi mi tuttu? Parti yanıt verir; BMW önümüzdeki ay Çin'de araba paylaşım hizmetini başlatır; Gionee 8 tam ekran cep telefonu çıkarır | Lei Feng Morning Pos
Büyük veri öğrenme kaynaklarının kapsamlı bir koleksiyonu!
Fengtang, farklı bir akıllı ev sistemi değerlendirmesi olan akıllı yaşamınızı açar
Kuzey Film Festivali'nin odak noktası Pedro Almodovar yedi eserle karşılıyor sizi
Wall Pool | Exposure Age Wallpaper, Mario ile aynı yaştaki bu 8bit oyunları oynadınız mı?
Amazon Bezos'un kişisel serveti 100 milyar ABD Dolarını aşıyor; MTR, Alipay'e takas olmadan bağlanıyor; Çin'in "atık yağ uçuşu" ilk okyanus ötesi uçuşu | Lei Feng Morning Post
Bu en sokak stili 3 kot ceketi giymek yeterli değil, sadece kotu "dövme" yapabilirseniz, gerçekten oynayabilirsiniz!
Liu Haihui, Qianba Genel Müdürü İnovasyon çekirdek değil, yaratıcı çekirdek
To Top