분류 전체보기 1188

[Trino/MySQL] - Table does not exist 에러 해결

현상 아래와 같이 MySQL 커넥터를 이용해 Trino에 카탈로그를 생성하고 데이터가 정상적으로 인식되는지 확인해 보았다. # $TRINO_HOME/etc/catalog/.properties connector.name=mysql connection-url=jdbc:mysql://: connection-user= connection-password= 카탈로그, 스키마, 테이블 목록까지 전부 정상적으로 인식되었는데, 테이블 내에 있는 데이터를 조회하면 아래와 같이 테이블을 찾을 수 없다는 에러가 발생했다. 접속 정보 및 권한 확인 서버에서 Trino가 아니라 MySQL Client를 이용해 카탈로그 생성에 이용한 MySQL 접속 정보를 점검한다. 접속 mysql -h -P -u -p # 예시 mysql -h..

Trino 2023.03.24

[Hive] Metastore 설치 및 실행

개요 2023.03.18 - Apache Hive 란? 2023.03.19 - [Hive] Metastore 위 글을 통해 Apache Hive와 Hive의 구성 요소 중 하나인 Metastore 개념을 정리해 보았다. 이 글에서는 Hive metastore 설치 방법을 정리해 둔다. Metastore 유형 중 Remote Metastore로 구성한다. 🤔 왜 이 글은 Hive를 설치하는 게 아니고 Hive Metastore를 설치하는가? 이유는 단순하다. Hive가 아니라 Hive Metastore만 필요하기 때문이다. 기존에는 Hive Metastore를 사용하기 위해선 Hive 자체를 설치해야 했는데, Hive 3부터는 Metastore standalone을 지원해주고 있다. Java 설치 Hive..

Hadoop EcoSystem 2023.03.23

[Hive] Metastore

Hive Metastore Hive는 데이터에 대한 논리적 정보와 파일의 물리적 위치 등과 같은 메타성 정보를 가진다. 메타스토어는 이러한 메타 정보를 저장하고 사용자의 요청에 따라 제공한다. 정보를 제공할 때는 Thrift(Apache Thrift; 이기종간의 통신을 위한 프로토콜)를 사용하고 메타 데이터 자체는 JDBC를 이용해 데이터베이스에 저장한다. 유형 Hive의 메타스토어 유형은 임베디드(Embedded metastore), 로컬(Local metastore), 원격(Remote metastore)으로 구분할 수 있다. 임베디드(Embedded metastore) Hive를 설치하면 기본값으로 Derby를 메타스토어 DB로 사용하는데, 한 번에 한 명의 사용자만 접근할 수 있다. 따라서 운영 ..

Hadoop EcoSystem 2023.03.22

Apache Hive 란?

Apache Hive Hadoop Ecosystem에서 데이터를 모델링하고 프로세싱할 때 가장 많이 사용하는 데이터 웨어하우스 솔루션 HDFS에 저장된 데이터를 RDB 데이터베이스 테이블과 같은 구조로 정의하는 방법을 제공한다. Hive를 사용하면 하둡 에코시스템에 저장된 거대한 데이터세트를 SQL 기반으로 쿼리하고 처리할 수 있게 된다. 💡 Hadoop Ecosystem Apache Hadoop 소프트웨어 라이브러리를 이루는 다양한 구성 요소. HDFS, Hive, Pig, YARN, MapReduce 등이 해당된다. 💡 데이터 웨어하우스 여러 소스에서 가져온 구조화된 데이터와 반구조화된 데이터를 분석하고 보고하는 데 사용되는 엔터프라이즈 시스템 구성 요소 Hive는 다음과 같은 구조로 되어 있다. U..

Hadoop EcoSystem 2023.03.21

[Helm/Jenkins] CAcert를 이용한 LDAPS 적용

개요 2022.05.16 - [Jenkins] LDAP 연동으로 Jenkins에 LDAP 적용을 했었는데, 이번에는 인증서를 이용한 LDAPS 적용이 필요해 방법을 정리한다. 쿠버네티스 클러스터에 Helm으로 설치한 Jenkins로, 사용한 Chart는 이미 deprecated 된 https://github.com/helm/charts/tree/master/stable/jenkins이다. init container를 이용해 컨테이너 환경 변수로 전달한 인증서를 적용하는 방법으로, https://github.com/helm/charts/issues/23374를 참고하여 진행했다. 적용 방식 1. 공유 공간으로 cacerts-share이라는 이름의 emptyDir volume 생성 2. jenkins 컨테이..

Jenkins 2023.03.20

[Ubuntu/Hadoop] Single Node/Standalone 설치

