Centos 6.7最小版安裝AzKaban

首先,是要安裝git的已安裝直接掉過本節(對於要編譯安裝的同學):

1、下載git源碼包

wget https://github.com/git/git/archive/v2.3.0.zip

之後,解壓,進入解壓目錄。
在進行下一步操作之前,要思考一個問題,系統安裝過git沒有,話說yum裏面帶的是1.7.0的,版本不太符合。
首先

git --version

有1.7則remove 沒有接着操作。
開始編譯–安裝在/usr/local/git目錄下

make prefix=/usr/local/git all

make prefix=/usr/local/git install

然後報錯。。

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

沒問題就繼續,我是報錯了,
當時那個錯誤網友說是時間沒同步於是

ntpdate -u 210.72.145.44

我由於禁用了此服務,所以
date -s “2019-05-03 22:36:34”

之後還是報錯

usr/bin/perl Makefile.PL PREFIX='/usr/local/git' INSTALL_BASE='' --localedir='/usr/local/git/share/locale'

Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 3.

BEGIN failed--compilation aborted at Makefile.PL line 3.

就是這麼很多,只能卸載這個衝突的包,然後重新安裝

yum install perl-ExtUtils-MakeMaker package

接着編譯
在這裏插入圖片描述
還報錯,
再來:

yum install gettext-devel

在這裏插入圖片描述
好像可以了,馬上接着下一步安裝

make prefix=/usr/local/git install

在這裏插入圖片描述
修改環境變量

export GIT_HOME=/usr/local/git
export PATH=$PATH:$GIT_HOME/bin

驗證成功。ok
在這裏插入圖片描述

2、開始安裝azkaban
從GitHub上下載azkaban源碼包的,
比如這個3.44.tar.gz
網友也有直接git clone的據說編譯過程會簡單點,我是沒用(主要是知道的晚)

解壓,進入解壓目錄,之前是必須要有java環境的,我這邊之前配置過,不再講解。
開始編譯

./gradlew build

在這裏插入圖片描述
漫長的等待…
。。。。

在這裏插入圖片描述


等會兒我再過來

不想編譯的可以看一下這一位大佬寫的-給的有編譯過的文件
yannhuang–Azkaban源碼編譯過程

過了這麼久,原來出錯了。
在這裏插入圖片描述
解決

yum install gcc-c++ 

還報錯,那就在這條命令的後面加上忽略依賴的那句話(如果報錯就會報多個glibc包衝突什麼的,給出的解決方案有設置什麼什麼爲false 就這句)

中間是有些波折。

如你所見,用虛擬機編譯,網絡,配置還是不夠(看來不是的)
在這裏插入圖片描述
jce的問題,安裝jce(上面也報這個問題了,原來)
jdk1.8的
在這裏插入圖片描述
下載後的這個文件拷貝到jdk的 jre如圖對應的目錄下。

重新編譯

./gradlew clean
./gradlew build

在這裏插入圖片描述
測試太慢了 還是配置帶不動。
跳過測試吧

./gradlew build installDist -x test

在這裏插入圖片描述
3、開始整理azkaban安裝包
然後新建一個azkaban的目錄,把下面的壓縮包拷貝過來。

