메소스 다운로드
http://www.apache.org/dist/mesos/ 에서 다운받을 바이너리를 확인한다.
sudo yum install -y cyrus-sasl-md5 subversion-devel
http://www.apache.org/dist/mesos/1.0.3/mesos-1.0.3.tar.gz
tar -zxf mesos-1.0.0.tar.gz
mv mesos-1.0.0 mesos
cd mesos
mkdir build
cd build
../configure
make
다운로드 에러가 발생한다면 proxy 이슈이다. 아래와 같이 maven 설정 파일에 proxy를 추가한다.
$ cat ~/.m2/settings.xml
<settings>
<proxies>
<proxy>
<active>true</active>
<protocol>http</protocol>
<host>proxy서버</host>
<port>8888</port>
</proxy>
</proxies>
</settings>
제대로 컴파일되었는지 확인한다.
make check
스탠드얼론 형태로 마스터 서비스를 실행한다. (마스터가 1인 메소스)
cd /home/deploy/mesos/build
sudo ./bin/mesos-master.sh --work_dir=/var/lib/mesos
http://서버-IP:5050
이제 클러스터 모드로 돌려본다.
rsync를 이용해 슬레이브가 될 장비들에 복사를 진행한다. 이미 컴파일된 된 상태이다.
rsync ...
슬레이브 장비에서 yum을 설치하고 mesos를 슬레이브 상태로 실행했다.
sudo yum install -y cyrus-sasl-md5 subversion-devel screen
sudo ./bin/mesos-slave.sh --work_dir=/var/lib/mesos --master=마스터_IP:5050
여기서 high availability를 지원하기 위해 zookeeper를 사용하는 것이 좋다.
예제로 두 대의 서버에 zookeeper를 실행하고 다음과 같이 master를 실행했다.
sudo ./bin/mesos-master.sh --work_dir=/var/lib/mesos --quorum=1 --zk=zk://zk1:2181,zk2:2181,zk3:2181/mesos --log_dir=/var/log/mesos
잘 동작하고 있다.
참고 : 에러
* Need to specify --quorum for replicated log based registry when using ZooKeeper : 이 에러를 해결하려면 쿼럼의 값을 조절하는 것이다. --quorum=2 처럼 사용한다.
* F0427 18:21:35.832242 22151 master.cpp:1536] Recovery failed: Failed to recover registrar: Failed to perform fetch within 1mins
*** Check failure stack trace: ***
메소스를 처음에 실행할 때 에러가 발생했다. 이 문제의 해결은 quorum의 값을 잘못 넣어서 발생했다. quorum의 값을 제대로 넣어보니 더 이상 발생하지 않았다.
(실제 복구 문제라면 이렇게 쉽게 해결되지 않을 것 같다.)
'mesos and marathon' 카테고리의 다른 글
[marathon] 마라톤 lb의 포트별 설정 (0) | 2018.04.10 |
---|---|
[marathon] Insufficient resources 이슈 해결하기 (0) | 2018.04.10 |
마라톤(marathon)의 anti affinity 지원 기능 - constraints (0) | 2018.03.14 |
mesos - docker mode 관련 도움이 되는 링크 (0) | 2017.11.17 |
마라톤(marathon) 설치/실행하기 (0) | 2017.04.26 |