impala的session无法释放的自动清理脚本

网友投稿 379 2022-11-24

impala的session无法释放的自动清理脚本

#!/usr/bin/env python

# -*- coding: utf8 -*-

import requests

from bs4 import BeautifulSoup

# 配置ip地址,格式为

ips = ["ip", "ip", "ip"]

for ip in ips:

url = '+ ip + ':25000/sessions'

try:

print("对该节点:" + ip + " 操作")

html = requests.get(url)

oup = BeautifulSoup(html.text, "html.parser")

except:

print("访问" + url + "异常,清理程序退出")

exit(1)

c_tr = oup.findAll("table")[0].findAll("tr")

# 将查询的结果,添加到数组中

# 考虑后面程序的扩展性,将每个字段都获取下来

detail_list = []  # 放需要清理session_id

for i in range(len(c_tr)):

if len(c_tr[i].findAll("td")):

# 判断session是否显示为已经过期

if 'true' in str(c_tr[i].findAll("td")[11]):

detail_list.append(c_tr[i].findAll("td")[14])  # 清理的程序

if len(detail_list) == 0:  # 如果清理程序全部都为

print("该节点:" + ip + "不存在待被清理的session")

continue

for session_id in detail_list:

close_session = str(session_id).replace('Close', '')

close_url = '+ ip + ':25000' + close_session

print("清理session:" + close_session.split("=")[1])

result = requests.get(close_url)

c_trl = oup.findAll("table")[0].findAll("tr")  # 重新查询页面对应清理标签

if len(c_trl) != 0:

print("执行清理异常,请排查" + ip + "impala25000端口页面")

continue

print("该节点" + ip + "总共清理" + str(len(detail_list)) + "个sesson")

print("清理成功")

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MyBatis中map的应用与模糊查询实现代码
下一篇:决胜千里之外 智能硬件背后那朵机智的“云”
相关文章

 发表评论

暂时没有评论,来抢沙发吧~