cp azkaban-*/build/distributions/*.tar.gz

在這裏插入圖片描述
記得把這個sql文件也拷貝出來。待會要建立元數據庫。
在azkaban-db的sql目錄下
4、azkaban元數據
接着,進入mysql命令行,創建azkban用戶,修改訪問權限,刷新配置。

 mysql> CREATE DATABASE azkaban;
 mysql> CREATE USER 'azkaban' IDENTIFIED BY 'azkaban';
 mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON azkaban.* to 'azkaban' WITH GRANT OPTION;
 mysql> flush privileges; 

使用azkaban庫,導入這個sql文件。
嗯,報錯了,超過限制,innodb限制1000字節,myisam也是767(mysql5.1報錯,5.7不會報錯)
就是這個圖
在這裏插入圖片描述
網友說改數據庫引擎,改字符集爲u8???禁用innodb的large什麼的什麼的,反正我試過還是報錯。所以按照配置hive元數據的方式配置了,字符集選了Latin1。

5、配置web-server 的SSL

解壓web-server對應的tar包,並改名字。
在該目錄下執行下句代碼,配置SSL

keytool -keystore keystore -alias jetty -genkey -keyalg RSA

在這裏插入圖片描述
龍尐–這裏寫的挺好—azkaban3.43.0安裝教程(git編譯版)
借龍尐的圖如下,
在這裏插入圖片描述
配置azkaban-executor,目錄結構如下圖
在這裏插入圖片描述
plugins目錄結構爲

pligins/jobtypes/commonprivate.properties

在這裏插入圖片描述
沒有的到azkaban-solo-server目錄下拷貝,是在代碼的resources裏面。

目錄對應的存儲內容如下:
愛腳本網–Azkaban 3.X 安裝 --寫的不錯
在這裏插入圖片描述
修改azkaban.propertites文件 --(我這邊配置ssl 所以需要配置這個keystore文件的爲位置)


# Azkaban Personalization Settings
default.timezone.id=Asia/Shanghai

# Loader for projects
executor.global.properties=/opt/app/azkaban-3.44/azkaban-exec-server/conf/global.properties

azkaban.project.dir=projects

# JMX stats
jetty.connector.stats=true
executor.connector.stats=true

# Azkaban plugin settings
#azkaban.jobtype.plugin.dir=plugins/jobtypes

# Azkaban Executor settings
executor.maxThreads=50
executor.flow.threads=30

#Azkaban Executor port
executor.port=12321

# Setting up the DB
database.type=mysql
mysql.port=3306
mysql.host=192.168.91.163
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban
mysql.numconnections=100

寫的有點雜亂,推薦閱讀這篇文章–丹江湖畔養蜂子的趙大爹–azkaban編譯安裝配置文檔

數據庫插入如下數據

INSERT INTO executors(HOST,PORT,active) VALUES('192.168.91.163','12321','1');
INSERT INTO executors(HOST,PORT,active) VALUES('192.168.91.164','12321','1');
INSERT INTO executors(HOST,PORT,active) VALUES('192.168.91.165','12321','1');

接着修改azkaban-users.xml (可設置用戶組和權限分配-此處未詳細設計–還是推薦[丹江湖畔養蜂子的趙大爹寫的])

<azkaban-users>
  <user groups="azkaban" password="azkaban" roles="admin" username="azkaban"/>
  <user password="metrics" roles="metrics" username="metrics"/>
  <user username="admin" password="admin" roles="admin,metrics" />
  <role name="admin" permissions="ADMIN"/>
  <role name="metrics" permissions="METRICS"/>
</azkaban-users>

把conf、plugins目錄 在複製到azkaban-web-server下,
其中azkaban-web-server下的azkaban.properties爲

# Azkaban Personalization Settings
azkaban.name=Test
azkaban.label=My Local Azkaban
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
web.resource.dir=web/
default.timezone.id=Asia/Shanghai
# Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager
user.manager.xml.file=/opt/app/azkaban-3.44/azkaban-exec-server/conf/azkaban-users.xml
# Loader for projects
executor.global.properties=/opt/app/azkaban-3.44/azkaban-exec-server/conf/global.properties
azkaban.project.dir=projects
#database.type=h2
#h2.path=./h2
#h2.create.tables=true
database.type=mysql
mysql.port=3306
mysql.host=192.168.91.163
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban
mysql.numconnections=100
# Velocity dev mode
velocity.dev.mode=false
# Azkaban Jetty server properties.
jetty.maxThreads=25
jetty.ssl.port=8666
jetty.port=8081
jetty.keystore=/opt/app/azkaban-3.44/azkaban-web-server/keystore
jetty.password=123456
jetty.keypassword=123456
jetty.truststore=/opt/app/azkaban-3.44/azkaban-web-server/keystore
jetty.trustpassword=123456

#jetty.use.ssl=false
#jetty.maxThreads=25
#jetty.port=8081
# Azkaban Executor settings
executor.port=12321
# mail settings
mail.sender=
mail.host=
mail.user=Notify emails of azkaban
mail.password=
# User facing web server configurations used to construct the user facing server URLs. They are useful when there is a reverse proxy between Azkaban web servers and users.
# enduser -> myazkabanhost:443 -> proxy -> localhost:8081
# when this parameters set then these parameters are used to generate email links.
# if these parameters are not set then jetty.hostname, and jetty.port(if ssl configured jetty.ssl.port) are used.
# azkaban.webserver.external_hostname=myazkabanhost.com
# azkaban.webserver.external_ssl_port=443
# azkaban.webserver.external_port=8081
[email protected]
[email protected]
lockdown.create.projects=false
cache.directory=cache
# JMX stats
jetty.connector.stats=true
executor.connector.stats=true
# Azkaban plugin settings
#azkaban.jobtype.plugin.dir=plugins/jobtypes

如果使用multiple-executor模式:需要額外配置如下:

# Multiple Executor use
azkaban.use.multiple.executors=true
# azkaban.executorselector.filters=StaticRemainingFlowSize,MinimumFreeMemory,CpuStatus
azkaban.executorselector.filters=StaticRemainingFlowSize,CpuStatus
azkaban.executorselector.comparator.NumberOfAssignedFlowComparator=1
azkaban.executorselector.comparator.Memory=1
azkaban.executorselector.comparator.LastDispatched=1
azkaban.executorselector.comparator.CpuUsage=1

上面的MinimumFreeMemory爲運行job的最低內存配置,默認6G,根據我這邊的情況,去掉了-不然一直處於Preparing狀態

可能這邊改過了,還有一個一致處於starting狀態的問題。
like this 申請不到內存
在這裏插入圖片描述
設置azkaban-exec-server/plugins/commonprivate.properties中的
web-server的也設置下,重啓就?

memCheck.enabled=false

先啓動azkaban-exec下的,在啓動web下的

bin/start-exec.sh

bin/start-web.sh

安裝成功;
訪問:https://192.168.91.163:8666
注意開啓ssl後必須使用https協議,谷歌會彈出警告忽略即可。
登陸用戶/密碼輸入:azkaban azkaban即可
在這裏插入圖片描述
測試成功
在這裏插入圖片描述

後續–Fayson–如何在Azkaban安裝插件(二)

參考文章:
wblinux–Linux中系統時間同步ntpdate–默認時區修改
https://blog.csdn.net/zbajie001/article/details/78782719
菜鳥進階歷程–Linux-git安裝篇–以及編譯安裝失敗處理
Lucky_shelly–linux安裝git方法
老_張–環境部署(三):Linux下安裝Git
初級以上–Centos6.5將git 1.7.1升級到git 2.2.1
愛你愛自己–Git服務器安裝詳解及安裝遇到問題解決方案
ssydxa219–Azkaban 3.0+ 安裝
Fayson–如何編譯安裝Azkaban服務
Fayson–如何在Azkaban安裝插件(二)
超簡單將Centos的yum源更換爲國內的阿里雲源
西瓜可樂520–yum 安裝 出錯 Error: Protected multilib versions:
lninic–Linux下Azkaban安裝
丹江湖畔養蜂子的趙大爹–azkaban編譯安裝配置文檔
SHP–azkaban3.12 編譯與安裝

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章