메뉴 건너뛰기

Bigdata, Semantic IoT, Hadoop, NoSQL

Bigdata, Hadoop ecosystem, Semantic IoT등의 프로젝트를 진행중에 습득한 내용을 정리하는 곳입니다.
필요한 분을 위해서 공개하고 있습니다. 문의사항은 gooper@gooper.com로 메일을 보내주세요.


spark Spark 1.6.1 설치후 HA구성

총관리자 2016.05.24 11:00 조회 수 : 455

1. 다운로드/설치/설정


2. zookeeper를 이용한 HA로 실행(방법1, 별도의 파일에 HA정보를 설정하는 방법)

 가. ./conf/ha.conf파일을 생성하고 다음의 내용을 추가한다.(master로 사용되는 서버에 모두 있어야함)

  spark.deploy.recoveryMode=ZOOKEEPER
  spark.deploy.zookeeper.url=gsda1:2181,gsda2:2181,gsda3:2181
  spark.deploy.zookeeper.dir=/spark

 나. master실행(master로 사용되는 각 서버에서 실행, 2개서버) :

   ./sbin/start-master.sh -h gsda1 -p 7077 --webui-port 8123 --properties-file ./conf/ha.conf

   ./sbin/start-master.sh -h gsda2 -p 7077 --webui-port 8123 --properties-file ./conf/ha.conf


 다. slave실행(slave로 사용되는 각 서버에서 실행)

  ./sbin/start-slave.sh spark://gsda1:7077,gsda2:7077


 라. spark-shell실행

  ./bin/spark-shell --master spark://gsda1:7077,gsda2:7077


 * zookeeper의 zlCli.sh를 실행해서 "ls /"을 명령을 주면 znode중에 "spark"를 확인할 수 있다.


3. zookeeper를 이용한 HA로 실행(방법2, spark-env.sh에 HA정보를 설정하는 방법)

 가. ./conf/spark-env.sh에 다음의 내용을 추가함

  export SPARK_MASTER_WEBUI_PORT=8123

  export SPARK_LOG_DIR=/logs/spark

  export SPARK_SSH_OPTS=" -p 22 "

  export STANDALONE_SPARK_MASTER_HOST=gsda1,gsda2

  export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=gsda1:2181,gsda2:2181,gsda3:2181"


 나. ./sbin/start-all.sh을 실행한다.(master와 slave들이 실행된다) 

 다. 2번째 master서버에서 다음을 실행한다.(standby모드로 기동함)

   ./sbin/start-master.sh을 실행하면 conf정보를 참조하여 기동한다.


* 확인방법 http://gsda1:8123/ 하면 status가 alive, http://gsda2:8123/ 하면 status가 standby로 표시된다.


4. HA 작동여부 확인방법

 가. master2서버에서 http://gsda2:8123로 status가 standby상태인지 확인한다

 나. master1서버에서 ./sbin/stop-master.sh로 master를 중지한다.

 다. master2서버에서 http://gsda2:8123를 실행하여 Workers목록이 모두 표시되고 status가 standby->Alive로 변경되는지 확인한다.


5. spark master가 다운되었을때 다시 기동하도록 하는 방법

  - spark-env.sh에 다음과 같은 라인을 추가한다.

 export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=FILESYSTEM -Dspark.deploy.recoveryDirectory=/spark/recovery"

 * recoveryMode를 FILESYSTEM으로 하면 recoveryDirectory에 recovery정보를 저장하고 있다가 master가 다운되면 master만 다시 기동해주는 형태로 복구를 수행한다.

번호 제목 글쓴이 날짜 조회 수
50 hive기동시 Caused by: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D 오류 발생시 조치사항 총관리자 2016.09.25 496
49 spark-submit 실행시 "java.lang.OutOfMemoryError: Java heap space"발생시 조치사항 총관리자 2018.02.01 517
48 [Kudu]ERROR: Unable to advance iterator for node with id '2' for Kudu table 'impala::core.pm0_abdasubjct': Network error: recv error from unknown peer: Transport endpoint is not connected (error 107) gooper 2023.03.16 536
47 spark client프로그램 기동시 "Error initializing SparkContext"오류 발생할때 조치사항 총관리자 2016.05.27 539
46 CentOS 7.x에 Jupyter설치 총관리자 2018.04.18 550
45 spark-shell실행시 "A read-only user or a user in a read-only database is not permitted to disable read-only mode on a connection."오류가 발생하는 경우 해결방법 총관리자 2016.05.20 551
44 spark-env.sh에서 사용할 수있는 항목. 총관리자 2016.05.24 568
43 kafka로 부터 메세지를 stream으로 받아 처리하는 spark샘플소스(spark의 producer와 consumer를 sbt로 컴파일 하고 서버에서 spark-submit하는 방법) 총관리자 2016.07.13 631
42 hive테이블의 물리적인 위치인 HDFS에 여러개의 데이터 파일이 존재할때 한개의 파일로 merge하여 동일한 테이블에 입력하는 방법 총관리자 2019.05.23 640
41 lateral view 예제 총관리자 2014.09.18 691
40 [Impala 3.2버젼]compute incremental stats db명.테이블명 수행시 ERROR: AnalysisException: Incremental stats size estimate exceeds 2000.00MB. 오류 발생원인및 조치방안 gooper 2022.11.30 697
39 hive metastore ERD file 총관리자 2018.09.20 731
38 beeline실행시 User: root is not allowed to impersonate오류 발생시 조치사항 총관리자 2016.06.03 760
37 oracle to hive data type정리표 총관리자 2018.08.22 764
36 hive query에서 mapreduce돌리지 않고 select하는 방법 총관리자 2014.05.23 811
35 dual table만들기 총관리자 2014.05.16 826
34 Hive JDBC Connection과 유형별 에러및 필요한 jar파일 총관리자 2021.05.24 836
33 unique한 값 생성 총관리자 2014.04.25 888
32 json으로 존재하는 데이터 parsing하기 총관리자 2019.03.25 974
31 hive에서 insert overwrite directory.. 로 하면 default column구분자는 'SOH'혹은 't'가 됨 총관리자 2014.05.20 999

A personal place to organize information learned during the development of such Hadoop, Hive, Hbase, Semantic IoT, etc.
We are open to the required minutes. Please send inquiries to gooper@gooper.com.

위로