Uploaded image for project: 'Ambari'
  1. Ambari
  2. AMBARI-14926

ambari cached hdfs.py conflicts with python hdfs lib resulting into monitoring errors

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.2.0
    • 2.4.0
    • ambari-agent
    • None
    • Linux CentOS 7 x86_64

    Description

      On systems with datanode and journal node monitored by ambari-agent,
      if in the standard python path the hdfs lib is installed ( https://pypi.python.org/pypi/hdfs/ ) it makes datanode + journalnode monitoring fail:

      • datanodes are seen up in global live datanodes
      • but the service is down into the host service list (restart will work, but are marked as stopped)

      looking into the logs I get:

      DEBUG 2016-02-04 16:54:49,160 PythonReflectiveExecutor.py:47 - Running command reflectively ['/usr/bin/python2',
      u'/var/lib/ambari-agent/cache/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode.py',
      'SECURITY_STATUS',

      '/var/lib/ambari-agent/tmp']
      DEBUG 2016-02-04 16:54:49,170 PythonReflectiveExecutor.py:61 - Reflective command failed with exception:
      Traceback (most recent call last):
      File "/usr/lib/python2.6/site-packages/ambari_agent/PythonReflectiveExecutor.py", line 55, in run_file
      imp.load_source('_main_', script)
      File "/var/lib/ambari-agent/cache/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode.py", line 30, in <module>
      from utils import service
      File "/var/lib/ambari-agent/cache/common-services/HDFS/2.1.0.2.0/package/scripts/utils.py", line 37, in <module>
      from zkfc_slave import ZkfcSlave
      File "/var/lib/ambari-agent/cache/common-services/HDFS/2.1.0.2.0/package/scripts/zkfc_slave.py", line 21, in <module>
      from hdfs import hdfs
      ImportError: cannot import name hdfs

      I think that ambari is including its cache files after the python path, so if an hdfs module is present into python path makes the scripts goes crazy.
      (basically using the system hdfs py module and not his own)

      maybe cache files path must be included before the python path or imported with local imports?

      Attachments

        1. AMBARI-14926.patch
          0.6 kB
          Andrew Onischuk

        Issue Links

          Activity

            People

              aonishuk Andrew Onischuk
              mbrancaleoni matteo brancaleoni
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: