2012-07-09 7 views
0

CHD3을 3 노드 클러스터에 설치하려고합니다. Cloudera Manager를 통해 설치를 시작합니다. 세 가지 설치가 모두 실패합니다.Cloudera CDH3 설치 실패,이 문제를 해결하는 방법?

File "/usr/lib64/cmf/agent/src/cmf/agent.py", line 19, in <module> 
    import psutil 
    File "/usr/lib64/cmf/agent/build/env/lib/python2.6/site-packages/psutil-0.3.0-py2.6-linux-x86_64.egg/psutil/__init__.py", line 84, in <module> 
    TOTAL_PHYMEM = _psplatform.phymem_usage()[0] 
    File "/usr/lib64/cmf/agent/build/env/lib/python2.6/site-packages/psutil-0.3.0-py2.6-linux-x86_64.egg/psutil/_pslinux.py", line 122, in phymem_usage 
    percent = usage_percent(total - (free + buffers + cached), total, 
TypeError: unsupported operand type(s) for +: 'int' and 'NoneType' 

은 분명히 파이썬 인터프리터에서 실행 "보고 시작하십시오 클라우 데라 설치가 /var/log/cloudera-scm-agent/cloudera-scm-agent.out에 실패한 후

나는이 오류가 표시 free ","buffers "또는"cached "를 NoneType으로 설정하면이 오류로 인해 전체 설치가 롤백됩니다.

이 문제가 발생하는 이유 및/또는 문제를 해결하는 방법에 대해 조언 해 줄 사람이 있습니까?

미리 감사드립니다.

+0

설치를 다시 실행하는 /var/log/cloudera-manager-installer/5.init-embedded-db.log에 다음과 같은 메시지와 함께 실패는/var/lib 디렉토리/cloudera-scm-server-db/data는 비어 있지 않습니다. 데이터베이스가 이미 초기화 되었습니까? –

+0

$ sudo는 LS의/var/lib 디렉토리/클라우 데라-SCM-서버 DB/데이터 pg_clog pg_log pg_subtrans PG_VERSION postmaster.opts generated_password.txt있는 pg_hba.conf pg_multixact pg_tblspc pg_xlog 글로벌 pg_ident.conf의 pg_stat_tmp pg_twophase의 postgresql.conf의 $ sudo를 기본 ls -l/var/lib/cloudera-scm-server-db/ 합계 4 drwx ------ 12 cloudera-scm cloudera-scm 4096 6 월 17 일 00:08 데이터 –

+1

필요한 이유가 있습니까? CDH3를 실행 하시겠습니까? CDH3 및 CDH4를 설치했습니다. CDH3를 설치하는 곳에서해야하는 "문서화되지 않은"것들이 있습니다. Cloudera와 전화 통화를하고 몇 시간을 보냈습니다. CDH4는 아주 쉽게 설치됩니다. –

답변

1

문제 _pslinux.py에 phymem_usage()에서, 여기에서 :

def phymem_usage(): 
    # total, used and free values are matched against free cmdline utility 
    # the percentage matches top/htop and gnome-system-monitor 
    f = open('/proc/meminfo', 'r') 
    try: 
     total = free = buffers = cached = None 
     for line in f: 
      if line.startswith('MemTotal:'): 
       total = int(line.split()[1]) * 1024 
      elif line.startswith('MemFree:'): 
       free = int(line.split()[1]) * 1024 
      elif line.startswith('Buffers:'): 
       buffers = int(line.split()[1]) * 1024 
      elif line.startswith('Cached:'): 
       cached = int(line.split()[1]) * 1024 
       break 
     used = total - free 
     percent = usage_percent(total - (free + buffers + cached), total, 
           _round=1) 
     return ntuple_sysmeminfo(total, used, free, percent) 
    finally: 
     f.close() 

주는은/proc/meminfo를 검사하고, 그 필드가 존재하는지 검사하지 않고 정수 필드 변환된다. 일부 가상화 기술을 포함하여 일부 시스템에서는 버퍼 또는 캐시가 누락 될 수 있습니다. (LSB 사양은 대부분의 필드가 선택 사항임을 나타냅니다.)

/proc/meminfo를/선 같은 :

버퍼 : 0 kB의

+0

여기에도 정보가 있습니다. https://groups.google.com/forum/?fromgroups#!topic/psutil/lSE54S4iPd0 – AdamIerymenko

관련 문제