#!/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. SQLServer之数据类型解析

    数字 int.bigint.smallint 和 tinyint 使用整数数据的精确数字数据类型. 数据类型 范围 存储 tinyint 0 到 255. 1 字节 smallint -2^15 (- ...

  2. docker 基础

    概述 起源 2013 年由 DotCloud 公司开源出来的容器管理工具 DotCloud 公司是一家 PAAS 服务提供商,从 docker 的出身也可以看出它的主要功能和方向 技术原理 开始时是基 ...

  3. const关键字到底该怎么用

    原文地址:https://www.yanbinghu.com/2019/01/28/7442.html 前言 我们都知道使用const关键字限定一个变量为只读,但它是真正意义上的只读吗?实际中又该如何 ...

  4. 使用Visual Studio Code进行ABAP开发

    长期以来,我们都使用SAP GUI进行ABAP编码工作,事务代码SE38甚至成了ABAP的代名词. SAP GUI的代码编辑能力和一些专业的IDE比较起来难免相形见绌,为了给开发者们更好的体验,SAP ...

  5. eclipse 创建springboot项目

    eclipse创建springboot项目的三种方法: 引自:https://blog.csdn.net/mousede/article/details/81285693

  6. Spring Security(三十五):Part III. Testing

    This section describes the testing support provided by Spring Security. 本节介绍Spring Security提供的测试支持. ...

  7. LCA-RMQ+欧拉序

    还是那一道洛谷的板子题来说吧 传送门 其实好几天之前就写了 结果dr实在是太弱了 没有那么多的精力 于是就一直咕咕咕了 哎 今天终于补上来了 LCA概念传送门 RMQ传送门 这个算法是基于RMQ和欧拉 ...

  8. C语言的3种参数传递方式

    参数传递,是在程序运行过程中,实际参数就会将参数值传递给相应的形式参数,然后在函数中实现对数据处理和返回的过程,方法有3种方式 值传递 地址传递 引用传递 tips: 被调用函数的形参只有函数被调用时 ...

  9. CF452F Permutations/Luogu2757 等差子序列 树状数组、Hash

    传送门--Luogu 传送门--Codeforces 如果存在长度\(>3\)的等差子序列,那么一定存在长度\(=3\)的等差子序列,所以我们只需要找长度为\(3\)的等差子序列.可以枚举等差子 ...

  10. 路由信息对象Route之属性query和params的区别

    query的使用 第一步:在<router-link/>标签中配置如下 <router-link :to="{name:'beijing',query:{id:1,user ...