메뉴 건너뛰기

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 hive metastore db중 TBLS, TABLE_PARAMS테이블 설명 총관리자 2021.10.22 260
339 kudu hms check 사용법(예시) 총관리자 2021.10.22 69
338 Hue Load Balancer를 L4로 L/B하는 경우는 L4쪽 도멘인으로 발행된 인증서를 TLS/SSL항목에 설정해주어야 한다. 총관리자 2021.10.08 104
337 TLS/SSl설정시 방법및 참고 사항 총관리자 2021.10.08 83
336 you are accessing a non-optimized hue please switch to one of the available addresses 총관리자 2021.10.06 45
335 CM의 Impala->Query tab에서 FINISHED query가 보이지 않는 현상 총관리자 2021.08.31 36
334 tablet별 disk사용량 확인하는 방법 총관리자 2021.08.27 119
333 AnalysisException: Incomplatible return type 'DECIMAL(38,0)' and 'DECIMAL(38,5)' of exprs가 발생시 조치 총관리자 2021.07.26 34
332 drop table로 삭제했으나 tablet server에는 여전히 존재하는 테이블 삭제방법 총관리자 2021.07.09 7566
331 impala session type별 표시되는 정보로 구분하는 방법 총관리자 2021.05.25 91
330 Hive JDBC Connection과 유형별 에러및 필요한 jar파일 총관리자 2021.05.24 836
329 [Kudu] tablet server 혹은 kudu master가 어떤 원인에 의해서 replica가 failed상태인 경우 복구하는 방법 총관리자 2021.05.24 317
328 impald에서 idle_query_timeout 와 idle_session_timeout 구분 총관리자 2021.05.20 1630
327 missing block및 관련 파일명 찾는 명령어 총관리자 2021.02.20 160
326 [sap] Error: java.io.IOException: SQLException in nextKeyValue 오류 발생 총관리자 2020.06.08 272
325 [kudu]테이블 drop이 안되고 timeout이 걸리는 경우 조치 방법 총관리자 2020.06.08 348
324 [oozie] oozie shell action에서 shellscript수행결과의 2개 변수를 decision 액션에서 사용하기 총관리자 2020.06.05 133
323 [Sentry]HDFS의 ACL을 Sentry와 연동후 테스트 총관리자 2020.06.02 610
322 [sqoop] mapper를 2이상으로 설정하기 위한 split-by컬럼을 찾을때 유용하게 활용할 수 있는 쿼리 총관리자 2020.05.13 340
321 mysql sqoop작업을 위해서 mysql-connector-java.jar을 추가하는 경우 확실하게 인식시키는 방법 총관리자 2020.05.11 71

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.

위로