#!/bin/sh
ip=xxx
port=8088
export HADOOP_HOME=xxx
rmstate1=$($HADOOP_HOME/yarn rmadmin -getServiceState rm1)
rmstate2=$($HADOOP_HOME/yarn rmadmin -getServiceState rm2)
if [[ $rmstate1 == *active* ]]
then
ip=xxx
fi
cd /home/yarn/queuecheck
rm -f maxmemory.txt
rm -f usedmemory.txt
rm -f rate.txt
rm -f qrate.txt
curl http://$ip:$port/ws/v1/cluster/scheduler | jq . | sed 's/\"//g' > scheduler.json
sed -i '1,5d' scheduler.json
sed -n -e :a -e '1,33!{P;N;D;};N;ba' scheduler.json > nscheduler.json
cat nscheduler.json | grep -i "queueName" | awk -F ": " '{print $2}' | awk -F "," '{print $1}' > qname.txt
cat nscheduler.json | grep -i "memory" | awk -F ": " '{print $2}' | awk -F "," '{print $1}' > memory.txt
line=$(cat memory.txt | wc -l)
for((k=2;k<$line;k=k+6))
do
sed -n "$k p" memory.txt | awk '{print $1}' >> maxmemory.txt
done
for((j=3;j<$line;j=j+6))
do
sed -n "$j p" memory.txt | awk '{print $1}' >> usedmemory.txt
done
uarr=($(cat usedmemory.txt | awk '{print $1}'))
marr=($(cat maxmemory.txt | awk '{print $1}'))
for((m=0;m<${#uarr[@]};m++))
do
for((n=0;n<${#marr[@]};n++))
do
if [ $m -eq $n ]
then
if [[ ${uarr[$m]} == *e* ]]
then
u1=$(echo ${uarr[$m]} | grep -i "e+0" | awk -F "e" '{print $1}')
u2=$(echo ${uarr[$m]} | grep -i "e+0" | awk -F "e" '{print $2}' | awk -F "+0" '{print $2}')
if [ $u2 -eq 6 ]
then
u3=`echo "$u1*1000000/1024" | bc`
elif [ $u2 -eq 7 ]
then
u3=`echo "$u1*10000000/1024" | bc`
elif [ $u2 -eq 8 ]
then
u3=`echo "$u1*100000000/1024" | bc`
fi
else
u3=`echo "sclae=2; ${uarr[$m]}/1024" | bc`
fi
if [[ ${marr[$n]} == *e* ]]
then
m1=$(echo ${marr[$n]} | grep -i "e+0" | awk -F "e" '{print $1}')
m2=$(echo ${marr[$n]} | grep -i "e+0" | awk -F "e" '{print $2}' | awk -F "+0" '{print $2}')
if [ $m2 -eq 6 ]
then
m3=`echo "$m1*1000000/1024" | bc`
elif [ $m2 -eq 7 ]
then
m3=`echo "$m1*10000000/1024" | bc`
elif [ $m2 -eq 8 ]
then
m3=`echo "$m1*100000000/1024" | bc`
fi
else
m3=`echo "sclae=2; ${marr[$n]}/1024" | bc`
fi
rate=$(printf "%.2f" `echo "scale=2;$u3/$m3"|bc`)
nrate=`echo "$rate*100" | bc`
echo $nrate >> rate.txt
fi
done
done
qarr=($(cat qname.txt | awk '{print $1}'))
rarr=($(cat rate.txt | awk '{print $1}'))
for((a=0;a<${#qarr[@]};a++))
do
for((b=0;b<${#rarr[@]};b++))
do
if [ $a -eq $b ]
then
echo ${qarr[$a]}":"${rarr[$b]} >> qrate.txt
fi
done
done
linenum=$(cat qrate.txt | wc -l)
let linenum+=1
echo $linenum
create_date=`date +"%Y-%m-%d %H:%M"`
#上报数据
function postdata(){
for (( k = 1; k< $linenum ; k++ ))
do
qname=$(echo $(sed -n "$k p" qrate.txt | awk -F ":" '{print $1}') | awk '{gsub(/[[:blank:]]*/,"",$0);print $0;}' )
qrate=$(sed -n "$k p" qrate.txt | awk -F ":" '{print $2}')
qmax=$(sed -n "$k p" maxmemory.txt | awk -F ":" '{print $1}')
qused=$(sed -n "$k p" usedmemory.txt | awk -F ":" '{print $1}')
/usr/bin/mysql -uroot -p0 -e "insert into xxx.queue_resource(queue_name,queue_used,queue_max,queue_used_rate,create_date) values ('$qname','$qused','$qmax','$qrate','$create_date')"
done
}
postdata
#创建
create table xxx.queue_resource
(
queue_id INT(20) not null AUTO_INCREMENT,
queue_name char(20) not null,
queue_used char(32) not null,
queue_max char(32) not null,
queue_used_rate char(32) not null,
create_date char(32) not null,
primary key (queue_id )
)

Hadoop记录-queue mysql的更多相关文章

  1. Hadoop记录-queue使用率

    #!/bin/sh ip=xxx port=8088 export HADOOP_HOME=/app/hadoop/bin rmstate1=$($HADOOP_HOME/yarn rmadmin - ...

  2. PHP+Hadoop+Hive+Thrift+Mysql实现数据统计分析

    原址:http://www.cnblogs.com/wicub/p/6094045.html   安装 Hadoop安装: http://www.powerxing.com/install-hadoo ...

  3. 怎么启用apache的mod_log_sql模块将所有的访问信息直接记录在mysql中

    怎么启用apache的mod_log_sql模块将所有的访问信息直接记录在mysql中

  4. 大数据项目实践:基于hadoop+spark+mongodb+mysql+c#开发医院临床知识库系统

    一.前言 从20世纪90年代数字化医院概念提出到至今的20多年时间,数字化医院(Digital Hospital)在国内各大医院飞速的普及推广发展,并取得骄人成绩.不但有数字化医院管理信息系统(HIS ...

  5. hadoop+spark+mongodb+mysql+c#

    一.前言 从20世纪90年代数字化医院概念提出到至今的20多年时间,数字化医院(Digital Hospital)在国内各大医院飞速的普及推广发展,并取得骄人成绩.不但有数字化医院管理信息系统(HIS ...

  6. hadoop记录-Hadoop参数汇总

    Hadoop参数汇总 linux参数 以下参数最好优化一下: 文件描述符ulimit -n 用户最大进程 nproc (hbase需要 hbse book) 关闭swap分区 设置合理的预读取缓冲区 ...

  7. hadoop记录-hive常见设置

    分区表 set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict;create tabl ...

  8. 谁记录了mysql error log中的超长信息

    [问题] 最近查看MySQL的error log文件时,发现有很多服务器的文件中有大量的如下日志,内容很长(大小在200K左右),从记录的内容看,并没有明显的异常信息. 有一台测试服务器也有类似的问题 ...

  9. Hadoop记录-hdfs转载

    Hadoop 存档 每个文件均按块存储,每个块的元数据存储在namenode的内存中,因此hadoop存储小文件会非常低效.因为大量的小文件会耗尽namenode中的大部分内存.但注意,存储小文件所需 ...

随机推荐

  1. OV摄像头图像采集基础知识总结

    目前FPGA用于图像采集 传输 处理 显示应用越来越多,主要原因是图像处理领域的火热以及FPGA强大的并行处理能力.本文以OV7725为例,对摄像头使用方面的基础知识做个小的总结,为后续做个铺垫. 下 ...

  2. Python爬虫之正则表达式(3)

    # re.sub # 替换字符串中每一个匹配的子串后返回替换后的字符串 import re content = 'Extra strings Hello 1234567 World_This is a ...

  3. Checkpoint 和Breakpoint

    参考:http://www.cnblogs.com/qiangshu/p/5241699.htmlhttp://www.cnblogs.com/biwork/p/3366724.html 1. Che ...

  4. C++调用Opencv实践中遇到的问题备忘录

    1.编写一个显示图片的项目,但显示的图片全灰色. 原因:需要在imshow()函数前加一个namedWindow()函数.https://blog.csdn.net/mao_hui_fei/artic ...

  5. Redis可视化工具 Redis Desktop Manager

    1.前言 从接触Redis也有两年,平时就使用它来做缓存层,它给我的印象就是很强大,内置的数据结构很齐全,加上Redis5.0的到来,新增了很多特色功能.而Redis5.0最大的新特性就是多出了一个数 ...

  6. Linux Collection:文本编辑问题

    PAS 删除文本中的^M标记 由于历史原因,不同操作系统使用不同的方式表示文件的换行符\n.现代计算机系统中的文件换行和早期的打字机有关,主要和两个控制符有关:line feed (LF) ,carr ...

  7. kernel笔记——定时器与时间管理

    内核中时钟主要完成以下作用: 记录系统运行时间 完成时间相关的统计功能,如cpu占用率等 定时功能,设定某个进程一段时间后完成某项任务 为实现以上功能,硬件以及内核提供了不同类型的时钟. RTC 实时 ...

  8. vue-router(hash模式)常见问题以及解决方法

    问题一:// 动态路由/detail/:id 问题:动态路由跳转的时候,页面是不刷新的,相信很多人都遇到了相同的问题解决方法:在全局的router-view组件上设置一个key值,此key值为一个时间 ...

  9. Java 8 中为什么要引出default方法

    (原) default方法是java 8中新引入进的,它充许接口中除了有抽象方法以外,还可以拥用具有实现体的方法,这一点跟jdk8之前的版本已经完全不一样了,为什么要这样做呢? 拿List接口举例,在 ...

  10. display:inline-block,block,inline的区别与用法

    一.首先要了解什么是块级元素与行级元素 块级元素 会占领页面的一行,其后多个block元素自动换行. 可以设置width,height,设置了width后同样也占领一行.同样也可以设置   margi ...