개요 2023.03.18 - Apache Hadoop 이란? 에서 간단히 Hadoop에 대해 소개했는데, 이 글에서는 직접 설치해보려고 한다. 테스트 환경이므로 단일 노드, 그리고 기본 모드인 비분산 모드(Standalone)로 설치해보려고 한다. 사용한 서버는 AWS EC2, Ubuntu 20.04 LTS이다. 지원 Java 버전 Hadoop은 Java 기반 오픈소스이기 때문에 Java 설치를 요구한다. Hadoop 버전 별 사용할 수 있는 Java 버전은 아래와 같다. Apache Hadoop 3.3 이상 : Java 8, Java 11 Apache Hadoop 3.0.X ~ 3.2.X : Java 8 Apache Hadoop 2.7.X ~ 3.10.X : Java 7, Java 8 참고 : http..

Hadoop EcoSystem 2023.03.19

Apache Hadoop 이란?

Hadoop High Availability Distributed Object Oriented Platform (고가용성 분산형 객체 지향적 플랫폼) 객체 지향적인 작업을 병렬로 분산시켜 고가용성을 확보를 가능하게 하는 기술 Apache Hadoop은 Java 기반의 오픈 소스로, 간단한 프로그래밍 모듈을 사용해 컴퓨터 클러스터에 대규모 데이터 세트를 분산 저장 및 처리한다. 단일 컴퓨터에서 수천 대의 클러스터까지 확장할 수 있도록 설계되었다. HDFS와 MapReduce 프레임워크로 시작되었으나 현재는 빅데이터 처리 및 분석을 위한 플랫폼 중 표준에 가깝게 발전했다. 구성 요소 Hadoop은 MapReduce, HDFS, YARN, Common Utility로 구성되어 있다. HDFS Hadoop Di..

Hadoop EcoSystem 2023.03.18

서버리스 (Serverless) 란?

Serverless 개발자가 서버를 관리할 필요 없이 애플리케이션을 빌드하고 실행할 수 있도록 하는 클라우드 네이티브 개발 모델 서버리스 모델 역시 물리적 서버가 존재하지만 클라우드 제공 업체(CSP)가 인프라에 대한 프로비저닝, 유지 관리, 스케일링 등의 작업을 처리하여 추상화되어 있다. 온프레미스, IssS 모델 환경에서 개발자/서비스 제공자는 서비스 제공에 필요한 인프라 자원을 사전에 구매하여 준비한 뒤 동작 시키는 과정이 필요했다. 또한 서비스 부하에 따라 인프라 자원을 스케일링하는 것 또한 개발자의 몫이다. 반면 서버리스 모델에서는 인프라 자원을 동적으로 할당하기 때문에 서비스가 대기 상태에 있다가 실제 요청이 들어오면 인프라 자원을 할당하여 서비스를 처리한 뒤 자원을 해제한다. 인프라 자원이 ..

기타 2023.03.17

[AWS] MFA 활성화 사용자로 aws cli 사용

개요 평소 AWS를 사용할 때 MFA 활성화된 계정은 콘솔에서만 사용하고, 서버나 EC2에서 AWS CLI를 사용할 때는 별도의 액세스 키나 IAM Role에 권한을 부여받아 사용해왔다. 다만 테스트 시 MFA 활성화 사용자로 AWS CLI를 사용하는 방법을 알게 되어 직접 적용해보았다. 사용자 생성 1. 사용자 생성 생성한 사용자에게는 간단히 권한을 확인하기 좋은 AmazonS3FullAccess나 AmazonEC2FullAccess 권한을 부여한다. AWS CLI를 사용할 것이기 때문에 액세스 키도 생성한다. 2. 권한 확인 생성한 사용자가 S3 서비스를 이용할 수 있는지 CLI로 확인해본다. aws configure --profile mfa aws s3 ls --profile mfa MFA 인증 요..

AWS 2023.03.16

[AWS] EFS 개념 및 생성/마운트

Amazon Elastic File System AWS에서 제공하는 서버리스 파일 시스템이다. EC2 하나에만 마운트 할 수 있는 EBS와 달리, NFS(Network File System)을 지원하여 여러 서버에서 동시에 접근하여 사용할 수 있다. AWS가 제공하는 NAS라고 생각할 수 있다. 또한 파일 시스템에 저장된 파일의 용량에 따라 자동으로 확장되며, 처리량과 IOPS 또한 자동으로 조절된다. 다만 사용한 용량만큼의 비용이 발생하므로 주의해야 한다. 이 글에서는 EFS를 생성하고 EC2에 마운트해보려고 한다. EFS 생성 1. AWS Console EFS 서비스 이동 파일 시스템 생성 버튼을 클릭한다. 2. 파일 시스템 생성 > 사용자 지정 클릭 서비스 권장 설정으로 EFS를 간단히 생성할 수도..

AWS 2023.03.15