본문 바로가기

Study/Bigdata

(66)
NIFI could not load known_hosts 해결방법 NIFI에서 ListSFTP 또는 getSFTP를 사용할때 분명히 계정 주소, 포트 까지 잘썻는데 could not load known_hosts 다음과 같은 오류를 내뿜을수 있습니다 저는 제가 잘못쓴건줄 알았는데-, 결론은 리눅스에서 nifi가 동작하는 계정으로 ssh로 한번 접속해주신다음 해주시면 되십니다 다음내용은 관련 포럼에 있는 내용입니다 https://community.cloudera.com/t5/Support-Questions/Using-ListSFTP-results-in-an-exception-Failed-to-obtain/td-p/219081 Re: Using ListSFTP results in an exception: Failed to obtain connection to remote ..
NBP Ncloud Cloud Hadoop에서 pySpark로 Object Storage 읽오는 방법 맨날 문서만 만지다가 오랜만에 코드 만지니 재밌네요. 문서질 하면 벌써 뻗었겠지만 코드질 하니 잠이 안오네요. 이번에 프로젝트를 하면서 네이버 클라우드를 처음 사용하는데 생각보다 재미있게 만들었네요 일단 클라우드 하둡을 세팅을 하면 HDP를 포팅해논것 같은데, 일단 Ambari가서 안쓸것 같은 Zepplin, Ozzie 는 다 꺼버리고 일단 NBP가 아쉬운건, 정말 잘만들어놨는데, 설명서가 부족하네요 ..;;(네이버에서 예제코드를 AWS S3 기준으로 설명해놨네여) 다음의 예제는 Pyspark로 Object Storage의 Parquet를 가져오는 예제입니다 2018/11/29 - [Study/Bigdata] - Pyspark로 Spark on Yarn Code --1(개발환경구성) 일단 기본코드는 다움..
python 3.7.5 오픈소스 워크플로우 엔진 apache airflow(celery,rabbitmq,postgresql) 구축하기 기본적으로, rabbitmq, postgres는 이미 설정하셨다는 가정하에 설명되는 글입니다. pip install --upgrade pip pip install apache-airflow[postgres,celery,rabbitmq,ssh] psycopg2-binary pip install --upgrade apache-airflow[postgres,celery,rabbitmq,ssh] psycopg2-binary echo 'export AIRFLOW_HOME=~/airflow' >> ~/.bash_profile 다음과 같이 하면 airflow는 매우 쉽게 설치가 됩니다. 일단 저는 python 3.7.5 환경에서 하였습니다 저도 이번에 airflow 를 하면서 외부 다른 외국 블로거나 글을 봤는데, ..
인트라넷(폐쇄망) 환경에서 Ambari, HDP 배포하기 최근, 폐쇄망 환경에서 Ambari,HDP를 배포할 일이 있었습니다. 조만간 또할것 같지만, 사실 예전에 몇번 해보긴 했는데 오랜만에 하느라 기억이 버벅였네요 환경은 다음과 같습니다 centos 7 64bit Server들 기본적으로 인터넷환경에서는 Ambari Server 설치후 Ambari Agent가 설치되면서 외부 HDP 레포에서 YUM으로 다운로드 하기 때문에 인터넷이 필요합니다. 그럼 폐쇄망 환경은 어떻게 하느냐, 아마 당연하겠지만 , 내부 레포를 만드시면 됩니다 필요한 내부레포 1. Centos Base Repo 2. Ambari Repo 3. HDP Repo 예전에는 Base레포 없이 했던것 같긴한데, Base레포가 필요한 이유는 Ambari Backend DB를 postgres나 별도의 ..
apache phoenix org.apache.phoenix.exception.PhoenixIOException: org.apache.hadoop.hbase.security.AccessDeniedException: Insufficient permissions for user jdbc SpringBoot 로 Phoenix를 이용해서 HBASE로 Query를 날렸는데 다음과 같은 Exception을 발견하였습니다. org.apache.phoenix.exception.PhoenixIOException: org.apache.hadoop.hbase.security.AccessDeniedException: Insufficient permissions for user jdbc 이 문제는 JDBC 연결상의 문제라기 보다는, Spark로 Phoenix 사용하는 코드에도 동일하게 적용될수 있는 사항입니다 만약 HDP 계열을 사용하시다면, CDH, MapR도 비슷할것 같은데, 현재 제 환경은 HDP 이기 떄문에 Ranger에서 HBASE에 테이블 접근권한을 주시면 됩니다.
Pyspark로 Spark on Yarn Code --1(개발환경구성) Spark로 개발하는 방법에는 여러가지가 있지만, 일단은 PySpark를 사용하고 있습니다 다른 이유보다 너무 쉽게 됩니다. 현재 개발환경은, 개발서버에 Pycham 이 Direct로 붙는다는 환경이고 방화벽등의 환경에서는 달라질수 있습니다 먼저 제 환경은 다음과 같습니다 개발툴 : Pycham Professional - 서버의 파이썬 리모트 인터프리터 사용 - 시스템 기본 파이썬 인터프리터 사용 플랫폼 : HDP(Hortonworks Data Platform) 3.0.1 import os import sys os.environ['SPARK_HOME'] = "/usr/hdp/3.0.1.0-187/spark2" os.environ['HIVE_HOME'] = "/usr/hdp/3.0.1.0-187/hive"..
HDP3 에서 Spark 로 Hive Table 를 조회했는데 빈값이 나온경우 일단, 하는중 일부는 Spark 로 처리한 데이터를 Hive에 테이블을 넣는게 있습니다. 사실 이때는 몰랐는데, Spark 로 Hive 테이블을 읽으려는데 빈값이 나오더군요 . 사실 Spark 2.3? 인가 바뀌면서 enableHivesupport 인가 이옵션만 활성화 시키면 되서 , 뭐 다른문제인가 했는데, 사실 약간 조건적 상황인것 같은데, 현재 방법에서는 읽을 방법이 없는것 같습니다 HDP 3가 되면서 Hive에 기본적으로 테이블을 생성하면(Spark 로 생성하는게 아닌 Hive에서 직접) ACID가 적용이 되는데, 현재는 Spark 에서 접근할 방법이 없는것 같습니다. 물론, 강제적으로 alter table 해서 해결하면될것 같은 글들이 보이긴 하는데, https://community.horton..
HDP3 spark, pyspark, zepplin에서 database가 안보일때, 분명히 HDP3 에서 ranger에 제대로 설정되어 있는데 zepplin 이나 spark 에서 하이브 테이블이 안보입니다. 분명히 2.6때는 보였는데, HDP 3 되면서 정말 불친절해진 모양이네요 cp /etc/hive/conf/hive-site.xml /etc/spark2/conf 답은 매우 간단합니다. 클라이언트 노드에서 spark2 에 hive-site를 옮기시면 됩니다... HDP3 되면서 자동으로 다 설정해주던건데 이제 다 수동으로 바뀐 모양인네요 https://community.hortonworks.com/questions/221974/zeppelin-not-showing-hive-databasetables-in-hdp30.html Zeppelin : Not able to connect Hiv..