近期项目中需要用oozie workflow调度hivesql,发现无法执行查询语句,见:https://community.cloudera.com/t5/Batch-Processing-and-Workflow/Oozie-Hive-action-failed-with-wrong-tmp-path/td-p/37443  由此得知,罪魁祸首是cdh的bug,需要将版本升级一下。

  升级步骤:

1、在一个节点上查询服务

service --status-all

发现只有cloudera-scm-agent,没有cloudera-scm-server,说明这不是主节点。

2、查看cloudera的主节点

cat /etc/cloudera-scm-agent/config.ini

查找server_host的值,这就是服务端安装的主节点,在主节点上登录。

3、查看CM依赖的数据库

cat /etc/cloudera-scm-server/db.properties

4、备份CM数据

pg_dump -U scm -p 7432   > scm_server_db_backup.bak

其中scm是依赖的数据库名,密码见第3步中的结果。检查/tmp下是否有文件生成,期间保证tmp下文件不要被删除。

5、停止CM server :

sudo service cloudera-scm-server stop

停止CM server依赖的数据库:

sudo service cloudera-scm-server-db stop

如果这台CM server上有agent在运行也停止:

sudo service cloudera-scm-agent stop

其中,cloudera-scm-server-db服务停止失败,查询服务状态发现如下:

pg_ctl: server is running (PID: 1713)
/usr/bin/postgres "-D" "/var/lib/cloudera-scm-server-db/data"

cd /var/lib/cloudera-scm-server-db/data
rm postmaster.pid

http://blog.puneethabm.in/cloudera-scm-server-db-pg_ctl-server-does-not-shut-down/

6、查看yum的 cloudera-manager.repo文件需不需要修改

sudo vim /etc/yum.repos.d/cloudera-manager.repo

发现cloudera-manager版本较新,不需要升级cloudera-manager

7、升级

  sudo    yum clean all 
  sudo yum upgrade 'cloudera-*'

检查:

rpm  -qa 'cloudera-manager-*'

8、启动CM server 数据库:

sudo  service cloudera-scm-server-db start

启动失败!!

ps -l -ef | grep bin/postgres

查看DB进程,发现存在cloudera-scm-server-db的进程

#kill -9 [pid]

杀掉再启动服务,OK

启动CM server:

sudo  service cloudera-scm-server start

启动CM agent:

sudo  service cloudera-scm-agent start

最后,重新用oozie调hive,执行成功 !!

参考:

http://www.tuicool.com/articles/YVnu6v

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

CDH版本升级的更多相关文章

  1. presto 访问kudu 多schemas配置

    presto需要访问kudu数据源,但是impala可以直接支持多数据库存储,但是presto不能原生支持,按照presto的官网设置了然而并不起作用. 官方文档: 到官方github提问了,然后并没 ...

  2. CDH 1、CDH简介

    1.Apache Hadoop 不足之处 • 版本管理混乱 • 部署过程繁琐.升级过程复杂 • 兼容性差 • 安全性低 2.Hadoop 发行版 • Apache Hadoop • Cloudera’ ...

  3. CDH CM版本 6.0.1 升级到 CM 6.2.0 当前最新版本(CentOS 7.x)

    CDH 的 6.0.1 是一个尴尬的版本,那时候 cloudera 还没有将 spark 更新到 2.4 还使用的是 spark 2.2版本. 但后来我们发现 2.3 | 2.4 更新了非常多的 fe ...

  4. CentOS7安装CDH 第十章:CDH中安装Spark2

    相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...

  5. Apach Hadoop 与 CDH 区别

    1.Apache Hadoop 不足之处 • 版本管理混乱 • 部署过程繁琐.升级过程复杂 • 兼容性差 • 安全性低 2.Hadoop 发行版 • Apache Hadoop • Cloudera’ ...

  6. Oracle安装部署,版本升级,应用补丁快速参考

    一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...

  7. geotrellis使用(二十四)将Geotrellis移植到CDH中必须要填的若干个坑

    目录 前言 若干坑 总结 一.前言        近期干了一件事情,将geotrellis程序移植到CDH中(关于CDH,可以参考安装ClouderaManager以及使用ClouderaManage ...

  8. 使用SQLiteOpenHelper的onUpgrade实现数据库版本升级

    Andoird的SQLiteOpenHelper类中有一个onUpgrade方法.帮助文档中只是说当数据库升级时该方法被触发.经过实践,解决了我一连串的疑问: 1. 帮助文档里说的"数据库升 ...

  9. 大数据系列-CDH环境中SOLR入数据

    1       创建集合 SSH远程连接到安装了SOLR的CDH节点. 运行solrctl  instancedir  --generate  /solr/test/GX_SH_TL_TGRYXX_2 ...

随机推荐

  1. Cron表达式简单学习

    CronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表.CronTrigger,你可以指定触 ...

  2. (五)socket实践编程

    1.服务器端程序编写 (1)socket(2)bind(3)listen(4)accept,返回值是一个fd,accept正确返回就表示我们已经和前来连接我的客户端之间建立了一个TCP连接了,以后我们 ...

  3. 实现文本框默认灰色文字,点击消失,如果没输入内容可再返回原来的灰色文字(js版)

    $(document).ready(function(){ $("#biaoqian").val('这里是默认的灰色文字'); $("#biaoqian").c ...

  4. Hbase的WAL在RegionServer基本调用过程

    版权声明:本文由熊训德原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/221 来源:腾云阁 https://www.qclo ...

  5. 前端AJAX传递数组给Springmvc接收处理

    前端传递数组后端(Spring)来接收并处理: <!DOCTYPE html> <html> <head> <meta charset="UTF-8 ...

  6. 5 分钟上手 ECharts

    获取 ECharts 你可以通过以下几种方式获取 ECharts. 从官网下载界面选择你需要的版本下载,根据开发者功能和体积上的需求,我们提供了不同打包的下载,如果你在体积上没有要求,可以直接下载完整 ...

  7. python——挖装饰器祖坟事件

    装饰器是什么呢? 我们先来打一个比方,我写了一个python的插件,提供给用户使用,但是在使用的过程中我添加了一些功能,可是又不希望用户改变调用的方式,那么该怎么办呢? 这个时候就用到了装饰器.装饰器 ...

  8. RLP编码

    RLP(Recursive Length Prefix, 递归长度前缀编码),是Ethereum中对象序列化的一个主要的编码方式,其目的是对任意嵌套的二进制数据的序列进行编码. RLP的目的仅仅是编码 ...

  9. python访问数据库一

    直接访问mysql,示例如下: # coding:utf-8 import time import MySQLdb # import traceback # import sys conn = MyS ...

  10. TCP && UDP

    TCP(Transmission Control Protocol,传输控制协议) 是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接. TCP建立连接要进行3次握手,而断开连接要进行 ...