목록전체 글 (193)
코알못
EMR Step Function 은 내가 원하는 스크립트를 제출할 수 있는 기능이며 서버리스 서비스이다. 클러스터 생성시점 또는 생성후 단계탭에서 제출 가능하며, 쉽게 이용 가능하다. 기존에 배치의 경우 oozie 를 사용하였으나 step Function 으로도 배치 제출이 가능하여 이용해 보았으며 그 내용은 아래와 같다. - 소요시간 : oozie, step 동일 - 한글 처리 : 온프레미스 환경에서 설치한 hadoop의 oozie 의 경우 한글 이슈가 없었으나 EMR oozie 이용시 한글 사용에 대한 이슈가 있었다. (hue 에서 정상적으로 저장, 읽기 가능하나 배치 실행 시키면 한글을 인식하지 못했다.) 그러나 step 사용시에는 한글에 대한 이슈가 발생하지 않았다. - 관리 측면 : step 이..
사설 IP 로 구성한뒤, 해당 VPC 에 인터넷 통신을 위한 인터넷 게이트 웨이나 NAT 게이트 웨이를 사용하지 않는다면 서로 다른 서비스를 연결할 수 있는 방법이 없다. 이를 위해서 VPC 엔드포인트 설정을 진행한다. 저자의 경우 아래와 같은 케이스를 경험 하였다. 1. EMR > S3 2. hive > glue 1번의 경우 S3 VPC 엔드포인트 설정하면 되며 2번의 경우 glue VPC 엔드포인트를 설정하면 된다. 설정은 'AWS 콘솔' > 'VPC 검색' > 엔드포인트 > 엔드포인트 설정 에서 설정 진행하면 된다. - s3 VPC endpoint - glue VPC endpoint 주의할점은 hive 에서 glue 사용시 'glue.ap-northeast-2.amazonaws.com' DNS를 통..
Microsoft 에서 개발한 AD(Active Directory)는 디렉토리 서비스 공급자이며 윈도우OS 에서 디렉터리 안에 내용을 쉽게 검색 할 수 있도록 한다. 이런 공급자들이 쉽게 통신을 하기 위한 프로토콜이 LDAP(Lightweight Directory Access Protocol) 이다. 그렇다고 하면 AD 디렉터리에 원하는 데이터를 넣고 찾는 다는 점에서 데이터베이스를 사용하면 되는데 왜 AD를 사용할까? 라는 의문을 가질 수 있다. 사실상 아무 데이터나 넣고 찾는다고 하면 차이가 없을 지라도 AD는 '조직의 사용자나 주소록 정보를 관리' 에 특화 되어 만들어져 해당 데이터를 관리 하고자 한다면 AD 사용에 이점이 있다. LDAP 은 비동기 프로토콜 이며 자체적으로 디렉토리 서비스를 제공 ..
우선 처음에 AWS EMR 로 zeppelin 서비스 설치시 jdbc 인터프리터 그룹이 없기에 원하는 인터프리터를 추가할 수 없다. 그렇기에 필요한 인터 프리터 그룹을 설치하도록 한다. 우선 해당 zeppelin 서버에 접속한뒤 아래와 같이 설치 한다. $ sudo /usr/lib/zeppelin/bin/install-interpreter.sh -n jdbc Install jdbc(org.apache.zeppelin:zeppelin-jdbc:0.9.0) to /usr/lib/zeppelin/interpreter/jdbc ... Interpreter jdbc installed under /usr/lib/zeppelin/interpreter/jdbc. 1. Restart Zeppelin 2. Create i..
운영중에 DB에 중요한 데이터가 있다면 사용자별 접근 제어를 하여 허용한 사용자에게만 조회 할 수 있도록 해야한다. 데이터 분석을 위해서는 여러 BI 툴을 사용하며 그중 Redash 에서 데이터 접근 제어하는 방법을 알아본다! 데이터 소스별 권한 설정은 세가지로 모두 테스트를 통해 알아보도록 한다. - Full Access - View Only - 권한 없음 테스트 결과는 아래와 같다. case 기존에 만들어진 쿼리/대시보드 조회 가능 여부 신규 쿼리/대시보드 생성 가능 여부 Full Access O O View Only O X 권한 없음 X X 중요한 데이터의 경우에는 따로 데이터베이스를 두어 권한 설정을 하면 좋을것 같다.(전자 결제 승인후 관리자가 권한 부여) 현재 데이터 레이크(데이터 스키마=구조..
RedShift는 EMR 같이 분산 처리 파일 시스템으로 저장소, 분석 쿼리 돌릴시 사용 가능하다. 구글링 하면 EMR 보다는 성능이 좋고, 한번 조회된 쿼리에 대해서 캐싱을 하여 반복된 쿼리 호출에 대해서는 1s 내에 응답한다. 그러나 EMR 보다는 가격이 비싸 빠르게 처리해야하는 데이터의 경우에는 RedShift 를 이용해 처리하면 좋을 것 같다. 비용은 시간당 비용이 나가면 EC2 처럼 일시정지 기능이 있어 정지하여 정지 시간 동안 결제 중단 가능하다. 우선 RedShift 클러스터를 생성한다. - AWS 콘솔 로그인 > RedShift 검색 > 클러스터 생성 생성을 위해서 필수로 변경 해야 하는 '명칭, 서버 스펙, 서버수, VPC, DB 계정 정보'를 입력하고 나머지는 기본값으로 지정한다. 만들..
로그 확인 하는 방법은 'docker logs' 명령어를 이용하면 되며 옵션을 추가로 주어 원하는 대로 로그 확인이 가능하다. 우선 옵션 없이 로그를 확인해보자! $ docker logs [container] logger=sqlstore t=2022-03-26T09:13:48.34+0000 lvl=info msg="Created default organization" logger=plugin.manager t=2022-03-26T09:13:48.38+0000 lvl=info msg="Plugin registered" pluginId=input logger=query_data t=2022-03-26T09:13:48.38+0000 lvl=info msg="Query Service initialization"..
도커 레이어 아키텍쳐는 아래와 같이 두가지 레이어로 되어있다. image layer : 이미지 레이어로 읽기전용, 컨테이너는 이미지를 읽어서 만들어짐 container layer : 읽기, 쓰기 모두 가능한 레이어로 컨테이너 삭제시 사라지는 레이어 여기서 컨테이너 레이어의 경우 컨테이너 삭제시 사라진다고 정의되어있으며 그렇게 되면 안에 있던 볼륨도 제거 될것이다. 정말로 그런지 실습을 통해 확인해보자! $ docker run -d -it ubuntu:focal bash $ docker exec -it 777 bash root@77776327a426:/# echo hello > hello.txt root@77776327a426:/# ll total 60 drwxr-xr-x 1 root root 4096 M..