스파크 작업을 실행하는 중에 기본 압축 코덱의 라이브러리가 없을 때 다음 오류가 발생합니다. Job aborted due to stage failure: Task 2 in stage 0.0 failed 4 times, most recent failure: Lost task 2.3 in stage 0.0 (TID 10, hadoop-worker-1.com, executor 2): java.lang.NoSuchMethodError: net.jpountz.lz4.LZ4BlockInputStream.(Ljava/io/InputStream;Z)V at org.apache.spark.io.LZ4CompressionCodec.compressedInputStream(CompressionCodec.scala:122) a..
우지 워크플로우, 코디네이터, 번들 예제입니다. 실행을 위한 명령어는 다음과 같습니다. oozie job -run -Doozie.wf.application.path=hdfs:///workflow_example oozie job -run -Doozie.coord.application.path=hdfs:///workflow_example oozie job -run -Doozie.bundle.application.path=hdfs:///workflow_example

우지 스파크 액션에서 pyspark를 실행할 때 Missing py4j and/or pyspark zip files. Please add them to the lib folder or to the Spark sharelib 오류가 발생하는 경우가 있습니다. 해결 방법 우지의 sharelib 에 파이썬 라이브러리가 없어서 발생하기 때문에 우지의 spark sharelib에 스파크 파이썬 라이브러리를 추가하면 됩니다. # 스파크 홈 $ cd ${SPARK_HOME}/python/lib # 조회 $ ls -alh total 636 drwxr-xr-x 2 deploy deploy 4096 May 30 2020 ./ drwxr-xr-x 7 deploy deploy 4096 May 30 2020 ../ -rw-r-..

우지 스파크 액션에 리소스 매니저를 찾지 못하는 경우는 스파크의 리소스 매니저 기본 설정값을 추가하면 됩니다. 오류 내용 Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 0 times(s). spark-defaults.conf 설정 추가 spark-defaults.conf에 다음 내용을 추가합니다. spark.hadoop.yarn.resourcemanager.address host-name:8050
df로 용량을 확인할 때는 사용량이 많은데 du로 확인할 때는 용량이 남는 경우가 있습니다. 이럴때는 lsof | grep delted 명령으로 사용중인 파일중 삭제할 스왑파일을 찾아보면 다음과 같이 VI 프로세스가 남아서 스왑파일이 남는 파일을 삭제 해주면 됩니다. # df로 확인할 때는 사용량이 291G 사용 $ df -h Filesystem Size Used Avail Use% Mounted on udev 7.8G 0 7.8G 0% /dev tmpfs 1.6G 7.3M 1.6G 1% /run /dev/sda2 440G 291G 132G 69% / tmpfs 7.8G 64K 7.8G 1% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 7.8G 0 7.8G 0% /s..
우지 스파크 액션에서 SparkMain not found 오류가 발생할때는 oozie.use.system.libpath 를 true로 설정하면 된다. Failing Oozie Launcher, java.lang.ClassNotFoundException: Class org.apache.oozie.action.hadoop.SparkMain not found java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.oozie.action.hadoop.SparkMain not found at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2425) at org..
ubuntu의 클라우드 이미지를 사용할 때 환경에 따라서 apt 사용시 락(lock)이 걸려서 사용을 하지 못하는 경우가 있습니다. 이 경우 원인은 다른 프로세스에서 apt를 사용하고 있을 때 발생합니다. 여러 가지 원인이 있을 수 있는데 저 같은 경우에는 사용하는 네트워크 환경에서 apt의 기본 리파지토리에 접근할 수 없어서 발생하였습니다. 기본 리파지토리에 접근이 안되는데 apt-daily.service 가 실행되어 다른 패키지를 설치 할 수 없는 문제가 발생하였습니다. 해결 방법 - apt-daily.service 종료 이 문제를 해결하는 방법은 apt-daily.service를 종료하고, /etc/apt/sources.list 파일을 교체 후 다시 실행하는 것입니다. https://unix.sta..
에어플로우는 웹서버, 스케줄러, 익스큐터, 메세지 큐로 구성할 수 있습니다. 웹서버, 스케줄러는 에어플로우를 설치하면 되고, 익스큐터는 로컬 익스큐터, 셀러리 익스큐터는 에어플로우를 설치하면 구성되고, 쿠버네티스 익스큐터는 따로 설정해야 합니다. 그리고 여러개의 익스큐터와 스케줄러의 통신을 위해서 메시지 큐를 설치할 수 있습니다. 또한 익스큐터간 데이터 저장을 위한 DB 도 필요합니다. 따라서 에어플로우 하나를 사용하기 위해서는 다음의 5개 컴포넌트가 필요합니다. (시퀀셜 익스큐터를 이용하는 경우 sqlite를 이용해서 웹서버, 스케줄러, 익스큐터 만 있으면 됩니다.) 여기서는 셀러리 익스큐터를 이용하는 방법을 알아보겠습니다. 웹서버 스케줄러 익스큐터 시퀀셜 익스큐터 셀러리 익스큐터 메세지큐 레디스 Ra..
오픈스택 VM 생성 중에 이런 오류가 발생해서 VM 생성이 안되는 경우 서버의 오류 메세지를 확인하여 원인을 확인할 수 있습니다. 아래의 "No valid host was found. There are not enough hosts available" 경우 VM을 생성할 수 있는 자원이 부족하여 발생하였습니다. 에러의 원인을 파악하여 문제를 해결후 VM을 다시 생성하면 됩니다. $ openstack server show [VM ID] +-----------------------------+--------------------------------------------------------------------------------------------------------------------------..
hive 2.3 버전은 log4j 2.6 버전을 이용하기 때문에 CVE-2021-44228 취약점을 제거해야 합니다. 취약점 https://www.popit.kr/log4j-%EB%B3%B4%EC%95%88-%EC%B7%A8%EC%95%BD%EC%A0%90-%EB%8F%99%EC%9E%91%EC%9B%90%EB%A6%AC-%EB%B0%8F-jenkins-%EC%84%9C%EB%B2%84-%ED%99%95%EC%9D%B8-%EB%B0%A9%EB%B2%95/?fbclid=IwAR0CBgT0ZP6eLCLpPKET7KfXX3av4NGQ37io5g2Wkj4yepI07wtsEliP-Eg log4j 보안 취약점 동작원리 및 jenkins 서버 확인 방법 | Popit 최근 log4j의 보안 취약점이 크게 이슈가 되고..
자바를 CLI 로 실행할 때 클래스패스가 많을 때는 파일로 하나씩 추가하는 것보다 디렉토리로 설정하는 것이 더 편합니다. 이때는 디렉토리 경로를 추가해줄 수 있습니다. # 파일 단위로 클래스 패스 추가 java -classpath .:/opt/hbase/lib/hadoop-common-2.7.4.jar:/opt/hbase/lib/hbase-common-1.4.13.jar:/opt/hbase/lib/hbase-client-1.4.13.jar:/opt/hbase/lib/commons-logging-1.2.jar:/opt/hbase/lib/guava-12.0.1.jar:/opt/hbase/lib/commons-collections-3.2.2.jar:/opt/hbase/lib/protobuf-java-2.5.0..
자바를 CLI 로 컴파일 하고 실행할 대 이런 오류를 볼 경우가 있습니다. 다양한 원인이 있을 수 있는데 저의 경우는 컴파일할 때 지정한 패키지 경로에 클래스 파일이 존재하지 않아서 였습니다. 자바를 컴파일 할 때 패키지가 지정되어 있다면 디렉토리 구조와 자바에 선언된 패키지가 일치해야 합니다. # 컴파일 $ javac -classpath "/opt/hbase/lib/*:." HBaseExample.java # 실행 $ java -classpath "/opt/hbase/lib/*:." HBaseExample

