升级 CDH Manager

一、介绍

忠告,最好不要随意升级,不然会出现很多难以预料的问题,要慎重!

CDH 升级分为 2 种:

  • Packages :yum/apt-get 安装的升级
  • Tarball :tar 包方式管理

二、升级的步骤

官方文档在 http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/cm_ag_upgrade_cm5.html#cmig_topic_9_4

如果是 Packages 方式安装的,全程使用 Packages 教程

如果是 Tarball 源码包安装的,全程使用 Tarball 教程

三、升级要注意的事情

1、要升级 CDH Manager 和 所有机器的 CDH Agent

如果不全部集群都升级的话,会出现 agent 版本不兼容等各种错误

2、升级前最好备份下

hdfs hive 等重要的目录备份好

3、升级会遇到各种问题,如下

常见

  1. 问题1:安装停止在获取安装锁
  2. /tmp/scm_prepare_node.tYlmPfrT
  3. using SSH_CLIENT to get the SCM hostname: 172.16.77.20 33950 22
  4. opening logging file descriptor
  5. 正在启动安装脚本...正在获取安装锁...BEGIN flock 4
  6. 这段大概过了半个小时,一次卸载,一次等了快1个小时,终于过去了,
  7. 问题2:不能选择主机
  8. 安装失败了,重新不能选主机
  9. 解决方案
  10. http://www.aboutyun.com/thread-8992-1-1.html
  11. 问题3DNS反向解析PTR localhost
  12. 描述:
  13. DNS反向解析错误,不能正确解析Cloudera Manager Server主机名
  14. 日志
  15. Detecting Cloudera Manager Server...
  16. Detecting Cloudera Manager Server...
  17. BEGIN host -t PTR 192.168.1.198
  18. 198.1.168.192.in-addr.arpa domain name pointer localhost.
  19. END (0)
  20. using localhost as scm server hostname
  21. BEGIN which python
  22. /usr/bin/python
  23. END (0)
  24. BEGIN python -c import socket; import sys; s = socket.socket(socket.AF_INET); s.settimeout(5.0); s.connect((sys.argv[1], int(sys.argv[2]))); s.close(); localhost 7182
  25. Traceback (most recent call last):
  26. File "<string>", line 1, in <module>
  27. File "<string>", line 1, in connect
  28. socket.error: [Errno 111] Connection refused
  29. END (1)
  30. could not contact scm server at localhost:7182, giving up
  31. waiting for rollback request
  32. 解决
  33. 将连不上的机器 /usr/bin/host 文件删掉,执行下面命令
  34. sudo mv /usr/bin/host /usr/bin/host.bak
  35. 问题 :无法启动 agent
  36. sudo service cloudera-scm-agent start
  37. Starting cloudera-scm-agent: * Couldn't start cloudera-scm-agent
  38. 解决
  39. 查看目录下的错误日志 log/cloudera-scm-agent
  40. 如果是 python 问题
  41. (Packages 包安装方式解决)
  42. mv /usr/lib/cmf/agent/build/env/bin/python /usr/lib/cmf/agent/build/env/bin/python.bak
  43. cp /usr/bin/python2.7 /usr/lib/cmf/agent/build/env/bin/python
  44. (Tar 包安装方式方式解决)
  45. cp /opt/cloudera-manager/cm-5.3.2/lib/cmf/agent/build/env/bin/python2.7 /opt/cloudera-manager/cm-5.3.2/lib/cmf/agent/build/env/bin/python-2015-03-05
  46. cp /usr/bin/python2.7 /opt/cloudera-manager/cm-5.3.2/lib/cmf/agent/build/env/bin/python

补充

更多问题详见文档和 google

http://www.aboutyun.com/thread-9087-1-1.html