python 3.10 환경에 분석을 위한 다양한 라이브러리를 구성하다보니 호환성 문제로 아래와 같은 문제가 밸생했다. 1. 오류내용크게보면 여러 라이브러리에서 아래와 같은 문제가 발생했다. 사실 처음에는 다양한 라이브러리를 한번에 설치해서 원인을 찾기 힘들었는데 하나식 역추적하며 결국 해결방법을 찾았다. 1.1 numpy 버전 문제 오류A module that was compiled using NumPy 1.x cannot be run inNumPy 2.0.2 as it may crash. To support both 1.x and 2.xversions of NumPy, modules must be compiled with NumPy 2.0.Some module may need to rebuild ins..
Helm 을 통해 삭제를 했는데, pvc 가 계속 삭제안되고 있다. 그래서 kubectl delete pvc 명령을 입력해도 삭제가 안된다 -_-$ kubectl get pvc | grep sample sample-decrypt Terminating haha.hoho.sample-decrypt.4b123674-tb2f-55ab-c03f-bdcb2a794e3 1Gi ROX rbd-hdd 8d... 해결방법정확한 이유는 모르겠지만, 아래와 같이 pvc 를 edit 하는 화면으로 넘어간후$ kubectl edit pvc 아래와 같은 내용이 있는지 확인후, 삭제한후 저장해준다...
helm template 명령어로 확인하려고 했는데 아래와 같이 알수 없는 오류가 발생했다.결론부터 말하면, range 하위에 include 를 썼는데 이때 영향을 받았던 문제였다.Error: render error in "...deployment.yaml": template: ...deployment.yaml:81:16: executing "...deployment.yaml" at : error calling include: template: sample/templates/_helpers.tpl:166:8: executing "sample.kerberos" at : error calling include: template: sample/templates/_helpers.tpl:100:25: execu..
airflow 에서는 code 탭에서 dag 를 구성한 python 파일을 볼 수 있다. 그런데, 이 파일과 dag 값이 다르게 로딩되서 한참 삽질한 경험을 공유하고자 한다. 결론부터 말하면 dag 를 선언한 파일에서 다른 dag 의 파일을 import 하면서 영향을 받았다. 원인 확인방법 airflow 에서는 dag 파일을 읽고, dag bag 에 담아서 관리된다. 문제는 이때 관련된 정보가 잘못 인지되었던 문제였다. dag 로딩이 잘되었는지는 airflow dags list 명령으로 확인이 가능하다. 원래 primitive.py, hour.py, day.py 3개의 파일이 따로 존재하고, dag 도 파일별로 따로 선언했는데 아래와 같이 primitive.py 경로가 아닌 hour.py 로 잘못잡히는걸..
airflow 를 기동할때 편의를 자주쓰는 유틸리티나 스크립트를 PATH 환경변수에 정의하고 데몬을 기동하여 사용하는 경우가 있다. 예를 들어, /home/user/foo/script 라는 경로에 내가 편의를 위해 만든 쉘스크립트를 넣고, PATH 환경변수에 지정해서 잘 쓰고 있었는데, BashOperator 에서 env 옵션을 사용하면 이상하게 해당 스크립트를 찾지 못하는 문제가 발생했다. # export PATH=$PATH:/home/user/foo/script 가 시스템환경변수에는 존재함 ## 이 녀석은 잘 실행되는데 BashOperator( task_id='t1', bash_command='myscript.sh', ) ## 이 녀석에서는 myscript.sh 를 찾지 못한다 BashOperator..
airflow 의 Quick Start 웹페이지에 보면 설치하고 airflow standalone 으로 가볍게 띄우려고 할때 아래와 같은 오류가 발생될때가 존재한다. 결론부터 말하면 서버의 sqlite 버전이 낮기 때문이다. 그래서 더 상위버전으로 업데이트 재설치가 필요하다. https://airflow.apache.org/docs/apache-airflow/2.7.3/start.html (py3) $ airflow standalone Traceback (most recent call last): File "/home/myuser/py3/bin/airflow", line 5, in from airflow.__main__ import main File "/home1/myuser/py3/lib/python3..
참고로 아래와 같이 security.protocol 이 SASL_PLAINTEXT kafka 를 연동했을때 나타났던 문제이다. kafka 의 토픽을 맵핑한 ddl 문과 에러메시지 이다. beeline> CREATE EXTERNAL TABLE kafka_table ( foo STRING, bar STRING ) STORED BY 'org.apache.hadoop.hive.kafka.KafkaStorageHandler' TBLPROPERTIES ( "kafka.bootstrap.servers" = "10.1.1.1:9092", "kafka.topic" = "sample_topic", "kafka.serde.class" = "org.apache.hadoop.hive.serde2.JsonSerDe", 'kafk..
hive 에서 kafka 를 쉽게 연동해서 사용할 수 있어서, 꽤 유용하게 쓸수 있다. 그런데, 하둡클러스터는 kerberos 인증을 사용하고 kafka 는 다른 인증방식을 사용할 경우 어떻게 사용해야하는지 readme.md 문서를 뒤져봐도 친절하지가 않다. 그래서 관련된 선언방법과 주의사항을 안내하려고 한다. https://github.com/apache/hive/blob/master/kafka-handler/README.md 문제점 우선 org.apache.hadoop.hive.kafka.KafkaStorageHandler 를 사용가능하다는 전제로 설명하도록 하겠다. 보통 kafka 의 인증정보를 다음과 같이 표현하여 사용하는데... 아래 정보를 table 선언할때 어떻게 맵핑하는지 정리가 안되어있어..