AWS EMR은 클러스터 생성 시점에 하둡 클러스터의 설정을 변경할 수 있습니다. hdfs-site.xml, core-site.xml의 설정을 json 형태로 전달하여 클러스터 생성 시점에 설정을 변경할 수 있습니다. https://docs.aws.amazon.com/ko_kr/emr/latest/ReleaseGuide/emr-configure-apps.html 애플리케이션 구성 - Amazon EMR Amazon EMR API 설명 및 나열 작업은 Amazon EMR 작업 흐름의 일부로 사용되는 사용자 지정 및 구성 가능한 설정을 내보내며 이 설정은 일반 텍스트로 표시됩니다. 이러한 설정에 암호와 같은 민감한 정 docs.aws.amazon.com 설정 변경 방법 클러스터 생성 시점에 "고급 옵션"으로..
에어플로우 설치중 mysql 5.x 버전을 이용할 때 다음과 같은 오류가 발생하는 경우가 있습니다. File "/home/deploy/.local/lib/python3.6/site-packages/alembic/runtime/migration.py", line 560, in run_migrations step.migration_fn(**kw) File "/home/deploy/.local/lib/python3.6/site-packages/airflow/migrations/versions/0e2a74e0fc9f_add_time_zone_awareness.py", line 44, in upgrade raise Exception("Global variable explicit_defaults_for_timest..
에어플로우에서 파이썬 오퍼레이터를 이용할 때 이런 오류가 발생하는 경우가 있습니다. [2021-11-25 09:49:49,343] {taskinstance.py:1150} ERROR - func() got an unexpected keyword argument 'conf' Traceback (most recent call last): File "/home/deploy/.local/lib/python3.6/site-packages/airflow/models/taskinstance.py", line 984, in _run_raw_task result = task_copy.execute(context=context) File "/home/deploy/.local/lib/python3.6/site-package..
에어플로우 BashOperator 에서 템플릿을 사용하지 않는데, TelplateNotFound 오류가 발생하는 경우가 있습니다. 이 경우 스크립트 뒤에 공백을 추가하면 됩니다. [2021-11-17 18:14:21,099] {taskinstance.py:1150} ERROR - /home/user/sample.sh Traceback (most recent call last): File "/home/deploy/.local/lib/python3.6/site-packages/airflow/models/taskinstance.py", line 965, in _run_raw_task self.render_templates(context=context) File "/home/deploy/.local/lib/py..
휴에서 사용자를 LDAP 서버와 연동하여 조회할 수 있습니다. 공식 문서를 참고하면 더 좋습니다. https://docs.gethue.com/administrator/configuration/server/#ldap Server :: Hue SQL Assistant Documentation Server This section is about configuring the Hue server itself. These configuration variables are under the [desktop] section in the conf/hue.ini configuration file. Basics Point to MySQL or Postgres Directly below the [[database]] line..
하둡 타임라인서버 실행 중 다음과 같은 오류가 발생하였다. leveldb 라이브러리를 찾을 수 없다고 하는데, jar 파일이 기본 경로에 들어 있기 때문에 문제가 될 것이 없어 보이는데 오류가 계속 발생하였다. 2021-11-15 08:09:34,187 ERROR org.apache.hadoop.yarn.server.applicationhistoryservice.ApplicationHistoryServer: Error starting ApplicationHistoryServer java.lang.UnsatisfiedLinkError: Could not load library. Reasons: [no leveldbjni64-1.8 in java.library.path, no leveldbjni-1.8 in..
에어플로우 기본 설정은 REST API 로 접속하면 거부하게 설정이 되어 있습니다. airflow.cfg 설정의 REST API 접근 오류 # 명령어로 현재 설정 상태 확인 $ airflow config get-value api auth_backend airflow.api.auth.backend.deny_all # airflow.cfg의 설정 확인 auth_backend = airflow.api.auth.backend.deny_all # rest api 호출시 오류 $ curl http://0.0.0.0:8080/api/v1/dags/example/dagRuns { "detail": null, "status": 401, "title": "Unauthorized", "type": "https://airfl..
mysql 8.x나 5.x에서 데이터베이스 접속 암호를 암호화 처리 하는 경우 다음과 같은 오류가 발생할 수 있습니다. 이럴 때는 데이터베이스 커넥션 스트링에 옵션을 추가하여 문제를 해결할 수 있습니다. 오류 : Public Key Retrieval is not allowed $ /opt/hive/bin/schematool -dbType mysql -initSchema Metastore connection URL: jdbc:mysql://xxx.xx:3306/db_name?useSSL=false Metastore Connection Driver : com.mysql.cj.jdbc.Driver Metastore connection User: sha256_user org.apache.hadoop.hive.m..
휴 데이터베이스를 마이그레이션 하는 중에 다음의 오류가 발생하는 경우가 있습니다. 이때는 mysql 라이브러리를 설치 해주면 됩니다. 방법1: pymysql 라이브러리 설치 첫 번째 방법은 파이썬용 pymysql 라이브러리를 설치 하는 것입니다. 설치 방법은 다음과 같습니다. pip install pymysql 방법2: mysql lib 설치 첫 번째 방법을 이용하여 라이브러리를 설치 하는 중 오류가 발생할 수 있습니다. 이때는 mysql 라이브러리를 설치 하면 됩니다. TypeError: 'encoding' is an invalid keyword argument for this function
알루시오(alluxio)는 인메모리 분산 스토리지 시스템 입니다. 알루시오는 여러 종류의 저장 시스템을 하나의 시스템인 것 처럼 이용할 수 있게 해줍니다. 예를 들어 하이브에서 테이블을 만들때 다음과 같이 로케이션을 주고 테이블을 생성하고, 알루시오는 해당 위치에 HDFS, S3, GS, Azure, HBase 등을 마운트해서 사용할 수 있습니다. CREATE TABLE u_user ( userid INT, age INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' LOCATION 'alluxio://master:port/table_data'; 즉, 알루시오는 논리적인 저장장소의 위치를 제공하고, 실제 데이터가 저장된 물리적인 저장 위치는 다양하게 연동할 수 있게 ..
프레스토 설치 방법을 알아보겠습니다. 프레스토를 다운로드 하고 압축을 해제합니다. 프레스토의 설정 3가지를 {프레스토홈}/etc 에 설정합니다. jvm.config config.properties node.properties 커넥터를 설정합니다. {프레스토홈}/etc/catalog 에 하이브 연동을 위한 카탈로그를 설정합니다. hive.properties 하이브에 하둡 관련 설정을 전달하기 위한 설정 파일을 생성합니다. hive.properties 파일에 hdfs-site.xml, core-site.xml 파일 위치를 지정합니다. 설정 파일 카탈로그 설정 파일 실행 확인 카탈로그까지 설정 후 프레스토 CLI를 실행하고 데이터를 확인할 수 있습니다.
- Total
- Today
- Yesterday
- oozie
- mysql
- 백준
- ubuntu
- 알고리즘
- Linux
- hbase
- 하이브
- bash
- Python
- yarn
- 오류
- S3
- build
- Tez
- java
- Hadoop
- SQL
- AWS
- nodejs
- airflow
- 다이나믹
- 정올
- emr
- SPARK
- error
- 하둡
- HDFS
- 파이썬
- HIVE
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |