概述
我们升级是从5.5.3升级到最新的5.7.0-1版本。
作者这里是用的完全离线方式升级的与官网yum源方式稍有不同(其实差不多rpm -Uvh)
@CSDN,你们搞的markdown模板真心好丑
第一章、了解升级
- 安装指定版本的数据库
- 升级Cloudera Manager Server
- 升级Cloudera Manager Agent
第二章、升级Cloudera Manager
步骤:
- 升级Cloudera Manager 5到最新的Cloudera Manager版本
- 升级数据库到当前支持的版本
- 将Cloudera Manager和所有支持的服务进行升级
2.1、升级Cloudera Manager 元数据库
--备份元数据库
[root@bsj70 upgradeCloudera]# mysqldump -hlocalhost -uroot -p cmf > ./cmf-database-backup.sql
hive
hue
oozie
sentry
[root@bsj70 upgradeCloudera]# service mysql restart
--停止cm服务
[root@bsj70 upgradeCloudera]# ssh bsj67 "service cloudera-scm-server stop"
Stopping cloudera-scm-server: [ OK ]
[root@bsj70 upgradeCloudera]# ssh bsj67 "service cloudera-scm-agent stop"
Stopping cloudera-scm-agent: [ OK ]
[root@bsj70 upgradeCloudera]# ssh bsj68 "service cloudera-scm-agent stop"
Stopping cloudera-scm-agent: [ OK ]
[root@bsj70 upgradeCloudera]# ssh bsj69 "service cloudera-scm-agent stop"
Stopping cloudera-scm-agent: [ OK ]
[root@bsj70 upgradeCloudera]#
2.2、升级Cloudera Manager 守护进程
这里我们没用采用配置yum源的方式升级(我这边内网不通),所以这里采用rpm -Uvh方式升级。注意区分server和agent节点
#创建rpm目录
[root@bsj70 install_softer]# pwd
/root/upgradeCloudera/install_softer
#上传rpm文件
[root@bsj70 install_softer]# cd cm/
[root@bsj70 cm]# ls
cloudera-manager-agent-5.7.0-1.cm570.p0.76.el6.x86_64.rpm
cloudera-manager-server-5.7.0-1.cm570.p0.76.el6.x86_64.rpm
cloudera-manager-daemons-5.7.0-1.cm570.p0.76.el6.x86_64.rpm
#分发rpm文件到各个节点(注意除master节点以外其他节点都只分发agent和daemons)
[root@bsj70 install_softer]# scp -r cm root@testhost154:~/upgradeCloudera/install_softer/
#升级服务
# master服务
[root@bsj67 ~]# rpm -Uvh upgradeCloudera/install_softer/cm/*.rpm
warning: upgradeCloudera/install_softer/cm/cloudera-manager-agent-5.7.0-1.cm570.p0.76.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID e8f86acd: NOKEY
Preparing... ########################################### [100%]
1:cloudera-manager-daemon########################################### [ 33%]
2:cloudera-manager-agent ########################################### [ 67%]
3:cloudera-manager-server########################################### [100%]
# agent服务
[root@bsj70 cm]# ssh bsj69 "rpm -Uvh ~/upgradeCloudera/install_softer/cm/*.rpm"
warning: /root/upgradeCloudera/install_softer/cm/cloudera-manager-agent-5.7.0-1.cm570.p0.76.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID e8f86acd: NOKEY
Preparing... ##################################################
cloudera-manager-daemons ##################################################
cloudera-manager-agent ##################################################
[root@bsj70 cm]#
#验证当前安装的cloudera版本
[root@bsj67 ~]# rpm -qa | grep cloudera
cloudera-manager-server-5.7.0-1.cm570.p0.76.el6.x86_64
cloudera-manager-agent-5.7.0-1.cm570.p0.76.el6.x86_64
cloudera-manager-daemons-5.7.0-1.cm570.p0.76.el6.x86_64
[root@bsj67 ~]#
第三章、注意事项
关于MySQL元数据
这里元数据库不需要我们手动去升级,而是又我们升级完rpm包之后启动cloudera-scm-server服务时候自己会进行验证并升级的,
详细查看/var/log/cloudera-scm-server/cloudera-scm-server.log启动日志记录
关于升级后第一次登陆cm提示需要yum安装agent服务
忽略不管。我们已经手动安装完毕了(详见rpm -qa命令)
第一次启动提示参数配置要调整
这个具体看你的配置了,我这边是测试环境的,本来内存小,所以还是改为原来的配置
- 验证日志信息,排除错误
提示无法连接网络资源库
2016-06-03 15:28:33,393 ERROR ParcelUpdateService:com.cloudera.parcel.components.ParcelDownloaderImpl: Unable to retrieve remote parcel repository manifest
java.util.concurrent.ExecutionException: java.net.ConnectException: Connection refused to https://archive.cloudera.com/cdh5/parcels/5.7/manifest.json
at com.ning.http.client.providers.netty.NettyResponseFuture.abort(NettyResponseFuture.java:297)
at com.ning.http.client.providers.netty.NettyConnectListener.operationComplete(NettyConnectListener.java:104)
at org.jboss.netty.channel.DefaultChannelFuture.notifyListener(DefaultChannelFuture.java:399)
at org.jboss.netty.channel.DefaultChannelFuture.notifyListeners(DefaultChannelFuture.java:390)
at org.jboss.netty.channel.DefaultChannelFuture.setFailure(DefaultChannelFuture.java:352)
at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink$Boss.connect(NioClientSocketPipelineSink.java:409)
at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink$Boss.processSelectedKeys(NioClientSocketPipelineSink.java:366)
at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink$Boss.run(NioClientSocketPipelineSink.java:282)
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:102)
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.ConnectException: Connection refused to https://archive.cloudera.com/cdh5/parcels/5.7/manifest.json
at com.ning.http.client.providers.netty.NettyConnectListener.operationComplete(NettyConnectListener.java:100)
... 11 more
Caused by: java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739)
原因:我们采用的是本地库安装方式,所以自然连不了
WebServerImpl:com.cloudera.server.web.cmf.TsqueryAutoCompleter: Error getting predicates
2016-06-03 15:28:49,326 ERROR WebServerImpl:com.cloudera.server.web.cmf.TsqueryAutoCompleter: Error getting predicates
org.apache.avro.AvroRemoteException: java.net.ConnectException: Connection refused
at org.apache.avro.ipc.specific.SpecificRequestor.invoke(SpecificRequestor.java:88)
at com.sun.proxy.$Proxy86.getImpalaFilterMetadata(Unknown Source)
at com.cloudera.cmf.protocol.firehose.nozzle.TimeoutNozzleIPC.getImpalaFilterMetadata(TimeoutNozzleIPC.java:370)
at com.cloudera.server.web.cmf.impala.components.ImpalaDao.fetchFilterMetadata(ImpalaDao.java:853)
at com.cloudera.server.web.cmf.work.AbstractWorkDao.getAndUpdateAutoCompleter(AbstractWorkDao.java:126)
at com.cloudera.server.web.cmf.TsqueryAutoCompleter.<init>(TsqueryAutoCompleter.java:181)
at com.cloudera.server.web.cmf.charts.TimeSeriesQueryController.initialize(TimeSeriesQueryController.java:99)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
原因:重启过程Service Monitor服务异常,启动CM和Agent服务一段时间后自然会正常,无需关注
第四章、完成
在Cloudera Administartor控制台启动管理集群,至此完成Cloudera Manager升级操作
参考: