--- title: "CDB MySQL 데이터 이전" slug: "hadoop-vpc-use-ex4" tags: ["Apache Sqoop", "cloud hadoop"] updated: 2026-08-20T09:03:19Z published: 2026-08-20T09:03:19Z canonical: "guide-gov.ncloud-docs.com/hadoop-vpc-use-ex4" --- > ## 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. # CDB MySQL 데이터 이전 VPC 환경에서 이용 가능합니다. Apache Sqoop(SQL to Hadoop)은 관계형 데이터베이스와 Hadoop 사이에서 효율적으로 데이터를 전송할 수 있도록 지원하는 툴입니다. RDBMS에 저장되어 있는 데이터를 HDFS에서 분석할 수 있도록 HDFS로 가져올 수 있습니다. 반대로 분석 결과를 RDBMS로 내보낼 수 있으며 HDFS, Hive, HBase, Accumulo 등으로도 전송할 수도 있습니다. 이 가이드는 Sqoop을 이용하여 네이버클라우드 Cloud DB for MySQL에서 Cloud Hadoop으로 데이터를 마이그레이션하는 방법을 소개합니다. Sqoop 사용 및 명령어에 대한 내용은 [Sqoop 사용](/docs/chadoop-app0-vpc) 가이드를 참고해 주십시오. ## 사전 작업 1. Object Storage를 생성해 주십시오. - Object Storage 생성에 대한 자세한 내용은 [Object Storage 개요](/docs/storage-storage-6-1) 가이드를 참고해 주십시오. 2. Cloud Hadoop 클러스터를 생성해 주십시오. - Cloud Hadoop 클러스터 생성에 대한 자세한 내용은 [Cloud Hadoop 시작](/docs/hadoop-chadoop-2-1-vpc) 가이드를 참고해 주십시오. 3. Cloud DB for MySQL를 생성합니다. - Cloud DB for MySQL 생성에 대한 자세한 내용은 [Cloud DB for MySQL 시작](/docs/database-database-11-3) 가이드를 참고해 주십시오. ## Sqoop을 이용한 데이터 마이그레이션 Sqoop 클라이언트는 엣지 노드를 제외한 마스터 노드와 데이터 노드 서버에 기본적으로 설치되어 있습니다. 별도의 Sqoop 클라이언트 설치를 설치하지 않고 마이그레이션을 진행할 수 있습니다. [SSH로 클러스터 노드 접속](/docs/hadoop-chadoop-3-2-vpc) 가이드를 참고하여 서버에 접속한 후, 다음 단계를 차례대로 진행해 주십시오. - [1. Cloud DB for MySQL로 접속할 Sqoop 계정 생성](/docs/hadoop-vpc-use-ex4#1-cloud-db-for-mysql%EB%A1%9C-%EC%A0%91%EC%86%8D%ED%95%A0-sqoop-%EA%B3%84%EC%A0%95-%EC%83%9D%EC%84%B1) - [2. ACG 설정](/docs/hadoop-vpc-use-ex4#2-acg-%EC%84%A4%EC%A0%95) - [3. 샘플링 테이블 및 데이터 생성](/docs/hadoop-vpc-use-ex4#3-%EC%83%98%ED%94%8C%EB%A7%81-%ED%85%8C%EC%9D%B4%EB%B8%94-%EB%B0%8F-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%83%9D%EC%84%B1) - [4. Sqoop 명령어로 데이터 마이그레이션](/docs/hadoop-vpc-use-ex4#4-sqoop-%EB%AA%85%EB%A0%B9%EC%96%B4%EB%A1%9C-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%A7%88%EC%9D%B4%EA%B7%B8%EB%A0%88%EC%9D%B4%EC%85%98) ### 1. Cloud DB for MySQL로 접속할 Sqoop 계정 생성 Cloud DB for MySQL 콘솔의 [DB User 관리](/docs/clouddbformysql-dbserver-vpc#db-user-%EA%B4%80%EB%A6%AC) 메뉴를 이용하여 설정 정보를 입력해 Cloud DB for MySQL의 계정을 생성해 주십시오. Cloud Hadoop 서버들의 Private IP는 [Ambari Web UI](/docs/chadoop-5-vpc)의 **Hosts** 메뉴에서 확인할 수 있습니다. **<예시>** DB 설정 정보 - User_ID: mig_acct - Host(IP): Cloud Hadoop 서버의 IP 대역 <예시> 10.10.10.% - 암호: 임의 설정 ![hadoop-chadoop-use-ex4_1-1_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/hadoop-chadoop-use-ex4_1-1_ko.png) ### 2. ACG 설정 Cloud Hadoop 마스터 노드 2번 서버가 Cloud DB for MySQL에 접속할 수 있도록 [ACG를 설정](/docs/compute-compute-2-3)해 주십시오. - Cloud-DB ACG 설정의 접근 소스에 Cloud Hadoop 마스터 노드 2번 서버 IP를 추가해 주십시오. ![cloudhadoop-set-acg1_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/cloudhadoop-set-acg1_ko.png) ### 3. 샘플링 테이블 및 데이터 생성 생성된 Cloud DB for MySQL에 예제 샘플링 테이블과 데이터를 입력해 주십시오. 참고 **MySQL 접속 명령어** ``` mysql -u [클러스터 관리자 계정명] -p ``` ``` CREATE TABLE `mig_test_tb` ( `col1` int(11) NOT NULL, `col2` char(2) NOT NULL, `col3` char(15) DEFAULT NULL, `col4` char(4) DEFAULT NULL, `col5` char(1) DEFAULT NULL, PRIMARY KEY (`col1`,`col2`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; insert into mig_test_tb values (1,'a','mig-test1','run','y'),(2,'a','mig-test1','init','n'), (3,'b','mig-test1','run','y'),(4,'b','mig-test1','run','y'), (5,'c','test-mysql','init','n'),(6,'c','test-mysql','run','n'), (7,'d','test-mysql','init','n'),(8,'d','test-mysql','run','y'), (9,'e','sqoop-test','run','n'),(10,'e','sqoop-test','run','y'), (11,'f','sqoop-test','run','n'),(12,'f','sqoop-test','init','y'), (13,'g','mysql-sqoop','run','n'),(14,'g','mysql-sqoop','init','y'), (15,'h','mysql-sqoop','run','y'),(16,'h','mysql-sqoop','init','n'), (17,'i','sqp-to-my','run','n'),(18,'i','sqp-to-my','init','n'), (19,'j','sqp-to-my','init','y'),(20,'j','sqp-to-my','init','y'), (21,'k','my-mig-sq','run','n'),(22,'k','my-mig-sq','run','y'), (23,'i','my-mig-sq','run','y'),(24,'i','my-mig-sq','run','n'); ``` 참고 테이블 생성 시 구문 에러가 날 경우 작은따옴표 ( ' ' )부분을 확인해 주십시오. ### 4. Sqoop 명령어로 데이터 마이그레이션 1. Sqoop CLI의 `import-all-tables` 옵션을 사용하여 데이터를 Hive로 마이그레이션해 주십시오. `jdbc` 정보는 Cloud DB for MySQL의 Private 도메인과 포트를 사용했습니다. ``` sqoop import-all-tables --connect jdbc:mysql://test-db.mysql.domain.com:3306/migdb --username mig_acct -P --hive-import --external-table-dir hdfs:///warehouse/tablespace/external/hive/<테이블명> ``` 참고 에러가 난다면 Primary Key의 존재 유무를 확인해 주십시오. Resource manager Job으로 등록되어 마이그레이션 작업이 수행됩니다. ``` 20/11/30 16:27:10 INFO mapreduce.Job: Job job_1606446027726_0007 completed successfully 20/11/30 16:27:10 INFO mapreduce.Job: Counters: 30 File System Counters FILE: Number of bytes read=0 FILE: Number of bytes written=685116 FILE: Number of read operations=0 FILE: Number of large read operations=0 FILE: Number of write operations=0 HDFS: Number of bytes read=414 HDFS: Number of bytes written=520 HDFS: Number of read operations=16 HDFS: Number of large read operations=0 HDFS: Number of write operations=8 Job Counters Launched map tasks=4 Other local map tasks=4 Total time spent by all maps in occupied slots (ms)=13269 Total time spent by all reduces in occupied slots (ms)=0 Total time spent by all map tasks (ms)=13269 Total vcore-milliseconds taken by all map tasks=13269 Total megabyte-milliseconds taken by all map tasks=9049458 Map-Reduce Framework Map input records=24 Map output records=24 Input split bytes=414 Spilled Records=0 Failed Shuffles=0 Merged Map outputs=0 GC time elapsed (ms)=393 CPU time spent (ms)=4780 Physical memory (bytes) snapshot=813985792 Virtual memory (bytes) snapshot=10053660672 Total committed heap usage (bytes)=341311488 File Input Format Counters Bytes Read=0 File Output Format Counters Bytes Written=520 20/11/30 16:27:10 INFO mapreduce.ImportJobBase: Transferred 520 bytes in 15.7176 seconds (33.084 bytes/sec) 20/11/30 16:27:10 INFO mapreduce.ImportJobBase: Retrieved 24 records. 20/11/30 16:27:10 INFO mapreduce.ImportJobBase: Publishing Hive/Hcat import job data to Listeners 20/11/30 16:27:10 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM `mig_test_tb` AS t LIMIT 1 20/11/30 16:27:10 INFO hive.HiveImport: Loading uploaded data into Hive 20/11/30 16:27:10 WARN conf.HiveConf: HiveConf of name hive.server2.enable.doAs.property does not exist 20/11/30 16:27:10 WARN conf.HiveConf: HiveConf of name hive.server2.enable.doAs.property does not exist Logging initialized using configuration in jar:file:/home1/cdp/usr/hdp/2.6.5.0–292/hive/lib/hive-common-1.2.1000.2.6.5.0–292.jar!/hive-log4j.properties OK Time taken: 1.796 seconds Loading data to table default.mig_test_tb Table default.mig_test_tb stats: [numFiles=4, numRows=0, totalSize=520, rawDataSize=0] OK Time taken: 0.418 seconds ``` 1. `OK` 메시지와 함께 정상적으로 마이그레이션 작업이 완료되었는지 확인해 주십시오. - Hive에 마이그레이션된 테이블과 데이터를 Hive Viewer 2.0 또는 Hue UI에서 조회할 수 있습니다. Hive 사용에 대한 자세한 내용은 [Hive 사용](/docs/chadoop-app1-vpc)을 참고해 주십시오. ![hadoop-chadoop-use-ex4_4-1_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/hadoop-chadoop-use-ex4_4-1_ko.png)