메뉴 건너뛰기

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

번호 제목 글쓴이 날짜 조회 수
340 DataNode를 기동할때 "Block pool ID needed, but service not yet registered with NN" 오류 발생에 따른 조치사항 총관리자 2018.05.28 961
339 postgresql-9.4에서 FATAL: remaining connection slots are reserved for non-replication superuser connections가 나올때 조치 총관리자 2018.08.16 944
338 column family삭제시 Column family 'delete' does not exist오류 발생하는 경우 총관리자 2014.04.14 932
337 동일서버에서 LA와 LC동시에 기동하여 테스트 총관리자 2014.04.01 928
336 Current heap configuration for MemStore and BlockCache exceeds the threshold required for successful cluster operation 총관리자 2017.07.18 892
335 unique한 값 생성 총관리자 2014.04.25 888
334 sqoop export/import등을 할때 driver를 못찾는 오류가 발생하면... 총관리자 2014.05.15 867
333 Impala의 Queries탭에서 여러조건으로 쿼리 찾기 총관리자 2018.05.09 862
332 oozie 4.1 설치 - maven을 이용한 source compile on hadoop 2.5.2 with postgresql 9.3 총관리자 2015.04.30 862
331 Hive JDBC Connection과 유형별 에러및 필요한 jar파일 총관리자 2021.05.24 836
330 dual table만들기 총관리자 2014.05.16 826
329 hive query에서 mapreduce돌리지 않고 select하는 방법 총관리자 2014.05.23 811
328 update 샘플 총관리자 2018.03.12 810
327 oozie job 구동시 JA009: User: hadoop is not allowed to impersonate hadoop 오류나는 경우 총관리자 2014.06.02 807
326 sentry설정 방법및 활성화시 설정이 필요한 파일및 설정값, 계정생성 방법 총관리자 2018.08.16 779
325 mongodb aggregation query를 Java code로 변환한 샘플 총관리자 2016.12.15 777
324 [Kerberos]Kerberos상태의 클러스터에 JDBC로 접근할때 케이스별 오류내용 총관리자 2020.02.14 764
323 oracle to hive data type정리표 총관리자 2018.08.22 764
322 beeline실행시 User: root is not allowed to impersonate오류 발생시 조치사항 총관리자 2016.06.03 760
321 [DBeaver 4.3.0]import/export시 "Client home is not specified for connection" 오류발생시 조치사항 총관리자 2017.12.21 753

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.

위로