- Hadoop Interview Questions – MapReduce
- Quick Line Count - Hadoop
- Hadoop Programming with Arbitrary Languages word count + hadoop streaming in c/c++/python/shell script
- Nobody ever got fired for using Hadoop on a cluster
- The Improved Job Scheduling Algorithm of Hadoop Platform
- Test
- Streaming
- 피보탈, 아파치재단에 분석엔진·머신러닝 기술 제공
- mapr hadoop training
- Introduction to Big Data and Hadoop for Beginners | Big Data Tutorial Training Video
- balancer
hadoop fs -test -[defsz]- hadoop streaming with jar
- cluster의 모든 local directory에 필요한 파일을 모두 복사하지 않고, library를 hdfs에 올려서 참조
- 필요한 파일을 jar로 묶어 hdfs에 올리고, -archives option으로 참조
- ref
- Specifying the Number of Reducers 당연히 결과는 reducer 개수만큼 출력
- zipimport; local에서는 잘 동작하지만, streaming은 실패함
- Using multiple mapper inputs in one streaming job on hadoop? -input을 원하는 개수만큼 사용
- troubleshooting
- python에서 mapper들의 공통 모듈이 있어서 별도의 file로 만들고(e.g. commons.py)
-files commons.py,mapper[n].py ... -mapper mapper[n].py로 실행했더니 오류가 발생- 아마 path 문제로 mapper.py가 commons.py를 참조하지 못했을 가능성이 매우 크다
- 해결책이 있겠지만, 일단 공통 모듈이 별로 크지 않으면 각 mapper[n].py에 넣어줘서 해결 -_-;;
Container ... is running beyond physical memory limitsyarn.app.mapreduce.am.resource.mb1 > 2mapreduce.reduce.memory.mb1 > 2mapreduce.map.memory.mb1 > 2mapreduce.map.java.opts.max.heap.768 > 1.5mapreduce.reduce.java.opts.max.heap.768 > 1.5yarn.app.mapreduce.am.command-opts-Xmx2048mmapreduce.map.java.opts-Xmx1024mmapreduce.reduce.java.opts-Xmx2048m- ref
- How to change memory in EMR hadoop streaming job
- Hadoop 2.2.0 Streaming Memory Limitation
- Container is running beyond memory limits
- How/Where to set limits to avoid error container running beyond physical memory limits
- [Java 8] Over usage of virtual memory
- Hadoop Yarn memory settings in HDInsight
- Container is running beyond memory limits
- Container is running beyond memory limits
Error: java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 1- local script를 실행시켜서 정상 동작하는지부터 확인
- 예를 들어 다음과 같이 some.jar를 사용하는 경우 jar file name에 -(dash)와 같은 character가 있으면 발생
-
ERROR
hadoop jar /path/to/hadoop-streaming-*.jar -archives "hdfs://namenode/path/to/some-0.1.jar#library" -files [mapper] -input [input] -output [output] -mapper [mapper] -numReduceTasks 0 -
OK
hadoop jar /path/to/hadoop-streaming-*.jar -archives "hdfs://namenode/path/to/some.jar#library" -files [mapper] -input [input] -output [output] -mapper [mapper] -numReduceTasks 0
-
- mapper_a.py에서 other.py의 function foo를 호출하려고 import other; foo(...)을 한 경우. 아마 path 문제일 것으로 짐작
ERROR streaming.StreamJob: Error Launching job : Input path does not exist- hdfs directory와 local directory의 이름이 같은 경우 발생할 때가 있음
- -input/-output에
hdfs://[name node]/path/to/directory처럼 절대 경로를 사용하거나 directory 이름을 unique하게 변경
java.lang.OutOfMemoryError: GC overhead limit exceeded- datanode java option
http://x.y.z.w:port/cmf/services/16/config?q=datanode_java_opts
- datanode java option
- Exit code 143; cannot find path(s) or file(s) in
-filesoption on hdfs - performance problem
- 별로 큰 문제가 아닌데도 성능이 이상하게 느린 경우, 환경 설정 문제일 수 있음
- 문제; 12억 entry의 query count(disk에서 32GB)에서 bigram count를 구하는데, 몇 시간씩 소요
- 원인; 실행하는 서버의 HADOOP_CONF_DIR에 yarn-site.xml이 없어서, yarn resource manager에 적절하게 할당이 되지 않았고, cloudera manager의 애플리케이션 탭에서 워크로드 요약도 볼 수 없었음
- 해결; 실행하는 서버에 환경 설정 문제가 있어, 다른 서버에서 실행하니 resource manager에도 잘 등록되었고, (별다른 tuning 없이) 한 번 실행하는 데 대략 15m 정도 소요
- 별로 큰 문제가 아닌데도 성능이 이상하게 느린 경우, 환경 설정 문제일 수 있음
- python에서 mapper들의 공통 모듈이 있어서 별도의 file로 만들고(e.g. commons.py)
- 7 Tips for Improving MapReduce Performance
- Hadoop Performance Tuning Best Practices
- Sparse matrix computations in MapReduce
- A MapReduce Algorithm for Matrix Multiplication
- Database Access with Apache Hadoop
- mapred-default
- What is the maximum container(s) in a single-node cluster (hadoop)?
- How to sort reducer input values in hadoop
- Secondary sorting flags for Hadoop 0.20.2 streaming
- 쉽게 배우는 하둡 에코 시스템 2.0 (Hadoop ECO system 2.0)
- Spark HDFS Integration
- Module 5: Advanced MapReduce Features
- Hadoop Streaming Made Simple using Joins and Keys with Python
$ cat countries.dat United States|US Canada|CA United Kingdom|UK Italy|IT
$ cat customers.dat Alice Bob|not bad|US Sam Sneed|valued|CA Jon Sneed|valued|CA Arnold Wesise|not so good|UK Henry Bob|not bad|US Yo Yo Ma|not so good|CA Jon York|valued|CA Alex Ball|valued|UK Jim Davis|not so bad|JA
$ cat countries.dat customers.dat | ./smplMapper.py | sort | ./smplReducer.py Canada not so good 1 Canada valued 3 JA - Unkown Country not so bad 1 not bad - Unkown Country ITAlice Bob 1 United Kingdom not so good 1 United Kingdom valued 1 United States not bad 1 ```
- Memory Storage Support in HDFS
- SK텔레콤, Hadoop DW 와 데이터 분석환경 구축사례
- Hadoop NameNode 이중화 시 fencing의 역할
- [ 하둡 인사이드 ] 1. Hadoop RPC
- [ 하둡 인사이드 ] 2. Hadoop Streamming
- [ 하둡 인사이드 ] 3. 하둡과 보안
- 하둡 쉘 스크립트 실행 순서도
- 업그레이드를 부르는 Hadoop 3.0 신규 기능 살펴보기
- Hadoop-3.0과 Erasure Coding 편집증
- 멀티테넌트 Hadoop 클러스터 운영 경험기
- Performance comparison of different file formats and storage engines in the Hadoop ecosystem
- CERN에서 실행한 Apache Avro, Apache Parquet, Apache Kudu, Apache HBase benchmark (공간효율성, 수집속도, Scan속도, Random Access 속도)
- 하둡 에코시스템에서 사용가능한 스토리지 엔진들 (Apache Avro, Apache Parquet, Apache HBase, Apache Kudu)을 비교분석한 기사
- 패턴, 저장 구조 설계에 따라 그 때 그 때 성능이 달라지므로 참고만
- space utilization, ingestion rate, random lookup latency, data scan rates
- A STUDY OF DATA REPRESENTATION IN HADOOP TO OPTIMIZE DATA STORAGE AND SEARCH PERFORMANCE FOR THE ATLAS EVENTINDEX
- A STUDY OF DATA REPRESENTATION IN HADOOP TO OPTIMIZE DATA STORAGE AND SEARCH PERFORMANCE FOR THE ATLAS EVENTINDEX
- parquet와 kudu같은 column store가 빠른 데이터 처리, 빠른 random access와 확장성 있는 데이터 분석을 모두 잘 지원(하지만 Kudu는 update, delete 지원)
- Hadoop cluster os_tuning_v1.0_20170106_mobile
- Hadoop을 이용한 빅데이터 분석 전파교육
- Hadoop에서 FileSystem 객체에 대한 Tip 몇가지
- DB 데이터를 Hadoop에 저장 시 삽질 두가지
- Troubleshooting Hadoop psuedo distributed mode Issues
- Running A MapReduce job on a Psuedo Distributed Mode
- Reducing MapReduce
- MapReduce Architecture and Components
- Reduce
- Configuring Hadoop on Linux(RHEL 7/Cent OS/Fedora 23) Machine
- Hadoop Cluster Architecture and Core Components
- [Architecture and Components of Hadoop](Architecture and Components of Hadoop)
- CAP Theorem in Hadoop
- Hadoop Ecosystem Tutorial
- PART 1: HORTONWORKS THOUGHTS ON BUILDING A SUCCESSFUL STREAMING ANALYTICS PLATFORM
- PART 2 OF HDF BLOG SERIES: A SHARED SCHEMA REGISTRY: WHAT IS IT AND WHY IS IT IMPORTANT?
- Hortonworks 에서 구상하고 있는 스트리밍 분석 플랫폼에서 스트리밍 응용 프로그램 간의 공유 스키마 레지스트리에 대한 필요성을 설명
- 차기 HDF 플랫폼에서 Apache Kafka, Apache Atlas, Apache Ranger, Apache NiFi를 통합하는 자체 스키마 레지스트리를 포함할 예정
- change IP address for cloudera manager
- Change IP address for cloudera manager
- Fastest track to Apache Hadoop and Spark success: using job-scoped clusters on cloud-native architecture
- 클러스터 당 하나의 작업이 Hadoop에 올바른 접근 방식이라는 주장
- Google Cloud에서는 클러스터 시작에 대한 패널티가 2분 미만으로 낮기 때문에 장기 실행 Hadoop 클러스터와 같이 멀티 테넌시를 최적화 할 필요가 없음
- Hadoop and Spark on Docker: Ten Things You Need to Know
- Hadoop, Spark용 배포 도구를 만드는 것이 좋지 않은 10가지 이유
- Introducing S3Guard: S3 Consistency for Apache Hadoop
- S3Guard 개요; S3Guard는 Hadoop S3A 파일 시스템이 메타데이터 저장소를 사용하여 S3에 저장된 데이터에 일관된 뷰를 추가하는 새로운 기능
- Secure Hadoop in Real Time
- Accessing Secure Cluster from Web Applications
- Kerberos constrained delegation를 설정하고 사용하는 방법, Secure Hadoop Cluster에 쿼리를 실행하도록 웹 응용 프로그램을 구성하는 방법에 대해 설명
- cloudera.daumkakao.io
- installation
- Cloudera Korea
- CDH 4.5.0
- Strata NY 2014 - Architectural considerations for Hadoop applications tutorial
- Taming Operations in the Hadoop Ecosystem
- How-to: Install Apache Zeppelin on CDH
- Architectural Patterns for Near Real-Time Data Processing with Apache Hadoop
- How-to: Build a Complex Event Processing App on Apache Spark and Drools
- Cloudera Manager Demo 1: Automated Deployment and Configuration
- How-To: Run a MapReduce Job in CDH4 using Advanced Features
- Autoconfiguration
- Progress Report: Bringing Erasure Coding to Apache Hadoop
- How-to: Build a Real-Time Search System using StreamSets, Apache Kafka, and Cloudera Search
- Replicating Relational Databases with StreamSets Data Collector
- MySQL 데이터베이스의 변경 내용을 스트림으로 캡처하기 위해 StreamSets을 이용
- StreamSets은 JDBC를 이용하여 폴링 기반의 스트림 데이터 캡처가 가능
- 본문에서 MySQL 데이터베이스의 변경 사항을 캡처하고 HDFS/Hive/Impala로 streaming 하는 과정을 설명
- August 2016 HUG: Open Source Big Data Ingest with StreamSets Data Collector
- How-to: Include Third-Party Libraries in Your MapReduce Job
- Ibis Project Blog
- ibis-demo Demo program of Ibis for "Spark + Python + Dita science Festival"
- Ibis: Scaling Python Analytics on Hadoop and Impala
- Ibis
- Python이 Big Data 처리를 하는데 있어 보다 손쉬운 방법을 제공하는 라이브러리
- 2016.07.29 현재 Apache Impala, SQLite, PostgreSQL과의 연결을 지원
- pandas를 처음 설립한 Wes Mckinney가 만든 Python <> Big Data 라이브러리
- Ibis Demo 준비사항
- Impala cluster
- CDH 5.7 with Cloudera Director 2.1
- require port impalad node's 21050 port NN's 50070 port
- table is created with parquet on S3
- Python 3.5 using wheel and virtualenv, don't need conda
- FAQ on Ibis
- PySpark와의 차이점은?
- 쉬운 셋업. DB 연결과 같이 간단
- 속도가 약 10배 이상 빠름
- Ibis + scikit-learn vs Spark + MLlib?
- 데이터 크기에 따라 알맞은 프레임워크 활용
- Netflix의 경우 Spark와 R을 예측 모델 빌딩에 활용. R은 필터링을 마친 나라 또는 지역에 국한된 데이터 모델링시, Spark의 경우는 전체 글로벌 모델 빌딩시 활용
- PySpark와의 차이점은?
- Running Spark 2.x.x on Cloudera Hadoop Distro (CDH)
- YCSB 0.10.0 Now in Cloudera Labs
- imp51.tistory.com/category/Big DATA
- 클라우데라 엔터프라이즈 (Cloudera & Open Source)
- Part 1: Introducing the Cloudera Data Science Workbench
- HDFS Maintenance State
- 새로운 기능 "Maintenace State"
- replication storm을 일으키지 않고 클러스터에서 노드를 일시적으로 제거하는 메커니즘 제공
- 예를 들어 전체 랙을 한 번에 패치하는 경우 유용
- 사용하려면 dfs.hosts 파일로는 충분하지 않아서 JSON 형태의 "maintenance" 파일 필요
- find
- HdfsFindTool
hadoop jar /opt/cloudera/parcels/CDH-5.5.1-1.cdh5.5.1.p0.11/lib/solr/contrib/mr/search-mr-job.jar org.apache.solr.hadoop.HdfsFindTool -find [path] -type f -size 0size 28인 file도 결과에 나왔음
- HdfsFindTool
- webhdfs
- Enabling WebHDFS
- Open and Read a File
curl -L "http://[name node]:50070/webhdfs/v1/path/to/file_name?op=OPEN" > file_name
- Hive Query 의 Hadoop Job Id (YARN) 알아내기
- Hive 메타 및 데이터 플로우 탐색 도구
- 장치에 남은 공간이 없음 에러..
- ULTRA-FAST OLAP ANALYTICS WITH APACHE HIVE AND DRUID – PART 1 OF 3
- Hive-Druid 통합에 대한 정보와 향후 계획
- Druid; 대용량 실시간 분석 시스템
- 특정 질의에 대해 월등한 응답 성능을 보장하지만, 데이터 셋의 많은 부분을 스캔해야 하는 쿼리 또는 조인 미지원
- 이러한 유형의 쿼리의 경우, Apache Hive에서 Druid에 저장된 데이터를 조회 가능
- Ultra-Fast OLAP Analytics With Apache Hive and Druid (Part 1)
- Ultra-Fast OLAP Analytics With Apache Hive and Druid (Part 2)
- BENCHMARK: SUB-SECOND ANALYTICS WITH APACHE HIVE AND DRUID
- Hive 와 Druid로 울트라-빠른 OLAP 분석하기
- reducer에 메모리 할당하기
- Turbocharge your Apache Hive Queries on Amazon EMR using LLAP
- Hive의 LLAP을 사용하여 Hive 쿼리 성능을 향상시키는 방법
- UPDATE HIVE TABLES THE EASY WAY
- Apache Hive의 transaction update 기능, 특히 MERGE 문에 대해 설명
- UPDATE HIVE TABLES THE EASY WAY PART 2
- Hive에서 천천히 변화하는 디맨전을 유지하기 위해 MERGE문을 사용하는 방법 또는 전략에 대해 설명
- Hadoop Tutorial: the new beta Notebook app for Spark & SQL
- Get Started with Hue
- Hadoop Tutorial - Hue: Execute Hive queries and schedule them with Oozie
- Hue 4
- Importing data from traditional databases into HDFS/Hive in just a few clicks
- 최신 버전 HUE에서 Apache Sqoop1을 실행하여 UI를 통해 HDFS와 Hive에 데이터를 가져오는 방법을 설명
- CLOUD DATAPROC - Google Cloud Dataproc is a managed Spark and Hadoop service that is fast, easy to use, and low cost
- 구글, 스파크·하둡 관리 클라우드 서비스 공개
- [Google Cloud Dataproc 사용하기(http://whitechoi.tistory.com/48)
- CloumonELK is a monitoring solution package based on the popular ELK (ElasticSearch, Logstash and Kibana) stack
- CMUX
- Dr. Elephant Self-Serve Performance Tuning for Hadoop and Spark
- Falcon - Simplifying Managing Data Jobs on Hadoop
- Hadoop filesystem at Twitter
- HDFS Shell - a HDFS manipulation tool hbase-shell처럼 HDFS 작업을 할 수 있는 CLI interface
- Snakebite is a python library that provides a pure python HDFS client and a wrapper around Hadoops minicluster
- Spring XD is a unified, distributed, and extensible system for data ingestion, real time analytics, batch processing, and data export
- StreamSets - Performance Management for Data Flows Harness the value of your data in motion with control, efficiency and agility
- Terrapin - Pinterest open-sources Terrapin, a tool for serving data from Hadoop
- 프레스토 소개 (facebook presto)
- Presto, Zeppelin을 이용한 초간단 BI 구축 사례
- Presto, Zeppelin을 이용한 초간단 BI 시스템 구축 사례(1)
- Presto SQL을 이용하여 Kafka topic 데이터 조회하기
- Presto Kafka connector 개선 실패기
- A Guide to Python Frameworks for Hadoop
- Writing an Hadoop MapReduce Program in Python
- Making Python on Apache Hadoop Easier with Anaconda and CDH
- Best Practices for YARN Resource Management
- Tuning the Cluster for MapReduce v2 (YARN)
- 실행해봤지만, i, j, k값에 따른 실행 시간 편차가 별로 크지 않아 어느 값이 최적인지 알 수 없었음
- Yarn Commands
- How to increase the number of containers in nodemanager in YARN
- Hadoop YARN how to determine the number of containers
- Configuring memory for MapReduce running on YARN
- YARN 관련 메모리 설정과 MapReduce 작업에서 메모리를 소모하는 주요 원인 설명
- Apache Hadoop YARN: Yet another resource negotiator
- Untangling Apache Hadoop YARN, Part 5: Using FairScheduler queue properties
- YARN FairScheduler에 대한 내용
- 효과적이이고 지연 시간이 적은 큐 구성과 리소스 할당, ad-hoc 쿼리의 크기 제한에 대한 예제
- PART 5 OF DATA LAKE 3.0: YARN AND CONTAINERIZATION: SUPPORTING DOCKER AND BEYOND
- LinuxContainerExecutor를 통해 Docker 컨테이터를 실행하는 YARN에 대한 이야기
- PART 6 OF DATA LAKE 3.0: A SELF-DIAGNOSING DATA LAKE
- 느린 데이터 노드와 느린 디스크를 감지하기 위해 HDFS에 추가되는 몇 가지 새로운 기능에 대해 소개