컴포넌트 목록
Hadoop Eco 서비스에서 클러스터에 설치된 컴포넌트를 사용하는 방법은 다음과 같습니다.
Hive
Hive CLI를 실행한 후, 쿼리를 입력합니다.
$ hive
hive (default)> CREATE TABLE tbl (
> col1 STRING
> ) STORED AS ORC
> TBLPROPERTIES ("orc.compress"="SNAPPY");
OK
Time taken: 1.886 seconds
Hive - Zeppelin 연동하기
-
Zeppelin이 설치된 마스터 노드에 public ip를 부착한 후 Zeppelin ui에 접속합니다.
Zeppelin 접근 방법은 Zeppelin을 참고하시기 바랍니다. -
Zeppelin에서 Hive 실행 방법
- 상단의 메뉴에서 Notebook > Create new note 를 클릭하여 나타나는 팝업에서 hive Interpreter 를 선택합니다.
- Zeppelin notebook에 아래와 같이 입력하여 실행할 수 있습니다.
Trino-Zeppelin 쿼리 결과 확인
Beeline
-
Beeline CLI를 실행합니다.
-
HiveServer2에 직접 접근과 Zookeeper를 이용한 접근 중 선택하여 HiveServer2에 접속합니다.
- HiveServer2에 직접 접근
- Zookeeper를 이용한 접근
!connect jdbc:hive2://[서버명]:10000/default;
!connect jdbc:hive2://[마스터 1]:2181,[마스터 2]:2181,[마스터3]:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=kepbp_hiveserver2
-
쿼리를 입력합니다.
-
쿼리를 실행하기 전 접근 사용자명을 정확하게 입력하여야 합니다. Hadoop Eco의 기본 사용자는 Ubuntu입니다.
-
HDFS에 접근할 수 없는 사용자로 실행한 경우, 쿼리 실행 시 오류가 발생할 수 있습니다.
Beeline CLI를 이용한 쿼리 실행######################################
# hiveserver2 직접 접근
######################################
beeline> !connect jdbc:hive2://10.182.50.137:10000/default;
Connecting to jdbc:hive2://10.182.50.137:10000/default;
Enter username for jdbc:hive2://10.182.50.137:10000/default:
Enter password for jdbc:hive2://10.182.50.137:10000/default:
Connected to: Apache Hive (version 2.3.2)
Driver: Hive JDBC (version 2.3.2)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://10.182.50.137:10000/default> show databases;
+----------------+
| database_name |
+----------------+
| db_1 |
| default |
+----------------+
2 rows selected (0.198 seconds)
#####################################
# 주키퍼를 이용한 접근
#####################################
beeline> !connect jdbc:hive2://hadoopmst-hadoop-ha-1:2181,hadoopmst-hadoop-ha-2:2181,hadoopmst-hadoop-ha-3:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=kepbp_hiveserver2
Connecting to jdbc:hive2://hadoopmst-hadoop-ha-1:2181,hadoopmst-hadoop-ha-2:2181,hadoopmst-hadoop-ha-3:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=kepbp_hiveserver2
Enter username for jdbc:hive2://hadoopmst-hadoop-ha-1:2181,hadoopmst-hadoop-ha-2:2181,hadoopmst-hadoop-ha-3:2181/:
Enter password for jdbc:hive2://hadoopmst-hadoop-ha-1:2181,hadoopmst-hadoop-ha-2:2181,hadoopmst-hadoop-ha-3:2181/:
22/09/06 05:40:52 [main]: INFO jdbc.HiveConnection: Connected to hadoopmst-hadoop-ha-1:10000
Connected to: Apache Hive (version 2.3.9)
Driver: Hive JDBC (version 2.3.9)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://hadoopmst-hadoop-ha-1:2181,ha> show databases;
+----------------+
| database_name |
+----------------+
| default |
+----------------+
1 row selected (2.164 seconds)
0: jdbc:hive2://hadoopmst-hadoop-ha-1:2181,ha>
#####################################
# 사용자 입력 (Enter username: )
#####################################
beeline> !connect jdbc:hive2://bigdata-hadoop-master-1.kep.k9d.in:10000/default;
Connecting to jdbc:hive2://bigdata-hadoop-master-1.kep.k9d.in:10000/default;
Enter username for jdbc:hive2://bigdata-hadoop-master-1.kep.k9d.in:10000/default: ubuntu
Enter password for jdbc:hive2://bigdata-hadoop-master-1.kep.k9d.in:10000/default:
Connected to: Apache Hive (version 2.3.9)
Driver: Hive JDBC (version 2.3.9)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://bigdata-hadoop-master-1.kep.k> create table t2 (`value` string,`product_num` int) partitioned by (manufacture_date string) STORED AS ORC;
No rows affected (0.527 seconds)
0: jdbc:hive2://bigdata-hadoop-master-1.kep.k> insert into t2 partition(manufacture_date='2019-01-01') values('asdf', '123');
No rows affected (26.56 seconds)
0: jdbc:hive2://bigdata-hadoop-master-1.kep.k>
-
Hue
Hue는 Hadoop Eco 클러스터에 제공되는 사용자 인터페이스입니다.
클러스터 상세 페이지에서 퀵 링크를 클릭하여 접속합니다. 클러스터 생성 시점에 입력한 관리자 정보로 로그인합니다.
Hue는 Hive 편집기와 브라우저를 이용할 수 있습니다.
- 브라우저 종류: 파일 브라우저, 테이블 브라우저, 잡 브라우저
클러스터 타입별 Hue 접속 포트
클러스터 가용성 | 접속 포트 |
---|---|
표준(Single) | 마스터 1번 노드의 8888 포트 |
HA | 마스터 3번 노드의 8888 포트 |
Hue 사용자 로그인
Oozie
Oozie는 Hadoop Eco 클러스터의 타입이 Core Hadoop일 때 제공되는 워크플로(Workflow) 작업 도구입니다.
클러스터 타입별 Oozie 접속 포트
클러스터 가용성 | 접속 포트 |
---|---|
표준(Single) | 마스터 1번 노드의 11000 포트 |
HA | 마스터 3번 노드의 11000 포트 |
Oozie 워크플로 목록
Oozie 워크플로 작업 정보
Oozie 워크플로 작업 내용
Zeppelin
Zeppelin은 Hadoop Eco 클러스터 타입이 Core Hadoop
, Trino
일 때 제공되는 사용자 인터페이스입니다.
클러스터 상세 페이지에서 퀵 링크를 클릭하여 Zeppelin에 접속합니다.
클러스터 고가용성에 따른 Zeppelin 접속 포트
클러스터 고가용성 | 접속 포트 |
---|---|
표준(Single) | 마스터 1번 노드의 8180 포트 |
HA | 마 스터 3번 노드의 8180 포트 |
Zeppelin 사용자 인터페이스
인터프리터
인터프리터는 프로그래밍 언어 소스 코드를 바로 실행하는 환경을 의미합니다.
Zeppelin은 Spark, Hive, Trino 인터프리터를 제공합니다.
Zeppelin 사용
Spark
-
마스터 노드에서 spark-shell CLI를 실행한 후 테스트 코드를 입력합니다.
spark-shell CLI를 이용한 쿼리 실행Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 3.2.2
/_/
Using Scala version 2.12.15 (OpenJDK 64-Bit Server VM, Java 1.8.0_262)
Type in expressions to have them evaluated.
Type :help for more information.
scala> val count = sc.parallelize(1 to 90000000).filter { _ =>
| val x = math.random
| val y = math.random
| x*x + y*y < 1
| }.count()
count: Long = 70691442 -
마스터 노드에서 spark-submit 명령어로 Spark 예제 파일을 실행합니다.
$ spark-submit --class org.apache.spark.examples.SparkPi --master yarn /opt/spark/examples/jars/spark-examples_*.jar 100
Spark History Server 접속하기
-
클러스터의 고가용성에 따라 마스터 노드에 public ip를 부착한 후 spark history server에 접근할 수 있습니다.
클러스터 고가용성 접속 포트 표준(Single) 마스터 1번 노드의 18082 포트 HA 마스터 3번 노드의 18082 포트 -
History Server에서 정보를 확인합니다.
수정필요수정필요 화면
Spark - Zeppelin 연동하기
-
Zeppelin이 설치된 마스터 노드에 public ip를 부착한 후 Zeppelin ui에 접속합니다.
Zeppelin 접근 방법은 Zeppelin을 참고하시기 바랍니다. -
Zeppelin에서 spark-shell 실행 방법
- 상단의 메뉴에서 Notebook > Create new note 를 클릭하여 나타나는 팝업에서 spark Interpreter 를 선택합니다.
- Zeppelin notebook에 아래와 같이 입력하여 실행할 수 있습니다.
Trino-Zeppelin 쿼리 결과 확인
-
Zeppelin에서 pyspark 실행 방법
- 상단의 메뉴에서 Notebook > Create new note 를 클릭하여 나타나는 팝업에서 spark Interpreter 를 선택합니다.
- Zeppelin notebook에 다음과 같이 입력하여 실행할 수 있습니다.
Trino-Zeppelin 쿼리 결과 확인
-
Zeppelin에서 Spark-submit 실행 방법
- 상단의 메뉴에서 Notebook > Create new note 를 클릭하여 나타나는 팝업에서 spark Interpreter 를 선택합니다.
- Zeppelin notebook에 다음과 같이 입력하여 실행할 수 있습니다.
Trino-Zeppelin 쿼리 결과 확인
Tez
Tez는 Yarn 기반으로 Hive에서 MR 엔진을 대체하여 데이터의 분산처리를 수행하는 컴포넌트입니다.
Tez 에서 제공하는 Web UI를 통해 Tez 애플리케이션의 정보를 확인할 수 있습니다.
-
Tez Web UI에 접근하기 위해서는 클러스터 고가용성에 따라 마스터 1번 혹은 3번 노드에 public ip를 부탁해야합니다.
-
이후 사용자의 /etc/hosts 파일에 마스터 1번 혹은 3번 노드의 호스트명과 public ip 정보를 추가해주어야 합니다.
모든 설정이 끝나면 다음과 같이 접근할 수 있습니다.클러스터 고가용성 접속 포트 표준(Single) 마스터 1번 노드의 9999 포트 HA 마스터 3번 노드의 9999 포트 Trino-Zeppelin 쿼리 결과 확인
Trino
-
Trino CLI를 실행합니다. 서버 정보는 Trino Coordinator가 설치된 위치를 입력합니다.
클러스터 가용성 접속 포트 표준(Single) 마스터 1번 노드의 8780 포트 HA 마스터 3번 노드의 8780 포트 -
쿼리를 입력합니다.
Trino CLI를 이용한 쿼리 실행$ trino --server http://hadoopmst-trino-ha-3:8780
trino> SHOW CATALOGS;
Catalog
---------
hive
system
(2 rows)
Query 20220701_064104_00014_9rp8f, FINISHED, 2 nodes
Splits: 12 total, 12 done (100.00%)
0.23 [0 rows, 0B] [0 rows/s, 0B/s]
trino> SHOW SCHEMAS FROM hive;
Schema
--------------------
default
information_schema
(2 rows)
Query 20220701_064108_00015_9rp8f, FINISHED, 3 nodes
Splits: 12 total, 12 done (100.00%)
0.23 [2 rows, 35B] [8 rows/s, 155B/s]
trino> select * from hive.default.t1;
col1
------
a
b
c
(3 rows)
Query 20220701_064113_00016_9rp8f, FINISHED, 1 node
Splits: 5 total, 5 done (100.00%)
0.23 [3 rows, 16B] [13 rows/s, 71B/s]