--- title: "Cloud DB for MySQL 데이터 이전" slug: "hadoop-chadoop-use-ex4" tags: ["Cloud Hadoop", "MySQL", "Cloud Hadoop 연동", "Cloud DB for MySQL"] updated: 2026-09-17T09:07:23Z published: 2026-09-17T09:07:23Z canonical: "guide.ncloud-docs.com/hadoop-chadoop-use-ex4" stale: true --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Cloud DB for MySQL 데이터 이전 Classic 환경에서 이용 가능합니다. Sqoop(SQL to Hadoop)은 관계형 데이터베이스와 Hadoop 간에 효율적으로 데이터를 전송할 수 있도록 지원하는 툴입니다. RDBMS에 저장되어 있는 데이터를 HDFS에서 분석할 수 있도록 HDFS로 가져올 수 있습니다. 반대로 분석 결과를 RDBMS로 내보낼 수 있으며 HDFS, Hive, HBase, Accumulo 등으로도 전송할 수도 있습니다. 이 가이드는 Sqoop을 이용하여 네이버 클라우드 플랫폼 Cloud DB for MySQL에서 Cloud Hadoop으로 데이터를 마이그레이션하는 방법을 소개합니다. Sqoop 사용 및 명령어에 대한 내용은 [Sqoop 사용](/docs/hadoop-chadoop-4-1) 가이드를 참조해 주십시오. ## 사전 작업 1. Object Storage를 생성해 주십시오. - Object Storage 생성에 대한 자세한 내용은 [Object Storage 사용 가이드](/docs/storage-storage-6-1)를 참조해 주십시오. 2. Cloud Hadoop 클러스터를 생성해 주십시오. - Cloud Hadoop 클러스터 생성에 대한 자세한 내용은 [Cloud Hadoop 시작](/docs/hadoop-chadoop-2-1) 가이드를 참조해 주십시오. 3. Cloud DB for MySQL를 생성합니다. - Cloud DB for MySQL 생성에 대한 자세한 내용은 [Cloud DB for MySQL 시작](/docs/clouddbformysql-start) 가이드를 참조해 주십시오. ## Sqoop을 이용한 데이터 마이그레이션 Sqoop 클라이언트는 엣지 노드를 제외한 마스터 노드와 데이터 노드 서버에 기본적으로 설치되어 있습니다. 별도의 Sqoop 클라이언트 설치없이 마이그레이션을 진행할 수 있습니다. [SSH로 클러스터 노드 접속](/docs/hadoop-chadoop-3-2) 가이드를 참조하여 서버에 접속한 후, 다음 단계를 차례대로 진행해 주십시오. - [1. Cloud DB for MySQL로 접속할 Sqoop 계정 생성](/docs/hadoop-chadoop-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-chadoop-use-ex4#2-acg-%EC%84%A4%EC%A0%95) - [3. 샘플링 테이블 및 데이터 생성](/docs/hadoop-chadoop-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-chadoop-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/database-database-5-2#db-user-%EA%B4%80%EB%A6%AC) 메뉴를 이용하여 설정 정보를 입력해 Cloud DB for MySQL의 계정을 생성해 주십시오. Cloud Hadoop 서버들의 IP는 [Ambari UI](/docs/hadoop-chadoop-3-4)의 **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/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/hadoop-chadoop-use-ex4_1-1_ko.png?sv=2026-02-06&spr=https&st=2026-11-05T10%3A55%3A15Z&se=2026-11-05T11%3A55%3A15Z&sr=c&sp=r&sig=%2FR%2FRp2g6B1OrHXp%2F4%2B4zgy6RP6CfIrlCJ7VZ9OOdiJw%3D) ### 2. ACG 설정 Cloud Hadoop 마스터 노드 2번 서버가 Cloud DB for MySQL에 접속할 수 있도록 [ACG를 설정](/docs/server-acg-classic)해 주십시오. - Cloud-DB ACG 설정의 접근 소스에 Cloud Hadoop 마스터 노드 2번 서버 IP ACG를 추가해 주십시오. ![hadoop-chadoop-use-ex4_2-1_ko](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/hadoop-chadoop-use-ex4_2-1_ko.png?sv=2026-02-06&spr=https&st=2026-11-05T10%3A55%3A15Z&se=2026-11-05T11%3A55%3A15Z&sr=c&sp=r&sig=%2FR%2FRp2g6B1OrHXp%2F4%2B4zgy6RP6CfIrlCJ7VZ9OOdiJw%3D) ### 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 ``` 참고 에러가 난다면 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 ``` 2. `OK` 메시지와 함께 정상적으로 마이그레이션 작업이 완료되었는지 확인해 주십시오. - Hive에 마이그레이션된 테이블과 데이터를 Hive Viewer 2.0 또는 Hue UI에서 조회할 수 있습니다. Hive 사용에 대한 자세한 내용은 [Hive 사용](/docs/hadoop-chadoop-4-2) 가이드를 참조해 주십시오. ``` SELECT * FROM mig_test_tb; ``` ![hadoop-chadoop-use-ex4_4-1_ko](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/hadoop-chadoop-use-ex4_4-1_ko.png?sv=2026-02-06&spr=https&st=2026-11-05T10%3A55%3A15Z&se=2026-11-05T11%3A55%3A15Z&sr=c&sp=r&sig=%2FR%2FRp2g6B1OrHXp%2F4%2B4zgy6RP6CfIrlCJ7VZ9OOdiJw%3D)