HIve1.x升級到2.x且保留元數據

HIve1.x升級到2.x,且保留元數據

  1. 下載源碼包或者編譯過的二進制包都無所謂(源碼的就自己編譯一下)。

  2. 先備份原來的hive

    mv hive-1.2.1/ hive-1.2.1-back/
    
  3. 解壓新版的hive到相同的目錄並更名爲hive-1.2.1(原來hive的名稱,爲了不去修改環境變量什麼的,這樣方便點)

  4. 升級元數據,hive已經爲我們準備好了升級元數據的腳本了,我們只需要運行這些腳本就好,沒有直接跳的只能一步步來。

    scripts/
    └── metastore
        └── upgrade
            ├── mysql
            │   ├── upgrade-0.10.0-to-0.11.0.mysql.sql
            │   ├── upgrade-0.11.0-to-0.12.0.mysql.sql
            │   ├── upgrade-0.12.0-to-0.13.0.mysql.sql
            │   ├── upgrade-0.13.0-to-0.14.0.mysql.sql
            │   ├── upgrade-0.14.0-to-1.1.0.mysql.sql
            │   ├── upgrade-0.5.0-to-0.6.0.mysql.sql
            │   ├── upgrade-0.6.0-to-0.7.0.mysql.sql
            │   ├── upgrade-0.7.0-to-0.8.0.mysql.sql
            │   ├── upgrade-0.8.0-to-0.9.0.mysql.sql
            │   ├── upgrade-0.9.0-to-0.10.0.mysql.sql
            │   ├── upgrade-1.1.0-to-1.2.0.mysql.sql
            │   ├── upgrade-1.2.0-to-1.3.0.mysql.sql
            │   ├── upgrade-1.2.0-to-2.0.0.mysql.sql  將1.2.x的元數據升級到2.0.0
            │   ├── upgrade-2.0.0-to-2.1.0.mysql.sql  將2.0.0的升級到2.1.0
            │   ├── upgrade-2.1.0-to-2.2.0.mysql.sql 		.
            │   ├── upgrade-2.2.0-to-2.3.0.mysql.sql		.
    沒用的信息我刪了,我是mysql管理的元數據,這裏面還有別的數據庫的升級腳本。
    
    1. 進入到這個目錄下 $HIVE_HOME/scripts/metastore/upgrade/mysql

    2. 登錄自己的mysql,進去你原來那個元數據庫 我的是use hive;

    3. 因爲我的是1.2.1—>2.3.6,分別運行了以下命令

      source /opt/moudle/hive-1.2.1/scripts/metastore/upgrade/mysql/upgrade-1.2.0-to-2.0.0.mysql.sql;
      source /opt/moudle/hive-1.2.1/scripts/metastore/upgrade/mysql/upgrade-2.0.0-to-2.1.0.mysql.sql;
      source /opt/moudle/hive-1.2.1/scripts/metastore/upgrade/mysql/upgrade-2.1.0-to-2.2.0.mysql.sql;
      source /opt/moudle/hive-1.2.1/scripts/metastore/upgrade/mysql/uupgrade-2.2.0-to-2.3.0.mysql.sql;
      
      如果不報錯就問題不大了,可能會有某些表找不到,沒事。
      
  5. 將原版本的hive的jdbc驅動和配置文件拷貝到新的hive裏就行了

  6. 啓動元數據服務 hive --service metastore &

  7. 啓動hive

  8. 查看是否元數據成功升級

  9. 查看hive是否可用

  10. 都沒事就成了~祝你好運

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章