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를 실행하고 데이터를 확인할 수 있습니다.

아문센은 데이터 카탈로그 플랫폼의 하나로 사내 데이터 확인을 위한 플랫폼 입니다. 사내 여러곳에 저장되어 있는 데이터 위치를 모아서 보여주고, 추천해 주는 시스템입니다. https://www.amundsen.io/amundsen/installation/ Quick Start - Amundsen Installation Bootstrap a default version of Amundsen using Docker The following instructions are for setting up a version of Amundsen using Docker. Make sure you have at least 3GB available to docker. Install docker and docker-comp..

아파치 아틀라스는 데이터 카탈로그 플랫폼으로 사내의 데이터를 모아서 보여주는 역할을 합니다. 데이터가 작을 때는 사용자가 데이터의 위치를 기억하고 사용하는 것이 가능하지만, 데이터가 커지고 데이터를 수집하는 주체가 늘어나면 모든 데이터르 기억하고 이용하는 것이 불가능해지며, 여기 저기 데이터가 난립하게 됩니다. 이럴 때 필요한 것이 데이터 카탈로그(Data Catalog)입니다. 사내 hive, hbase, hdfs, sqoop 등에 저장된 데이터를 한 곳에 모아서 데이터의 계보, 칼럼의 정보등을 보여줍니다.이를 제공하는 것이 아틀라스입니다. 아틀라스 빌드 아틀라스는 인텔리j를 이용하여 편리하게 빌드할 수 있습니다. 아틀라스 소스 코드를 다운로드 git 등에서 소스코드를 다운로드 합니다. 저는 atlas..
커버로스 적용 된 HBase 에서 다음과 같은 오류가 발생하는 경우가 있습니다. 이 오류는 hbase-site.xml의 hbase.rpc.protection 설정이 다를때 발생할 수 있습니다. hbase는 authentication으로 설정되고, 사용자는 privacy 설정오르 접근 할 때 발생할 수 있습니다. 즉 서버의 hbase.rpc.protection 설정과 클라이언트의 hbase.rpc.protection 설정을 동일하게 해주면 됩니다. hbase.rpc.protection authentication 채널이 암호화되고 인증, 무결성 및 개인 정보 보호 기능이 활성화됩니다 integrity 채널이 암호화되지 않고 인증 및 무결성 기능만 활성화됩니다. privacy 채널이 암호화되지 않고 패킷만 인..

아파치 레인저는 하둡 에코 시스템의 각종 컴포넌트의 오딧을 처리하고, 권한 관리를 위한 역할을 처리합니다. 레인저를 빌드하고, 실행하는 방법을 알아보겠습니다. 레인저 빌드 intellij에서 레인저를 빌드하는 방법은 다음과 같습니다. 레인저 소스를 다운로드 한다. File > New > Project From Existing Source 로 소스를 임포트 소스 코드를 모두 로드 할 때 까지 대기 한다. 메이븐 탭의 Skip Tests Mode 를 켜고, package를 진행한다. ranger > Lifecycle > package 를 클릭. 라이브러리 다운로드로 인해서 중간에 오류가 발생할 수 있어서, 라이브러리 다운로드 상태를 잘 보아야 한다. 모든 빌드가 종료되면 target 폴더에 tar.gz 파일..
hbase를 운영하면서 call queue is full on 오류가 발생하는 경우가 있습니다. 이 오류가 발생하면 리전서버의 핸들러 개수를 늘리거나, callqueue factor를 조절하여 문제를 해결할 수 있습니다. hbase-site.xml 설정 hbase.regionserver.handler.count 리전서버의 데이터 처리를 위해 생성하는 스레드 수 스레드는 CPU의 2배로 설정하는 것이 적당 함 hbase.ipc.server.callqueue.handler.factor callqueue를 사용하는 핸들러들이 몇개의 큐를 사용할 지 선언 0은 모든 핸들러가 큐를 공유 1은 핸들러에 큐가 따로 있음 0.5는 2개의 핸들러가 큐를 공유( 1개 큐 / 2개 핸들러)
hbase 2.3.5를 설정하면서 실행에는 문제가 없지만 다음과 같은 경고가 출력되었습니다. ++ /opt/hadoop/bin/hadoop org.apache.hadoop.hbase.util.GetJavaProperty java.library.path /opt/hadoop-3.2.1/bin/../libexec/hadoop-functions.sh: line 2366: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_USER: bad substitution /opt/hadoop-3.2.1/bin/../libexec/hadoop-functions.sh: line 2461: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_..
- Total
- Today
- Yesterday
- 파이썬
- Python
- 하이브
- HDFS
- emr
- build
- HIVE
- AWS
- yarn
- 다이나믹
- bash
- java
- 정올
- mysql
- Tez
- Hadoop
- error
- 알고리즘
- 하둡
- S3
- SPARK
- Linux
- SQL
- nodejs
- 오류
- oozie
- ubuntu
- hbase
- airflow
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |