docker 45

Livy로 Spark Application 실행하기 (1) - 컨테이너 설정 변경

Livy 서버에 Spark Application 실행을 요청하는 Livy 클라이언트를 구성한다. Livy 클라이언트는 AirFlow를 구성할때 생성한 AirFlow Jupyter 컨테이너에 구성한다. 해당 컨테이너는 Ubuntu 20.04 환경에 conda 가상 환경의 Jupyter Notebook이 실행 중이다. 파이썬 기반의 Livy 클라이언트를 아래 목적으로 실행하는데 편리하다. Livy 서버에 Spark Application을 제출 Livy 서버의 REST API를 호출하여 세션과 배치 작업 제어 굳이 AirFlow와 연동 된 Jupyter Notebook에 Livy Client를 구성한 이유는 다음과 같다. Spark을 이용한 ETL 파이프라인은 AirFlow를 통해 워크플로우를 제어할 것이다...

::: IT인터넷 ::: 2023.10.23

Hadoop Edge 노드 구성하기 (1) - 컨테이너 설정 변경

현재 하둡 클러스터는 다수의 VirtualBox 가상환경을 이용하여 구성했다. 클러스터의 외부에 있는 다른 서버에서는 데이터 노드 접근이 제한된다. 이러한 이유로 HDFS의 데이터를 클러스터 외부로 전송하거나 반대의 작업을 수행하는데 제약 사항이 존재한다. 따라서 클러스터와 외부 환경을 중계하는 에지 노드가 필요하다. 특히 HDFS와 MinIO 간의 데이터 파일 전송을 통해 데이터 파이프라인을 구성하라면 에지노드가 필수적이다. 이러한 에지 노드는 다음과 같은 장점이 있다. 일반 사용자에게 클러스터의 내부 구조와 설정을 숨길 수 있다. 보안과 사용자를 효과적으로 관리할 수 있다. 사용자의 클러스터 설정 변경이 불가능하다. 외부 저장소(ex. MinIO)와 HDFS 간의 중계 역할을 수행하며, 추가적인 전처..

::: IT인터넷 ::: 2023.10.05

Jenkins에 Scala 빌드머신 연동하기 (1) - Docker 컨테이너 실행

Scala 빌드 머신의 Docker 이미지를 컨테이너로 실행하여 Jenkins 에 Scala 빌드 에이전트로 등록한다. Scala 빌드머신을 Docker로 생성하는 방법은 아래 문서를 참고한다. Docker로 Scala 빌드머신 만들기 (Dockerfile 작성) Scala 개발환경 구성이 완료되면 작성한 Application을 빌드하고 배포해야 한다. 이전에 Jenkins로 Python과 Docker 빌드/배포 환경을 구축한 방법을 활용하여 Scala Application의 빌드 머신을 생성한다. Jenkins www.bearpooh.com Docker로 Scala 빌드머신 만들기 (Dockerfile 폴더 구성) Scala 개발환경 구성이 완료되면 작성한 Application을 빌드하고 배포해야 한다..

::: IT인터넷 ::: 2023.08.21

Docker로 Scala 빌드머신 만들기 (3) - 빌드와 배포

Scala 개발환경 구성이 완료되면 작성한 Application을 빌드하고 배포해야 한다. 이전에 Jenkins로 Python과 Docker 빌드/배포 환경을 구축한 방법을 활용하여 Scala Application의 빌드 머신을 생성한다. Jenkins의 SSH Agent 컨테이너의 Dockerfile과 sbt를 활용하여 리눅스 기반의 Scala 빌드 에이전트를 생성한다. 생성한 빌드 에이전트는 SSH 통신을 이용하여 Jenkins에 에이전트로 등록한다. 진행 순서는 다음과 같다. Jenkins SSH 에이전트 이미지 생성 Dockerfile 작성 Dockerfile 빌드에 필요한 외부 파일 다운로드와 폴더 구성 Jenkins 에이전트 이미지 빌드와 배포 Dockerfile 작성과 폴더 구성이 완료되었으..

::: IT인터넷 ::: 2023.08.17

Docker로 Scala 빌드머신 만들기 (2) - Dockerfile 폴더 구성

Scala 개발환경 구성이 완료되면 작성한 Application을 빌드하고 배포해야 한다. 이전에 Jenkins로 Python과 Docker 빌드/배포 환경을 구축한 방법을 활용하여 Scala Application의 빌드 머신을 생성한다. Jenkins의 SSH Agent 컨테이너의 Dockerfile과 sbt를 활용하여 리눅스 기반의 Scala 빌드 에이전트를 생성한다. 생성한 빌드 에이전트는 SSH 통신을 이용하여 Jenkins에 에이전트로 등록한다. 진행 순서는 다음과 같다. Jenkins SSH 에이전트 이미지 생성 Dockerfile 작성 Dockerfile 빌드에 필요한 외부 파일 다운로드와 폴더 구성 Jenkins 에이전트 이미지 빌드와 배포 이전 글에서 Dockerfile을 작성했으므로 D..

::: IT인터넷 ::: 2023.08.14

Docker로 Scala 빌드머신 만들기 (1) - Dockerfile 작성

Scala 개발환경 구성이 완료되면 작성한 Application을 빌드하고 배포해야 한다. 이전에 Jenkins로 Python과 Docker 빌드/배포 환경을 구축한 방법을 활용하여 Scala Application의 빌드 머신을 생성한다. Jenkins의 SSH Agent 컨테이너의 Dockerfile과 sbt를 활용하여 리눅스 기반의 Scala 빌드 에이전트를 생성한다. 생성한 빌드 에이전트는 SSH 통신을 이용하여 Jenkins에 에이전트로 등록한다. 진행 순서는 다음과 같다. Jenkins SSH 에이전트 이미지 생성 Dockerfile 작성 Dockerfile 빌드에 필요한 외부 파일 다운로드와 폴더 구성 Jenkins 에이전트 이미지 빌드와 배포 Python 빌드 머신 생성 방법은 아래 글을 참..

::: IT인터넷 ::: 2023.08.10

Zeppelin 0.10.1 버전 Docker로 사용하기

기존 포스팅에서 Zeppelin 0.8.1 버전을 사용하기 위한 방법을 소개했다. Zeppelin 설정하고 노트북 생성하기 ## 참고사항 ## 빅데이터나 하둡 관련 전문가가 아니기 때문에 일부 부족한 내용이 있을 수 있습니다. 셋팅과 기본적인 사용 외에, 하둡과 관련 생태계 운영의 트러블 슈팅은 잘 모릅니다. 오픈소 www.bearpooh.com HDP Sandbox를 이용한 방법과 Zeppelin Docker를 이용한 방법을 다뤘다. 그러나 0.10.1 버전의 경우 기존 방법으로 사용할 수 없어서 새롭게 정리한다. 오류 증상 Zeppelin Docker를 이용한 방법으로 0.8.1 버전 대신 0.10.1 버전을 사용하면 아래와 같은 오류가 발생한다. Zeppelin 0.8.1 버전을 Docker로 사용..

Jupyter Notebook으로 AirFlow 사용하기

Jupyter Notebook으로 AirFlow를 사용하는 방법에 대해 정리한다. Jupyter Notebook은 파이썬 기반의 데이터 과학에서 자주 사용하는 도구이다. 웹페이지 기반의 대화형 파이썬 인터프리터를 제공하기 때문에 간단한 코드 스니펫 검증에 자주 사용된다. 또한 데이터 변환이나 학습, 또는 EDA와 같은 데이터 분석을 진행하기도 한다. AirFlow에서 Jupyter Notebook을 연동하여 사용하는 이유는 다음과 같다. AirFlow DAG 코드를 간단하게 수정 간단한 DAG 테스트를 위한 코드 작성 실제로 운영하고 있는 서버에서 테스트하는 것은 좋지 않다. 가급적 로컬 환경에 테스트 환경을 별도로 구성하고 진행하는 것을 추천한다. 파이썬으로 AirFlow의 DAG 패키지를 작성하는 방..

::: IT인터넷 ::: 2022.07.21

PostgreSQL의 SQL 기본 사용법

오픈소스 데이터베이스인 PostgreSQL의 SQL 기본 사용법에 대해 정리한다. PostgreSQL 소개와 Docker를 사용하여 설정하는 방법은 아래 포스팅을 참고한다. Docker로 PostgreSQL 사용하기 RDBMS에서 가장 유명한 것은 Oracle이다. 그러나 유료이고 주로 대형 프로젝트에 적합하다. 유료라고 나쁜 것은 아니지만 개인이나 소규모 조직에서 사용하기엔 부담스러운 가격인 것은 사실이다. www.bearpooh.com PostgreSQL 공식 Docker 이미지에 한글을 설정한 Docker 이미지 생성 방법은 아래 포스팅을 참고한다. 공식 PostgreSQL Docker 이미지에 한글 적용하기 이전 포스팅에서 Docker를 이용하여 PostgreSQL을 설정하는 방법을 다뤘다. Do..

::: IT인터넷 ::: 2022.05.16

PostgreSQL의 Table 관리

오픈소스 데이터베이스인 PostgreSQL의 Table을 관리하는 방법에 대해 정리한다. PostgreSQL 소개와 Docker를 사용하여 설정하는 방법은 아래 포스팅을 참고한다. Docker로 PostgreSQL 사용하기 RDBMS에서 가장 유명한 것은 Oracle이다. 그러나 유료이고 주로 대형 프로젝트에 적합하다. 유료라고 나쁜 것은 아니지만 개인이나 소규모 조직에서 사용하기엔 부담스러운 가격인 것은 사실이다. www.bearpooh.com PostgreSQL 공식 Docker 이미지에 한글을 설정한 Docker 이미지 생성 방법은 아래 포스팅을 참고한다. 공식 PostgreSQL Docker 이미지에 한글 적용하기 이전 포스팅에서 Docker를 이용하여 PostgreSQL을 설정하는 방법을 다뤘다..

::: IT인터넷 ::: 2022.05.12