检查namenode状态的python脚本

xpcnnkqh  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(415)

我是python新手,目前只是通过在线研究学到了一些东西。只是想知道为什么我得到的是“错误”而不是“成功”。请参见下面的代码:


# ! /usr/bin/python -v

import os
import subprocess

f = os.popen("hdfs haadmin -getServiceState nn2")
now = f.read()
status = "active"
if now == status:
        print "success"
else:
        print 'error'

谢谢,阿尼尔

xoefb8l8

xoefb8l81#

(将评论移至答案)
无论何时从popen或任何地方提取文本,我都喜欢使用 .strip() 而且通常 .lower() 清除新行和多余的空格。


# ! /usr/bin/python -v

import os
import subprocess

f = os.popen("hdfs haadmin -getServiceState nn2")
now = f.read().lower().strip()  # add strip here

if now == "active":
        print "success"
else:
        print 'error:', now  # why not print out what it output?

相关问题