일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Kafka
- 예제
- SpringBoot
- vue
- java
- Docker
- config
- redash
- aws
- hive
- gradle
- 자동
- login
- 로그인
- Redis
- fastcampus
- Jenkins
- 클러스터
- 간단
- EMR
- 설정
- Mac
- Cluster
- 젠킨스
- 머신러닝
- 자바
- Zeppelin
- ec2
- 레디스
- spring
- Today
- Total
목록BIG DATA (56)
코알못
이전 시간에 [ldap 구성], [ldap 웹 페이지 연동] 하는 실습을 진행하였다. 이제 redash 라는 데이터 시각화 툴에도 ldap 연동하여 로그인하는 실습을 진행해본다. [redash 설치] 와 [버전 업그레이드] 까지 완료 됐다는 가정하에 실습 진행한다. 버전 업그레이드를 하는 이유는 파이썬을 이용하여 ldap 라이브러리를 설치 하여야 하는데 v8 에서는 설치 되지 않기 때문이다. redash 서버에 접속한다. ldap연동을 위해서는 ldap3 라는 파이썬 라이브러리가 필요하여 ldap3 가 설치된 도커 이미지를 사용해야 한다. 그러므로 기존 도커 이미지인 v10 에서 ldap 3 라이브러리가 설치된 이미지를 이용할 것이다. 이를 위해 '/opt/redash' 디렉토리에서 Dockerfile ..
filebeat에서 다중 logstash 서버로 로그 이동시 한대가 장애나서 죽는다면 데이터가 살아있는 logstash 서버에만 전송한다. 만약 장애나서 죽은 서버를 다시 살리면 어떻게 될까? 다시 살아난 서버에 로그를 전송한다. 이때 filebeat 의 filebeat.yml 파일에 loadbalance 설정을 true로 안하거나 설정값 자체가 없다면 기본 false 이기에 로드밸런싱이 되지 않으며 이때문에 방금 기동한 logstash에 로그가 안들어와 재기동하면 로그를 안보내주는건가 ? 생각 할 수 있는데 아니다. output.logstash: hosts: [ "IP:5044", "IP:5044", "IP:5044" ] loadbalance: true 위처럼 수정하게 되면 정상적으로 로그가 들어오는것..
EMR 클러스터 생성시 EC2와 다르게 일시 정지 기능이 없어 요금 절약을 위해 클러스터를 종료하고 생성 하게 됩니다. 종료 하고 생성시 마다 IP가 계속적으로 변경되어 BI 툴(redash 등) 에서 hive 접속시 IP 설정을 계속적으로 변경해야 하여 서비스 사용자가 불편함을 겪게 되는 문제가 있습니다. 이를 해결 하기 위해 EMR 클러스터에 고정 IP를 할당하려고 하며 그 방법은 아래와 같다. 우선 GIT 에서 아래 파일을 다운 받는다. https://github.com/awslabs/aws-support-tools/blob/master/EMR/Assign_Private_IP/assign_private_ip.py GitHub - awslabs/aws-support-tools: Tools and sa..
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를 통..
우선 처음에 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 계정 정보'를 입력하고 나머지는 기본값으로 지정한다. 만들..