본문 바로가기

Study

(328)
Spark(Yarn) + Intellj 원격 디버깅 하기 Zepplin 만 쓰다가, Intellj + SBT + Scala 조합으로 Spark 프로그램을 만들다 보니, 열받는게, Zepplin 의 경우 중간중간 쉽게 중간 값을 볼수 있었는데, 일반적인 개발방법은 엄청 불편하다고 생각했는데, 아니나 다를까, Spark 원격 디버깅 하는 방법이 존재 1. sbt assembly 해서 Spark 패키지 만들고2. 파일을 서버에 업로드(Sbt에 Deploy 플러그인 있는데, 이런걸 이용하면 편할듯) -- 이런것이 없으면 디버깅 할때마다 이짓을 해야됨 3. Spark Client (실행노드)에서 다음을 입력 - 물론, 생각에 따라서는 Bashrc에 넣어도 상관없을듯 export SPARK_SUBMIT_OPTS= agentlib:jdwp=transport=dt_socke..
intellj, Spark Assembly 스파크 스트리밍 코드를 묶다가 예전에 있던 코드를 활용했더니 ... [warn] ::::::::::::::::::::::::::::::::::::::::::::::[warn] :: UNRESOLVED DEPENDENCIES ::[warn] ::::::::::::::::::::::::::::::::::::::::::::::[warn] :: com.eed3si9n#sbt-assembly;0.11.2: not found[warn] ::::::::::::::::::::::::::::::::::::::::::::::[warn][warn] Note: Some unresolved dependencies have extra attributes. Check that these dependencies exist with ..
Hive Metastore not working - Syntax error 'OPTION SQL_SELECT_LIMIT=DEFAULT' at line 1 해당 오류는 Mysql-connector-java 가 5.1.22 버전보다 낮아서 생기는 문제입니다 만약 클러스터에서 해당 오류가 spark,hive등에서 발생하고 있다면, jdbc를 변경해주시면 됩니다 https://community.hortonworks.com/articles/70912/hive-metastore-not-working-syntax-error-option-sql.html 저 같은경우는 1.jdbc를 받은다음 1.ambari-server resources 패치 /var/lib/ambari-server/resource 내의 mysql-connector-java 그리고 각 클라이언트 또는 hive 가 깔린 /usr/hdp/버전/hive/lib 내의 mysql-connetor-java를 해당 ..
OpenDaylight [ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M1:enforce (enforce-maven) on project distribution-artifacts: Some Enforcer rules have failed. Look above for specific messages explaining why the rule fail.. [INFO] Scanning for projects...[INFO] ------------------------------------------------------------------------[INFO] Reactor Build Order:[INFO][INFO] ODL :: integration :: distribution-artifacts[INFO] ODL :: integration :: properties[INFO] ODL :: integration :: artifact-artifacts[INFO] ODL :: integration :: feature-repo-artifacts[INFO] ODL :: integration :: single-feature-artifacts[INFO] ODL :: ..
Pyenv offline (오프라인, 폐쇄망) 환경에서 사용하기 파이썬이 편하긴 하지만, 인터프리터 특성이여서인지 배포할때 매우 불편합니다(물론 도커 자체로 이미지를 떠버려서 옮겨도 되지만, 만약 이렇게 하지 못할경우) 예를들면 Java의 경우는 jar나 War로 말아서 올려버리는데, 파이썬은 그렇게 하지 못하는게 문제입니다 더군다나, 서버환경이 python 2.6 (centos6 기준) 멍청한 환경을 만나버리면 다행이도 pyenv(https://github.com/pyenv/pyenv) 에서 오프라인으로 인스톨 할수 있는 방법을 제공합니다. 하지만, 잘 안보이는것 같아서 블로그에 정리해봅니다. (저 같은경우 이 방법으로 패키지와 스크립트로 만들어서 배포가 되게 만든) 다음 설명은 Python 2.7.14(3버전도 아니고 2.6환경에서 2.7.14 환경을 구성하는것을..
Cassandra 와 Spark Cassandra 테이블을 스파크 데이터와 join 하고 싶을때 https://github.com/datastax/spark-cassandra-connector/blob/master/doc/14_data_frames.md datastax , 쉽게 생각하면 카산드라 벤더에서 만든 스파크 드라이버를 이용 val createDDL = """CREATE TEMPORARY VIEW/TABLE words USING org.apache.spark.sql.cassandra OPTIONS ( table "words", keyspace "test", cluster "Test Cluster", pushdown "true")""" spark.sql(createDDL) // Creates Catalog Entry registe..
NodeManager 추가 및 삭제 2017/07/11 - [Hadoop & Bigdata/HDP(Hortonworks Data Platform)] - HDFS 노드 추가 및 삭제 지난글에 이어서, 생각해보니까 노드 새로고침할때 active 노드에서 해야되나... nodemanager를 추가할때는, yarn.include 파일에 추가할 노드 추가 yarn rmadmin -refreshNodes 반대로 제거할때는 yarn.exclude 에 넣고 yarn rmadmin -refreshNodes
HDFS 노드 추가 및 삭제 HDP에 익숙해져있다가 self-deployed Hadoop을 사용하다 보면, 답답할때가.... 예를들면, HDFS를 확장하는것조차 마우스 클릭 딸각한번으로 해결될 문제가. 메뉴얼로 정리해보면 1.Hadoop.tar.gz 파일을 확장하려는 노드로 배포 데이터 노드에서 ./hadoop-daemon.sh start datanode 2. 네임 노드(HA했다면 둘다 설정 복사)에서 hdfs-site.xml에서 설정한 파일을 참고해서 dfs.hosts /etc/hadoop/dfs.hosts dfs.hosts.exclude /etchadoop/dfs.exclude dfs.hosts에 호스트 파일에 새로 추가한 데이터 노드 추가 3. Acitve NameNode에서 ./refresh-namenodes.sh 노드 추가..