--- title: "Classic에서 VPC Cloud Hadoop 버전으로 마이그레이션" slug: "hadoop-chadoop-3-7" tags: ["cloud hadoop"] updated: 2026-10-22T09:13:22Z published: 2026-10-22T09:13:22Z canonical: "guide-gov.ncloud-docs.com/hadoop-chadoop-3-7" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide-gov.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Classic에서 VPC Cloud Hadoop 버전으로 마이그레이션 ## 사전 작업 VPC 플랫폼으로 마이그레이션 하기 위해서는 Cloud Hadoop(VPC) 1.3 이상 버전의 클러스터를 먼저 생성하는 작업이 필요합니다. - Cloud Hadoop 클러스터 생성에 관한 자세한 설명은 [클러스터 생성](/docs/hadoop-chadoop-2-1-vpc#%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0-%EC%83%9D%EC%84%B1)을 참고해 주십시오. ## 1. HDFS 데이터 마이그레이션 1. HDFS 데이터를 마이그레이션 하기 위해 목적지 클러스터(VPC)의 Object Storage 접근 정보들을 확인해 주십시오. Object Storage 접근 정보를 확인하기 위한 방법은 다음과 같습니다. - 생성한 Cloud Hadoop 클러스터를 선택한 후, **[Application 별 보기]** 를 클릭해 주십시오. - **[Application 별 보기]** 비고란의 Ambari Web UI를 클릭해 주십시오. - Ambari Web UI 페이지에서 클러스터 관리자 계정 ID와 패스워드를 입력한 후 접속해 주십시오. - 좌측 메뉴 탭에서 **HDFS > [CONFIGS]** 를 클릭한 후, 다음과 같이 s3a를 검색해 주십시오. ![chadoop-3-7-02-s3a_ko.png](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/chadoop-3-7-02-s3a_ko.png?sv=2026-02-06&spr=https&st=2026-10-29T13%3A40%3A10Z&se=2026-10-29T14%3A40%3A10Z&sr=c&sp=r&sig=TawK8vXTZPLOC7FGWoDPxhZLo%2B%2BJGhpZsofpX1kvehM%3D) - **Custom core-site**에서 Object Storage 접근 정보를 확인해 주십시오. ![chadoop-3-7-01_ko.png](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/chadoop-3-7-01_ko.png?sv=2026-02-06&spr=https&st=2026-10-29T13%3A40%3A10Z&se=2026-10-29T14%3A40%3A10Z&sr=c&sp=r&sig=TawK8vXTZPLOC7FGWoDPxhZLo%2B%2BJGhpZsofpX1kvehM%3D) 1. Ambari에서 검색한 s3a 정보로 `distcp` 명령을 수행해 주십시오. ``` [sshuser@m-001-example-1fx8-hd ~]$ hadoop distcp -Dfs.s3a.endpoint=https://kr.object.gov-ncloudstorage.com/ -Dfs.s3a.access.key=s3a_access_key -Dfs.s3a.secret.key=s3a_secret_key -Dfs.s3a.connection.ssl.enabled=false -m 10 -bandwidth 100 hdfs://jki22031601/test_file s3a://jki1/upload_dir/ ``` ## 2. Hive metastore 마이그레이션 - HDFS 버전에 따라 Hive metastore 스키마 정보가 차이가 있으므로 버전 별로 두 가지 방법을 안내합니다. #### 2-1. VPC Cloud Hadoop 1.3 버전 (HDFS 2.7.3)으로 마이그레이션 1. Cloud Hadoop(VPC) Ambari Web UI 에서 Hive를 STOP 해 주십시오. 2. Classic 클러스터의 마스터 노드로 터널링 접속한 후, `mysqldump`를 수행하여 데이터를 백업해 주십시오. - Hive에서 사용하는 데이터베이스는 `hive_{unique_number}`로 생성됩니다. ``` [sshuser@m-001-example-1fx8-hd ~]$ mysqldump -u Username -p Password --no-create-db --skip-add-drop-database --skip-add-drop-table hive_xxx > dump.sql ``` 1. Hive 백업 파일을 Object Storage에 업로드해 주십시오. ``` [sshuser@m-001-example-1fx8-hd ~]$ hadoop fs -put dump.sql s3a://object_storage/ ``` 1. 목적지 클러스터(VPC)의 마스터 노드로 터널링 접속하여 Hive 백업 파일을 다운로드해 주십시오. ``` [sshuser@m-001-example-1fx8-hd ~]$ hadoop fs -get s3a://object_storage/dump.sql ./ ``` 1. 백업 파일을 목적지 클러스터(VPC)의 MySQL DB로 마이그레이션 해 주십시오. - VPC 클러스터에 먼저 생성되어있던 Hive 데이터는 4번과 동일하게 `mysqldump` 명령어를 이용하여 백업 후 마이그레이션 작업을 진행해 주십시오. - 마이그레이션이 실패하더라도 백업 파일을 통해 언제든 롤백이 가능합니다. ``` [sshuser@m-001-example-1fx8-hd ~]$ mysql -u Username -p Password hive_xxx < dump.sql ``` 1. VPC Ambari Web UI 에서 Hive를 START 해 주십시오. #### 2-2. VPC Cloud Hadoop 1.4 이상 버전 (HDFS 3.1.X)으로 마이그레이션 1. VPC Ambari Web UI 에서 Hive를 STOP해 주십시오. 2. Classic 클러스터의 마스터 노드(m-002)로 터널링 접속하여 `mysqldump`를 수행하여 데이터를 백업해 주십시오. ``` [sshuser@m-002-example-1fx8-hd ~]$ mysqldump -u {Username} -p -h {Master_Node_IP} --no-create-db --skip-add-drop-database --skip-add-drop-table --no-tablespaces hive_{unique_number} > dump.sql ``` - Hive에서 사용하는 데이터베이스는 `hive_{unique_number}` 로 생성됩니다. 3. Hive 백업 파일을 Object Storage(VPC)에 업로드해 주십시오. ``` [sshuser@m-002-example-1fx8-hd ~]$ hadoop fs -put dump.sql s3a://{Object_Storage_Bucket_Name}/ ``` 4. 목적지 클러스터(VPC)의 마스터 노드로 터널링 접속하여 Hive 백업 파일을 다운로드해 주십시오. ``` [sshuser@m-001-example-1fx8-hd ~]$ hadoop fs -get s3a://{Object_Storage_Bucket_Name}/dump.sql ./ ``` 5. 백업 파일을 목적지 클러스터(VPC)의 MySQL DB로 마이그레이션 해 주십시오. ``` [sshuser@m-001-example-1fx8-hd ~]$ mysqldump -u {Username} -p -h {Master_Node_IP} --no-create-db --skip-add-drop-database --skip-add-drop-table --no-tablespaces hive_{unique_number} > backup.sql [sshuser@m-001-example-1fx8-hd ~]$ mysql -u {Username} -p -h {Master_Node_IP} mysql> DROP DATABASE hive_{unique_number}; mysql> CREATE DATABASE hive_{unique_number); [sshuser@m-001-example-1fx8-hd ~]$ mysql -u {Username} -p -h {Master_Node_IP} hive_{unique_number} < dump.sql ``` - VPC 클러스터에 먼저 생성되어있던 Hive 데이터는 4번과 동일하게 `mysqldump` 명령어를 이용하여 백업 후 마이그레이션 작업을 진행해 주십시오. 마이그레이션이 실패하더라도 백업 파일을 통해 언제든 롤백이 가능합니다. - VPC 클러스터에 있는 Hive 데이터베이스 초기화를 위해, Hive 데이터베이스 삭제 후 재생성해 주십시오. 6. Hive 스키마 업그레이드에 필요한 sql 파일을 다운로드하여 Hive 설치 경로에 복사해 주십시오. 참고 Cloud Hadoop 1.9 이하의 버전인 경우, /etc/hosts 파일에 아래의 정보를 추가해 주십시오. ``` 169.254.170.192 nch-repo.navercorp.com ``` ``` [sshuser@m-001-example-1fx8-hd ~]$ wget http://nch-repo.navercorp.com/HIVE/upgrade-hive-schema.tar.gz [sshuser@m-001-example-1fx8-hd ~]$ tar xvfz upgrade-hive-schema.tar.gz ``` ``` # Cloud Hadoop 2.x 버전 [sshuser@m-001-example-1fx8-hd ~]$ cp upgrade-2.1.2000-to-3.0.0.mysql.sql /home1/cdp/usr/nch/3.1.0.0-78/hive/scripts/metastore/upgrade/mysql/ [sshuser@m-001-example-1fx8-hd ~]$ cp upgrade-3.0.0-to-3.1.0.mysql.sql /home1/cdp/usr/nch/3.1.0.0-78/hive/scripts/metastore/upgrade/mysql/ # Cloud Hadoop 1.x 버전 [sshuser@m-001-example-1fx8-hd ~]$ cp upgrade-2.1.2000-to-3.0.0.mysql.sql /home1/cdp/usr/hdp/3.1.0.0-78/hive/scripts/metastore/upgrade/mysql/ [sshuser@m-001-example-1fx8-hd ~]$ cp upgrade-3.0.0-to-3.1.0.mysql.sql /home1/cdp/usr/hdp/3.1.0.0-78/hive/scripts/metastore/upgrade/mysql/ ``` - 기존에 upgrade-2.1.2000-to-3.0.0.mysql.sql, upgrade-3.0.0-to-3.1.0.mysql.sql 파일이 존재하는 경우, 해당 파일 삭제 후 새로 다운로드 받은 파일을 사용해 주십시오. 7. schematool 운영툴을 사용하여 스키마 정보를 업그레이드해 주십시오. ``` # Cloud Hadoop 2.x 버전 [sshuser@m-001-example-1fx8-hd ~]$ /home1/cdp/usr/nch/3.1.0.0-78/hive/bin/schematool -dbType mysql -upgradeSchema --verbose -userName Username -passWord Password # Cloud Hadoop 1.x 버전 [sshuser@m-001-example-1fx8-hd ~]$ /home1/cdp/usr/hdp/3.1.0.0-78/hive/bin/schematool -dbType mysql -upgradeSchema --verbose -userName Username -passWord Password STEP 1) 2.1.2000 -> 3.0.0 (완료 메세지) +-------------------------------------------------------------+ | Finished upgrading MetaStore schema from 2.1.2000 to 3.0.0 | +-------------------------------------------------------------+ STEP 2) 3.0.0 -> 3.1.0 (완료 메세지) +---------------------------------------------------------+ | Finished upgrading MetaStore schema from 3.0.0 to 3.1.0 | +---------------------------------------------------------+ ``` - Finished 메세지와 함께 업그레이드가 완료됩니다. - 업그레이드가 실패하더라도 백업 파일을 통해 언제든 롤백이 가능합니다. 8. VPC Ambari Web UI 에서 Hive를 START 해 주십시오. ## 3. HBase 마이그레이션 1. HBase snapshot - hbase shell 입력창에서 `snapshot` 명령어를 사용하여 HBase 테이블과 데이터를 백업해 주십시오. - `list_snapshots` 명령어를 이용하면 `snapshot` 수행 여부를 확인할 수 있습니다. ``` hbase(main):0> snapshot 'table1', 'snapshot-table1' Took 2.4412 seconds hbase(main):0> list_snapshots SNAPSHOT TABLE + CREATION TIME snapshot-table1 table1 (2022-03-21 20:36:46 +0900) ``` 1. HBase export - 로컬 입력창에서 `hbase export` 명령어를 사용하여 Object Storage에 업로드 할 수 있습니다. - `hadoop fs -ls` 명령어를 통해 파일을 확인할 수 있습니다. ``` [sshuser@m-001-example-1fx8-hd ~] sudo su - hbase hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot snapshot-table1 -copy-to s3a://yourcluster/hbase_snapshot/ -mappers 16 [sshuser@m-001-example-1fx8-hd ~]$ hdfs dfs -ls s3a://yourcluster/hbase_snapshot/ Found 2 items drwxrwxrwx - ncloud ncloud 0 2022-03-24 21:13 s3a://yourcluster/hbase_snapshot/.hbase-snapshot drwxrwxrwx - ncloud ncloud 0 2022-03-24 21:13 s3a://yourcluster/hbase_snapshot/archive ``` 1. HBase import - 로컬 입력창에서 `hbase import` 명령어를 사용하여 업로드한 스냅샷을 복원할 수 있습니다. - -copy-to {경로} 에 사용되는 hbase 경로는 Ambari Web UI > HBase > CONFIGS > 검색 hbase.rootdir 의 값을 확인해 주십시오. ``` [sshuser@m-001-example-1fx8-hd ~]$ sudo -u hbase hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot snapshot-table1 -copy-from s3a://yourcluster/ -copy-to /apps/hbase/data -mappers 16 ``` 1. HBase restore - hbase shell 입력창에서 `restore_snapshot` 명령어를 사용하여 테이블과 데이터를 복원할 수 있습니다. - import 된 스냅샷은 `list_snapshots` 명령어로 확인해 주십시오. ``` hbase(main):0> list_snapshots SNAPSHOT TABLE + CREATION TIME snapshot-table1 table1 (2022-03-21 20:36:46 +0900) hbase(main):0> restore_snapshot 'snapshot-table1' hbase(main):0> list TABLE table1 hbase(main):0> scan 'table1' ROW COLUMN+CELL key1 column=cf1:, timestamp=3, value=value ```