전체 글 135

[BOJ] 10799번: 쇠막대기

■ 문제풀이 기본적인 자료구조 pop, append를 사용한 문제입니다. 각 막대기 '(' 모양일 경우 stack에 append 합니다. 각 막대기 ')' 모양일 경우 조건이 두 가지 입니다. ')' 막대기가 나오기 이전 '(' 일 경우 stack에 쌓인 막대기를 pop 시킨 후 남아 있는 막대기 개수를 더합니다. ')' 막대기가 나오기 이전 ')'일 경우 stack에 쌓인 막대기를 pop 시킨 후 잘린 막대기의 끄트머리 개수를 +1 시킵니다. ■ 문제해답 import sys input = sys.stdin.readline bar_razor = list(input().rstrip()) answer = 0 stack = [] for i in range(len(bar_razor)): if bar_razor[..

Algoritm/BOJ 2022.11.21

[Hadoop] Zookeeper Install

개요 Zookeeper 환경을 구성해보고, 설치해보며 실습환경 구성 설치 전 환경구성... VirtualBox에서 Vagrant로 Provisioning 하여 총 3개의 Server 구성 CentOS 7.6 mgmt01 mgmt02 mgmt03 IP 192.168.56.11 192.168.56.12 192.168.56.13 CPU 1 1 1 MEM 2G 2G 2G 1. Zookeeper 설치 전 세팅 (모든 서버) Master - Slave 간 통신을 위해 방화벽 해제 1.1 방화벽 비활성화 # systemctl stop firewalld # systemctl disalbe firewalld 1.2 SELinux 비활성화 # setenforce 0 # sed -i 's/^SELINUX=.*/SELINUX..

BigData/Hadoop 2022.11.08

[Hadoop] Zookeeper 란?

Zookeeper Zookeeper는 분산 애플리케이션을 위한 코디네이션 시스템 Hadoop Eco System에서 사용되는 회복성 있는 분산 설정 서비스 Zookeeper 안에서는 설정 데이터가 파일시스템과 Znode라는 노드 트리에 저장 각 ZNODE는 데이터를 가지고 있으며 0개 이상의 자식 노드를 가질 수 있슴 클라이언트는 하나의 주키퍼 서버와 연결을 맺고 ZNODE를 생성/조회/수정/삭제 Zookeeper 특징 클러스터에서 하나의 서버에 모든 작업이 진행되면, 작업이 진행되는 서버가 단일 실패지점 (SPOF, Single Point Of Failure)이 됨, 따라서 이로 인한 리스크를 줄이기 위해 분산 서버 관리 기술 즉 Zookeeper를 사용 분산처리 환경에서 예상치 못한 예외 케이스가 자..

BigData/Hadoop 2022.11.08

[Airflow] Airflow 보안

개요 접근 제어를 위한 RBAC 인터페이스 검사 및 구성 LDAP 서비스에 연결하여 중앙 사용자 집합에 대한 액세스 권한 부여 데이터베이스에서 기밀을 암호화하도록 Fernet Key 구성 중앙 보안관리 시스템에서 보안사항 가져오기 들어가기 전에... Airflow 웹 인터페이스 1) Airflow 1.x Flask-Admin을 기반으로 개발된 기본 인터페이스 FAB (Flask-AppBuilder)를 기반으로 개발된 RBAC 인터페이스 2) Airflow 2.x FAB (Flask-AppBuilder)를 기반으로 개발된 RBAC 인터페이스 1. Airflow 웹 인터페이스 보안 보이는 화면은 RBAC 인터페이스의 첫 화면 (암호 인증이 기본적으로 활성화) 1.1 RBAC 인터페이스에 사용자 추가 1.1...

BigData/Airflow 2022.10.27

[Hive] External vs. Internal

개요 Hive에서 External Table과 Internal Table의 차이점에 대해 파악하고, 실습을 진행해 보겠습니다. Internal Table Internal Table은 Manged Table이라고 하며, Table 생성 시 따로 Option을 주지 않으면 기본 저장 위치 ‘hive.metastore.warehouse.dir’에 정의한 하위 디렉터리를 만들어서 Data를 저장합니다. ex) hdfs:///user/hive/warehouse/{DB명}.db/{Table 명} Internal Table은 Drop 시에 Table의 Data 및 MetaData 또한 완전히 삭제되므로 주의하여야 합니다. 세션이 종료 되어도 Table의 Data와 파일은 유지 됩니다. 실습 shakespeare_wc..

BigData/Hive 2022.09.29

[DB] MySQL 'validate_password_policy' Issue

개요 User를 등록하고 권한을 부여할 때 나타나는 Issue 해결 과정을 정리하는 것을 목적으로 하였습니다. User 생성 ● User 생성 mysql > create user 'oozie'@'localhost' identified by 'oozie'; 다음과 같이 create user를 진행하면 다음과 같은 Issue가 발생합니다. Issue 발생 이유는 다음과 같습니다. 비밀번호 보안 정책 때문인데요, 너무 간단하게 비밀번호를 설정하여서 다음과 같은 Issue가 발생한 것입니다. 개발 작업이나 개인 Local에서 사용할 경우 굳이 복잡하게 비밀번호를 설정할 필요가 없기 때문에 간단하게 설정하는 방법에 대해서 알아보겠습니다. ● 비밀번호 정책 낮추기 먼저 현재 비밀번호 정책이 어떻게 되어있나 확인해 ..

Web &App/DB 2022.09.28

[Hadoop] Hadoop 이란?

개요 Hadoop에 대해서 간단한 이론과 Hadoop v1.x, v2.x 버전의 차이점에 대해 알아보도록 하겠습니다. Hadoop 대용량의 검색엔진을 개발하는 과정에서 대용량의 비정형 데이터를 기존의 RDB 기술로 처리가 힘들다는 것을 꺠닫고, 구글의 GFS와 MapReduce 논문을 기반으로 개발된 프레임워크 입니다. 기존 성능이 높은 컴퓨터를 사용하여 Data를 처리하는 방식에서, 범용 컴퓨터를 클러스터화 시켜서 큰 크기의 Data를 병렬 처리하도록 구성하여 처리속도를 높이는 것을 목적으로 분산처리를 하도록 만든 것이 Hadoop 입니다. 적은 비용의 장비 구성으로 빠른 속도의 Data 처리를 수행할 수 있게 되었습니다. Hadoop 구성요소 ● Hadoop Common ○ Hadoop의 다른 모듈을..

BigData/Hadoop 2022.09.27

[Django] Django + Gunicorn + Nginx + MariaDB

개요 Django와 Gunicorn은 하나의 Container에 Image를 만들고, Nginx와 MariaDB는 Docker Compose를 통해 서로의 의존관계를 성립하여 각각의 Container로 실행시키도록 하겠습니다. 물론 하나의 Container 안에 Django, Nginx, MariaDB를 함께 실행시킬 수 있지만, 각각 Container로 분리, 관리하는 것이 효율적입니다. 또한 Image를 각각 Container로 구동시켜 Expose 시켜 연결할 수 있지만 과정이 복잡합니다. 이를 손쉽게 연결하고 Container를 생성할 수 있게 해주기 위해 Docker Compose를 사용하였습니다. * 다음 과정을 진행하기 위해 선행으로 Django + Gunicorn이 구축 및 이미지화 되어 ..

Web &App/Django 2022.09.22

[Docker] CentOS에서 Docker Install

개요 CentOS 7.6에서 Docker Install 과정을 정리하겠습니다. Docker Install 1. yum-utils를 제공하는 패키지를 설치 및 Repository를 설정 $ sudo yum install -y yum-utils $ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo 2. Docker Engine Install $ sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin 3. 특정 버전의 Docker Install $ sudo yum install docker-ce-18.09.1 ..

DevOps/Docker 2022.09.21