cdh集群hive公升級,資料不丟失

2022-05-02 16:24:07 字數 1798 閱讀 2776

2.將安裝包傳到集群所有節點上

3.所有節點root使用者下

cd /opt/cloudera/parcels/cdh/lib/hive

mkdir lib121

4.所有節點解壓 apache-hive-1.2.1-bin.tar.gz

5.所有節點將解壓出來hive/lib下所有檔案拷貝到lib121

6.coudera 介面停止hive服務,如果安裝了hue,ozzie,impala先停掉再停掉hive

6.所有節點修改hive_lib變數 hive_lib=$/lib ==> hive_lib=$/lib121

vim /opt/cloudera/parcels/cdh/lib/hive/bin/hive
7.所有節點更新hadoop上jline jar包,並刪除老的jlien jar包

ln -s /opt/cloudera/parcels/cdh/lib/hive/lib121/jline-2.12.jar /opt/cloudera/parcels/cdh/lib/hadoop-yarn/lib/jline-2.12.jar

rm -rf /opt/cloudera/parcels/cdh/lib/hadoop-yarn/lib/jline-0.94.jar

8.元資料節點備份mysql中hive元資料庫

mysqldump -uroot -hhserver -padmin123 hive > hive013.sql
9.元資料節點進入mysql

create database hive013 default charset utf8 collate utf8_general_ci;

grant all privileges on *.* to 'root'@'hserver' identified by 'admin123' with grant option;

flush privileges;

use hive013;

source hive013.sql;

10.元資料節點公升級hive元資料庫

公升級前檢視公升級指令碼,評估影響,特別是生產環境,根據業務需求更改過元資料的,如果是接手別人的,那就比較苦逼了,每個元資料庫表結構都要看一遍。

如果沒有動過就直接公升級就好

cd /home/dp/apache-hive-1.2.1-bin/scripts/metastore/upgrade/mysql

mysql -uroot -hhserver -padmin123

use hive;

source upgrade-0.13.0-to-0.14.0.mysql.sql;

source upgrade-0.14.0-to-1.1.0.mysql.sql;

source upgrade-1.1.0-to-1.2.0.mysql.sql;

exit

11.cloudera 管理介面啟動hive服務

12.任意節點

hive #進入前hive shell介面

show databases;

use testupdate;

show tables;

select * from test1; #檢視是否原來的資料還在

insert into test1 values("aaaa","bbbb","cccc");

select * from test1;

參考了

CDH集群部署hive建表中文亂碼

背景 部署cdh集群的 hive 服務,選用 mysql 作為 hive 元資料的儲存資料庫,通過 hive cli 建表時發現中文注釋均亂碼。現象 hive端建表中文注釋亂碼。定位 已經確認過 mysql 庫的預設編碼是 utf 8,並且 mysql 中建庫建表不存在中文亂碼的情況。於是檢視hiv...

公升級資料庫

第一版只有book表 第二版加上category表 第三版為book表加上category id 列 book表 這是公升級後的原來沒有category id 列 public static final string create book create table book id integer ...

SQLite資料公升級資料遷移

做android應用,不可避免的會與sqlite打交道。隨著應用的不斷公升級,原有的資料庫結構可能已經不再適應新的功能,這時候,就需要對sqlite資料庫的結構進行公升級了。sqlite提供了alter table命令,允許使用者重新命名或新增新的字段到已有表中,但是不能從表中刪除字段。並且只能在表...