-
이전 글
2021.03.31 - [2021년 상반기/개발공부] - [Spark] Data Analytics with Spark using Python
Master: MacOS
Slave: CentOS7
오늘은 분산 환경을 만들려고 vmware fusion을 다운받았다.
VMwareFusion: www.vmware.com/kr/products/fusion/fusion-evaluation.html
8버전: mirror.navercorp.com/centos/8/isos/
7버전: mirror.navercorp.com/centos/7/isos/
나는,, 결국 7버전을 사용하게 되었는데 그 이유는 아래와 같다.. ⍩ 꿱, 험난했던 설치 여정
더보기에러 발생. 기본 리포지토리 설정 도중 오류 발생
1차 시도. centos 8 boot 버전 다운 > 실패
2차 시도. iso 이미지 삭제 및 재 삽입, vmware 껏다키기 반복 > 실패
2차 시도. centos 8 url 미러주소 입력 mirror.navercorp.com/centos/8 > 실패
이 상태로 하루종일 있음 3차 시도. centos 8 dvd 버전 다운 > 실패
4차 시도. centos 8 legacy boot을 ufei로 변경 > 실패
5차 시도. centos 7 netinstall > 실패
6차 시도. centos 7 netinstall ufei로 변경 > 실패
7차 시도. centos 7 minimal > 성공
😔 어차피 분산 서버용으로 사용할꺼니까 편안하게 가자..
1. VMware fushion 설치 후 iso를 이용해 cnetos7 설치
centos7 minimal + UEFI로 설치하였다.
* 설치 진행 중에 사용자 추가해준다( master랑 이름을 맞춰주었다. -ssh public key 때문에)
* 설치할 때 꼭 이더넷 활성화 하자.. 밑에 삽질 스토리를 또 겪고싶지 않으면
여기까지 오는데 진짜 오래걸렸다. 아 따잉나~ 😤 2. SSH 공개키 설정
예전에는..(물론 지금도이렇게 해도 무관하겠지만) 아래와같이 진행했다. 그래서 습관적으로 공개키 배포부터 진행하려했다.아아앗 아니다~!! 편하게 하려면 하는게 맞다!! 마스터노드에서 start-all.sh stop-all.sh로 간편하게 하려면 고고싱해야한다.!
더보기) slave 및 마스터의 hosts 수정 (hosts는 모두 동일하다. hostname은 각 머신마다 설정해준다.)
- hostname을 설정하면 나중에 공개키 생성 시 사용된다. 그렇기때문에 Master hostname과 일치시켜줘야한다.
두번째 이미지 가장 마지막을 보면 알 수 있다. ( ~/.ssh/authorized_keys) - hosts는 다음과같이 적어준다.( 나는 master 대신 그냥 내 로컬이름으로 했다.. )
해당 서버 ip 이름1 (centos는 ip addr로 확인 mac은 ifconfig로 확인)
공개키 생성 및 카피는 아래 블로그를 참조했다.
공개키때문에 한시간은 잡아먹힌 것 같다. 그냥 생성 뒤 scp 보내고 권한 설정에 config까지 만졌는데,, 왜 안되는지..
나도 아랫분처럼 별별 다했는데 안되다가 이 분 말대로 하니까 바로 됐다 ㅡㅡ;
ssh 공유키 배포 실패, 계속 패스워드 물어볼때
hadoop 설치 전 세팅으로 ssh 공유키 배포 실패 ssh 공유키를 생성하고 배포하는 방법이 몇가지 있다 하나는 ssh 키생성 후 자신의 id_rsa.pub을 authorized_keys로 복사하고 나서 scp 명령으로 배포하는 방
modular.tistory.com
SPARK 설정(공개키 안해도 일단 진행은 가능하다.)
책을 보니까, 일단 키설정 없이 각 노드에서 slave를 키는 방식으로 테스트는 진행이 가능하다.
우선 스파크를 설치해야한다. (weejw.tistory.com/515 요 게시글은 mac 기준이라 조금 다르기때문에 아래 과정이 추가 필요하다.)
머신들은 CentOS로 했기때문에 yum을 이용했다. 아래 명령어를 이용해 설치 가능한 java를 찾을 수 있다.
sudo yum list java*jdk-develsudo yum install [위에 나온 것]그 후, 위 게시글과 똑같이 스파크를 내려받아서 환경변수를 잡아주는데, Cent는 환경변수가 또 다르다. 아래와 같이 ~/.bashrc에 지정해준다.
3. SPARK CONFIG
아래 보이는 것과 같이 우리는 2가지를 수정할 것이다. 두 파일 모두 template를 복사하면 된다(cp 이용!)
1) spark-defaults.conf
2) spark-env.sh
그럼 아래에 두 가지가 주석처리(#) 되어있을 텐데 이를 해제 하고 뒤에 다음과 같이 작성해준다.
#defaultspark.master spark://jiwon.local:7077#/Users/jiwonwee/SPARK_BOOK/spark/spark-3.1.1-bin-hadoop2.7/conf/spark-env.sh: line 44: SPARK_MASTER_HOST: command not found위처럼 뜨면 아래로 수정export SPARK_MASTER_HOST=jiwon.local#envSPARK_MASTER_HOST jiwon.local4. Spark 실행 및 Submit
아래와 같이 $SPARK_HOME/sbin 아래에서 명령어를 이용해 각 노드를 on!
그럼 각각 localhost:8080(master) localhost:8081(slave)로 web에서 확인 가능하다.
#master 노드에서./start-master.sh#slave 노드에서./start-slave.sh spark://jiwon.local:7077* 수정!! master에서 worker가 안보였던 문제가 있었다. 주소 바인딩을 잘해줘야한다 ㅠ.ㅠ 원래 보이는게 정상임!
간단한 예제를 날려보자. 그럼 localhost:4040/jobs/ 에서 아래와같이 running 상태를 확인할 수 있다.
spark-submit\--class org.apache.spark.examples.SparkPi \--master spark://jiwon.local:7077 \--driver-memory 512m \--executor-memory 512m \--executor-cores 1 \$SPARK_HOME/examples/jars/spark-examples*.jar 10000
아.. 오늘은 쓸 때없는데에 시간을 많이 빼앗겼다.. 맥북이라 안되었던 것들같은..것 ㅠ_ㅠ
+ 추가 ( start-all.sh로 실행 )
1. 슬레이브와 마스터의 스파크 경로를 맞춰줘야함
2.공개키 설정을 해줘야함!
REFERENCES
[VMware] CentOS 네트워크 설정 방법
VMware CentOS 네트워크 설정 방법 입니다. (CentOS 7.7 버전 기준) Centos7의 네트워크 설정만 보고 싶다면 3번만 보세요. 1. Virtual Network Editor (vmnetcfg.exe) 설정 지구본 모양의 vmnetcfg.exe 실행 Ch..
nirsa.tistory.com
4. Centos7 에서 프로그램 설치 안될 때
Centos7을 설치하고 접속 후 프로그램을 설치하려고 할때 (yum 이 실행이 안될 떄) cannot find a valid baseurl for repo base/7/x86_64 라는 에러가 날 시에 ONBOOT=no dhclient yum update y 입력, y 입력 이순..
mungmange.tistory.com
How to Fix “Cannot find a valid baseurl for repo” in CentOS
One of the commonest errors CentOS users encounter when using YUM package manager (for example running yum update command), especially on a freshly installed system is the “Cannot find a valid baseurl for repo: base/7/x86_64”. In this short article, we
www.tecmint.com
CentOs 7.x 네트워크 설정
CentOs 7.x버전 설치 후 yum이나 ping을 할 경우 에러가 나타난다. 이유는 초기에 네트워크 설정이 잡혀있지 않아 그런것인데 ping명령어를 하면 connect: Network is unreachable와 같이 나타나고 yum명령어 실
taesun1114.tistory.com
useradd나 adduser가 실행되지 않을 때
시스템: medusa48.kaist.ac.kr OS: CentOS 5.7 <문제 상황> "bash: useradd: command not found" "bash: adduser: command not found" - 일반사용자 계정으로 접속하여 su로 관리자 변환 이후, useradd나 adduser..
bibliotheque.tistory.com
하둡 설치 4. ssh 키 설정 및 하둡 설치
이 글부터는 master 서버에서 실행하는 포스팅입니다. 혹시 이 전의 글을 못보신 분을 위해 다음과 같이 하둡을 구축할 것입니다. xxx.xxx.xxx.35 master xxx.xxx.xxx.101 slave1 xxx.xxx.xxx.102 slave2 xxx.xxx...
mygameprogamming.tistory.com
110일차 하둡(Hadoop) Part.3 (완전 분산 모드)
완전 분산 모드 가상머신 복제 ip확인 호스트 설정 hostname 설정 ping 테스트 SSH ...
blog.naver.com
[CentOS 7] 사용자 관리 방법 - 추가, 그룹 지정, 삭제
CentOS 7 사용자 추가하는 방법을 정리해보겠습니다. 리눅스에서는 유저 추가하는 방법이 거의 모두 비슷하니 CentOS 뿐만 아니라 다른 리눅스에서도 사용 가능합니다. 사용자 관리 useradd useradd 명
firework-ham.tistory.com
하둡 설치 4. ssh 키 설정 및 하둡 설치
이 글부터는 master 서버에서 실행하는 포스팅입니다. 혹시 이 전의 글을 못보신 분을 위해 다음과 같이 하둡을 구축할 것입니다. xxx.xxx.xxx.35 master xxx.xxx.xxx.101 slave1 xxx.xxx.xxx.102 slave2 xxx.xxx...
mygameprogamming.tistory.com
위지원데이터 엔지니어로 근무 중에 있으며 데이터와 관련된 일을 모두 좋아합니다!. 특히 ETL 부분에 관심이 가장 크며 데이터를 빛이나게 가공하는 일을 좋아한답니다 ✨
'2021년 > Data' 카테고리의 다른 글
Amazon Personalize는 어떻게 동작하는걸까? (2) 2021.04.09 [Spark] Data Analytics with Spark using Python - 기초 함수 (0) 2021.04.06 [Spark] Data Analytics with Spark using Python (0) 2021.03.31 [티스토리 게시글 추천 시스템 만들기] #4 worldCloud 만들기 (0) 2021.03.26 [티스토리 게시글 추천 시스템 만들기] #3 클롤링 데이터 TF-IDF 계산하기 (0) 2021.03.25