sqoop을 이용하여 DB와 HDFS 사이 데이터 이동 실습
1. Sqoop 설치
Mirror Site에서 bigpi1으로 설치하면 된다.
sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz 으로 다운 받으면 된다.
$ wget http://archive.apache.org/dist/sqoop/1.4.7/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
Sqoop 설치 파일 압축 해제 및 설정
$ sudo tar –xvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz –C /opt/
$ rm sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
$ cd /opt
$ sudo mv sqoop-1.4.7.bin__hadoop-2.6.0 sqoop
$ sudo chown pi:pi –R /opt/sqoop
.bashrc 파일에 환경변수 추가
$ nano .bashrc
export SQOOP_HOME=/opt/sqoop
export PATH=$PATH:~ ...생략...$FLUME_HOME/bin:$SQOOP_HOME/bin
$ source .bashrc
/opt/sqoop/bin/configure-sqoop 파일에 마지막에 환경변수 추가
export HADOOP_HOME=$HADOOP_HOME
설치된 sqoop version 확인
$ sqoop version
테스트 위해 mariaDB 설치
2. MariaDB Server 설치
bigpi1에서 mariaDB server 설치
$ sudo apt install mariadb-server
mariaDB 추가 보안 설정
$ sudo mysql_secure_installation
Enter current password for root : 그냥 엔터
Set root password : y 누르고 엔터
New password : bigdata 누르고 엔터
Re-enter new password : 다시 bigdata 누르고 엔터
Remove anonymous users? y 누르고 엔터
Disallow rooot login remotely? y 누르고 엔터
Remove test database and access to it? n 누르고 엔터
Reload privilege tables now? y 누르고 엔터
MariaDB 버전 확인
$ mysql -V
MariaDB 실행 상태 확인
$ systemctl status mariadb
만약 inactive(dead)라고 되어 있으면,
$ systemctl start mariadb
DB와 Table 확인
$ sudo mysql -uroot -p # password로 bigdata 입력
$ show database; # 3개 table 보여줌
$ use mysql; # 3개의 database 중 mysql db 사용, mysql db로 들어감
$ show tables; # table 목록 보여줌
$ select count(*) from help_keyword; # 464개 행 존재함
$ select * from help_keyword; # help_keyword table 내용 확인
$ quit # mysql command 창 종료
Sqoop에서 MariaDB 접근 위한 JDBC driver 다운 받고 /opt/sqoop/lib에 저장
$ wget https://downloads.mariadb.com/Connectors/java/connector-java-2.6.0/mariadb-java-client-2.6.0.jar
$ sudo mv mariadb-java-client-2.6.0.jar /opt/sqoop/lib/
'HDFS' 카테고리의 다른 글
Apache Flume (0) | 2021.12.22 |
---|---|
HDFS Cluster 설정 (0) | 2021.12.20 |
Single Node 설정 (2) | 2021.12.20 |
Cluster 설정 (0) | 2021.12.16 |
가상환경 설치(virtual hadoop cluster 구성) (0) | 2021.12.16 |