hadoop cluster os_tuning_v1.0_20170106_mobile

15
1 Hadoop Cluster Tuning Test SK 주주주주 C&C 주주주

Upload: -

Post on 16-Apr-2017

354 views

Category:

Science


4 download

TRANSCRIPT

Page 1: Hadoop cluster os_tuning_v1.0_20170106_mobile

1

Hadoop Cluster Tuning Test

SK 주식회사 C&C 최상연

Page 2: Hadoop cluster os_tuning_v1.0_20170106_mobile

2

1Test 개요 - (1)- 다양한 용도로 구성된 hadoop Cluster 에 대한 적절한 튜닝이 되고

있는가 ? - 가상화 / cloud / on-premise 등 다양한환경에 대해 적절한 대응이

가능한가 ? - 사업에 적용할 수 있는 표준 Architect 를 보유하고 있는가 ?

for Batch Process

for real-time Process

for analysis Process

Page 3: Hadoop cluster os_tuning_v1.0_20170106_mobile

3

1Test 개요 - (2) - 적절한 설정값은 무엇일까 ? - Hadoop cluster 구성을 위해서는 너무 많은 고려사항- On-site 에 맞는 설정을 하는 것이 현실 Project Locality

: 다양한 환경에 공통적인 기준으로 활용할 수 있는 hadoop Eco / JVM / OS Tuning value 을 찾아내는 것이 중요한

요소

Page 4: Hadoop cluster os_tuning_v1.0_20170106_mobile

4

2Test 환경(1) Test senario

- 사내 Cloud 로 구성 - Public 및 Private 망으로 분리 구성- HDP 2.5.0 & Ambari 2.5

Node OS CPU Mem Disk

5 대 CentOs 6.8 2P 24Core 64GB 2T x 4

Test Server ( Summary)

Page 5: Hadoop cluster os_tuning_v1.0_20170106_mobile

5

2Test 환경 (2) Test senario

- TPC Query 활용 ( www.tpc.org )

TPC 트랜잭션 처리 성능평가 위원회 (Transaction Processing performance Council) 에서 발표한 벤치마크 모델

Page 6: Hadoop cluster os_tuning_v1.0_20170106_mobile

6

3Benchmark Test (1) JVM ( 1.8_111 vs 1.7_121 vs 1.7_79 )

- Data : TPC-DS 100GB - Hive 1.2

Result • 전체적으로는 JVM 1.8 의 경우가 5~8% 정도 성능 향상을 보임 • JRE 1.7.79 vs 1.7.121 의 차이는 어느정도 존재하지만 결과로 신빙성이 느껴지지 않음• 기존 JVM 에 대한 version 상승으로도 어느 정도 성능향상에 기여 할 것으로 기대

Page 7: Hadoop cluster os_tuning_v1.0_20170106_mobile

7

3Benchmark Test (2) OS tuning - CentOs 6.8 기준 - disk / Memory / network 등의 Tung-

ing Point

Page 8: Hadoop cluster os_tuning_v1.0_20170106_mobile

8

3Benchmark Test (2) OS tuning

- Data : TPC-DS 1.5 TB - Hive 1.2

Result • OS tuning 전과 대비 30~40% 정도 개선된 효과를 보임 • TPC-DS 쿼리 대부분이 JOIN-SELECT 이기 때문에 Disk Write 부분이 별도로 필요해 보임 •  OS Property 중에서도 Disk 관련 Property 에 영향을 많이 받지 않았나 생각함• 30 초이내의 쿼리는 별 차이가 없었음 --> 즉 Disk I/O 가 많은 대용량 작업에 영향을 줌

Page 9: Hadoop cluster os_tuning_v1.0_20170106_mobile

9

3Benchmark Test (3) hive vs Spark 1.6.2 vs Spark 2.0.0

- Data : TPC-DS 1.5 TB - OS Tuned

Result • Spark 1.6.2 의 경우 쿼리 지원 수준이 떨어져 수행되지 않는 쿼리가 많음• 대부분 Spark SQL 2.0.0 의 성능이 안정적이며 개선된 부분을 보여줌• 상용 Query 지원 수준 / Data validation / Join 안정성은 검증이 필요 • DW 쿼리 검증 필요 TPC-H   

Page 10: Hadoop cluster os_tuning_v1.0_20170106_mobile

10

3Benchmark Test (4) hive vs Spark 1.6.2 vs Spark 2.0.0

- Data : TPC-H 700 GB - OS Tuned

Result • spark 1.6.2 의 경우 불안정한 성능 spark shuffle 관련하여 MapOutputTrackerMaster 에서의 bottle neck 현상이 보임 • Spark SQL 2.0.0 에서 안정적인 성능

Page 11: Hadoop cluster os_tuning_v1.0_20170106_mobile

11

4Summary OS tuning + Spark 2.0.0 도입

- Data : TPC-DS 1.5TB

Result • OS tuning 만으로도 상당한 효과를 보임 • Spark 2.0 은 DataSet 으로 쿼리 지원 및 성능상에 많은 이점을 보여줌 TPC-DS ( OLTP ) 및 TPC-H ( DW ) 모두 안정적인 성능을 보여줌• OS + Spark 2.0 도입으로 Total 수행 시간 기준 , 50% 이상의 Performance 향상을 보여줌

Page 12: Hadoop cluster os_tuning_v1.0_20170106_mobile

12

4Summary 추가 고려요소

(1) Streaming Performance : DW 성 데이터 처리로 이루어진 테스트와 더불어 Streaming Test 도 병행되어야 할 듯

(2) HDFS Trouble Shooting : Hbase 나 Spark Streaming 과 같은 서비스를 활용할 시 , HDFS 구성에 따라 성능 및 에러를 보이는 경우가 많음 : Disk 성능을 높이기 위한 Tuning 요소와 맞물려 Side effect 를 발생시킬 수 도 있다 .

(3) Network Topology : Bonding / Rack Awareness 등 추가 물리적인 구성을 고려할 필요가 있음 : 테스트는 Cloud 환경에서 진행된 것이라 on-premises 환경과 비교가 좀 더 필요함

(4) yarn 활용 : hive 및 Spark SQL 은 Architecture 활용성을 고려하여 Yarn-client 로 수행함 : spark 활용에 있어 yarn 구성 및 기타 다른 구성을 고려하여 운영성 표준을 재고할 필요가 있음

Page 13: Hadoop cluster os_tuning_v1.0_20170106_mobile

13

Backup (1) Spark SQL 2.0 Query 지원 강화 TPC-DS 전 쿼리 지원

http://spark.apache.org/releases/spark-release-2-0-0.html

Page 14: Hadoop cluster os_tuning_v1.0_20170106_mobile

14

Backup (2) Spark dataset 성능이나 활용측면에서 강화 Spark 1.6 에 소개 2.0 에 강화 , 기존 코디방식에서 변경이 필요함

https://databricks.com/blog/2016/01/04/introducing-apache-spark-datasets.html

Page 15: Hadoop cluster os_tuning_v1.0_20170106_mobile

15

EOF