#!/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. 【PAT】B1014 福尔摩斯的约会

    因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母D,代表星期四: 第 2 对相同的字符是 E ,那是第 5 个英文字母,代表一天里的第 14 个钟头(于是一天的 0 点到 ...

  2. sklearn使用——梯度下降及逻辑回归

    一:梯度下降: 梯度下降本质上是对极小值的无限逼近.先求得梯度,再取其反方向,以定步长在此方向上走一步,下次计算则从此点开始,一步步接近极小值.需要注意的是步长的取值,如果过小,则需要多次迭代,耗费大 ...

  3. Hexo自定义页面的方法

    原文转自:http://refined-x.com/2017/07/10/Hexo%E8%87%AA%E5%AE%9A%E4%B9%89%E9%A1%B5%E9%9D%A2%E7%9A%84%E6%9 ...

  4. .NET CORE学习笔记系列(6)——KestrelServer

    原文:http://www.cnblogs.com/artech/p/KestrelServer.html 跨平台是ASP.NET Core一个显著的特性,而KestrelServer是目前微软推出了 ...

  5. sbt安裝與配置

    官方下載地址:https://www.scala-sbt.org/download.html?spm=a2c4e.11153940.blogcont238365.9.42d147e0iF8dhv 解压 ...

  6. 平滑升级你的Nginx

    1.概述(可以直接跳过看第2部分) Nginx方便地帮助我们实现了平滑升级.其原理简单概括,就是: (1)在不停掉老进程的情况下,启动新进程. (2)老进程负责处理仍然没有处理完的请求,但不再接受处理 ...

  7. Linux查看mysql 安装路径和运行路径

    一.查看文件安装路径 由于软件安装的地方不止一个地方,所有先说查看文件安装的所有路径(地址). 这里以mysql为例.比如说我安装了mysql,但是不知道文件都安装在哪些地方.放在哪些文件夹里,可以用 ...

  8. Vue-项目打包上线

    一.打包生成dist目录 运行npm run build 进行打包,控制台显示“Build complete”表示打包完成了. npm run build 二.dist目录放到后端跟目录 打包后生成一 ...

  9. 【Swift 4.2】uuid 取 hashCode(与 Java/Go/Kotlin 一致)

    extension String { func hashCode() -> Int32 { let components = self.split(separator: "-" ...

  10. PHP整洁之道

    摘录自 Robert C. Martin的Clean Code 书中的软件工程师的原则 ,适用于PHP. 这不是风格指南. 这是一个关于开发可读.可复用并且可重构的PHP软件指南. 并不是这里所有的原 ...