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 编译与安装

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