目录
1. Hadoop 的调度
Hadoop的调度是在zeus调起任务后执行,是hadoop内部任务的调度。
分为:公平调度(默认)、FIFO、容量调度。
Fair 调度:不超过集群总 map 数或 reduce 数情况下,提交的作业就会执行。
中小型公司用。资源利用率比较高。
FIFO:队列机制,先进先出,用的比较少。
Capacity 容量调度:可以控制每个账号分配多少资源。资源利用率低。
2. Zeus 的使用
对 Zeus 的使用,只用其调度模块。
必须是 tomcat7:如 apache-tomcat-7.0.56.tar.gz 。Tomcat6 对 zeus 的兼容不好。
关于 tomcat 需要注意:
需注意同时多启动的问题。因为 shutdown.sh 不能停掉子进程,此时你以为停掉了,再次启动 tomcat,就发生多启动 tomcat,此时 Zeus 不能正常用。
如何解决:
ps -ef |grep tomcat 查看子进程是否关闭,如果没有关闭,则手工:
Kill -9 进程号 手工杀掉。确保 ps -ef |grep tomcat 查不到内容时,再启动。
3. Zeus 安装
- 解压
tar xvzf ./apache-maven-3.2.3-bin.tar.gz
tar xvzf apache-tomcat-7.0.56.tar.gz
unzip zeus2-master.zip
- 选,修改 maven repo 存放路径:
修改 conf/settings.xml:
<localRepository>/path/to/local/repo</localRepository>
- 配置 zeus
1.设置配置项
在/web/src/main/filter/antx.properties 中对配置项进行设置
设置完成后,复制到${user.home}/antx.properties 处
2.pom.xml 本地 jar 地址修改
在/web/pom.xml 中修改 properties 中的 local.highcharts
因为此 jar 不在 maven 仓库中,此 jar 已经在
/web/libs/highcharts-1.4.0.jar
3.数据库配置
创建 zeus(utf8)数据库 ,启动后数据库里面的表会自动创建
zeus 数据库:/web/src/main/resources/persistence.xml 中对数据
库进行配置
修改web/src/main/resources/persistence.xml
4.环境配置
安装 dos2unix 命令
yum list *dos2unix*
yum install -y dos2unix.x86_64
5、配置 maven 环境变量
Vi /etc/profile
PATH 里加入/opt/softwares/apache/apache-maven-3.2.3/bin
source /etc/profile
6 打包
cd zeus2-master
mvn clean:clean
mvn package -Dmaven.test.skip=true
cd deploy
mvn assembly:assembly
最后把 war 包放到 tomcat 的 webapp 下,启动 tomcat,地址栏:
http://ip:8080/zeus 访问界面。
4. Zeus的使用
对我们唯一有用的地方就是调度中心。
开发中心对我们没有意义。
添加作业时:
只需要选择 shell 脚本,大家想想为什么?
任何作业都可以用 sh 脚本封装,只需要调用 sh 脚本即可。
定时表达式和 crontab 里意义类似,只是多了第一位。
含义分布式:秒,分钟,小时,日,月,星期
Crontab 里是:分钟,小时,日,月,星期
手动执行:仅仅执行该作业。
手动恢复:执行该作业,且自动调起后续依赖
作业返回值的重要性,Sh 脚本的返回值在调度系统里很重要。
这个作业里,如果 hiveF 一行执行失败了,后边还有必要执行吗?当然没必要。
hiveF ./rpt_sale_daily.hql -date $date
if test $? -ne 0
then
exit 11
fi
在每一个关键行后边增加返回值判断。
Zeus 的缺点:
1、没有登录系统。解决办法:可以找到源码中对应的地方增加登录判断。
2、没并发度控制。影响倒不大,只是影响统计作业执行时长。
5. 解决zeus不能调度hive作业
1、在/etc/profile 里设置 HIVE_HOME=/etc/hive
2、给虚拟机增加内存至 5G。
6. 关闭zeus
先进入zeustomcat中shutdown.sh,这时tomcat还有子进程没有关掉,如果下次启动的话,会起来两个tomcat进程。
正确关闭方法:
shutdown.sh以后,ps –ef|grep tomcat查看进程,kill -9 进程号