메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.


spark Spark 1.6.1 설치후 HA구성

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

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만 다시 기동해주는 형태로 복구를 수행한다.

번호 제목 날짜 조회 수
541 pom.xml에서 build.gradle로 변환 2015.09.14 310
540 AIX 7.1에 Hadoop설치(정리중#2) 2016.09.20 310
539 spark 2.0.0를 windows에서 실행시 로컬 파일을 읽을때 발생하는 오류 해결 방법 2017.01.12 311
538 /etc/logrotate.d 을 이용한 catalina.out 나누기 file 2017.01.19 312
537 RDF4J의 RESTFul API처리 클래스 소스 파악(web module위주) 2017.08.30 313
536 elasticsearch에서 모든 인덱스(색인)을 삭제하는 방법 2019.06.09 313
535 프로그래밍 언어별 딥러닝 라이브러리 정리 file 2016.10.05 314
534 각 서버에 설치되는 cloudera서비스 프로그램 목록(CDH 5.14.0의 경우) 2018.03.29 314
533 spark 2.3.0을 설치하가 위해서 parcel에 다음 url을 입력한다. 2018.07.15 316
532 start-all.sh로 spark데몬 기동시 "JAVA_HOME is not set"오류 발생시 조치사항 2016.08.01 318
531 숭실대 교수님등 강의영상(바이오데이터마이닝, 빅데이터분산컴퓨팅, 컴퓨터 그래픽스, 데이터베이스응용및 프로그램밍, 데이터베이스, 의생명영상처리, 웹그로그래밍, 데이터마이닝, 컴퓨터구조) file 2017.06.13 318
530 [Active Directory] AD Kerberos보안 설정 변경 방법 (Maximum lifetime for user ticket, Maximum lifetime for user ticket renewal) 2024.03.12 319
529 로컬의 라이브러리파일들을 dependency에 포함시키는 방법 2016.08.09 321
528 down된 broker로 메세지를 전송하려는 경우의 오류 내용및 조치사항 2016.08.12 322
527 Jena는 기본적으로 multi thread환경을 지원하지 않는다. 2016.08.16 322
526 VPS에서는 root로 실행해도 swap파일을 만들지 못하게 만들어 두었지만 swap파일을 생성하는 방법 2017.06.20 322
525 mongodb 2.6.6 설치(64bit) 2015.09.30 324
524 federated query 예제 2017.01.19 324
523 [vi]블럭 및 문서내 복사등에 관련된 명령어 2017.02.17 324
522 [postgresql 9.x] PostgreSQL Replication 구축하기 2018.07.17 324
위로