메뉴 건너뛰기

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

번호 제목 날짜 조회 수
221 kudu table와 impala(hive) table정보가 틀어져서 테이블을 읽지 못하는 경우(Error Loading Metadata) 조치방법 2023.11.10 723
220 Flume을 이용한 데이타 수집시 HBase write 성능 튜닝 file 2016.10.31 724
219 solr에서 한글사용시 주의점 2014.09.26 731
218 springframework를 이용한 war를 생성하는 build.gradle파일(참고용) 2016.08.19 732
» Spark 1.6.1 설치후 HA구성 2016.05.24 734
216 Halyard - RDF4J와 Apache HBase를 이용하여 구현된 TripleStore이며 SPARQL 1.1쿼리를 지원한다. 2016.12.29 734
215 [SBT] assembly시 "[error] deduplicate: different file contents found in the following:"오류 발생시 조치사항 2016.08.04 737
214 Failed to write to server: (no server available): 2022.01.17 737
213 znode /hbase recursive하게 지우기 2015.05.06 739
212 fuseki용 config-examples.ttl 예시 내용 2017.05.17 746
211 서버 5대에 solr 5.5.0 설치하고 index data를 HDFS에 저장/search하도록 설치/설정하는 방법(SolrCloud) 2016.04.08 749
210 CentOS 7.x에 Jupyter설치 2018.04.18 754
209 sendmail전송시 421 4.3.0 collect: Cannot write ./dfv5BA2EBS010579 (bfcommit, uid=0, gid=114): No such file or directory 발생시 조치사항 2017.06.11 756
208 java.lang.OutOfMemoryError: unable to create new native thread오류 발생지 조치사항 2016.10.17 757
207 solr 인스턴스 기동후 shard에 서버가 정상적으로 할당되지 않는 경우 해결책 2016.04.29 770
206 lateral view 예제 2014.09.18 775
205 [Sentry]HDFS의 ACL을 Sentry와 연동후 테스트 2020.06.02 777
204 hue.desktop_document2의 type의 종류 2020.02.10 779
203 hortonworks에서 제공하는 메모리 설정값 계산기 사용법 file 2015.06.14 792
202 SASL configuration failed: javax.security.auth.login.LoginException: java.lang.NullPointerException 오류 해결방법 2015.04.02 803
위로