Container
Mesos 설치하기
seungkyua@gmail.com
2016. 6. 19. 22:38
반응형
[ 서버 리스트 ]
mesos-master1 10.0.0.14 192.168.30.134
mesos-agent1 10.0.0.15 192.168.30.135
mesos-bootstrap 10.0.0.16 192.168.30.136
mesos-agent2 10.0.0.17 192.168.30.137
[ OpenStack 에 CentOS 7 다운 및 image 설치 ]
$ . ~/admin/admin-openrc
$ wget http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2
$ openstack image create \
--file CentOS-7-x86_64-GenericCloud.qcow2 \
--disk-format qcow2 --container-format bare \
--public centos-7
$ openstack image list
## Flavor 생성
$ openstack flavor create --id mm1 --ram 32768 --disk 160 --vcpus 4 mesos.master
$ openstack flavor create --id ma1 --ram 16384 --disk 100 --vcpus 2 mesos.agent
## quota 조회
$ tenant=$(openstack project list | awk '/demo/ {print $2}')
$ nova quota-show --tenant $tenant
$ cinder quota-show $tenant
$ openstack stack show $tenant
## quota 업데이트
$ nova quota-update --ram -1 $tenant
$ nova quota-update --cores -1 $tenant
$ nova quota-update --instances -1 $tenant
$ nova quota-update --floating-ips -1 $tenant
$ nova quota-show --tenant $tenant
$ cinder quota-update --volumes -1 $tenant
$ cinder quota-update --snapshots -1 $tenant
$ cinder quota-update --backups -1 $tenant
$ cinder quota-update --gigabytes -1 $tenant
$ cinder quota-update --backup-gigabytes -1 $tenant
$ cinder quota-show --tenant $tenant
## nova boot
$ . ~/demo/demo-openrc
$ openstack server create --image 615962cd-4905-4be8-a442-b8ca9b75e720 \
--flavor mm1 --nic net-id=03a6de58-9693-4c41-9577-9307c8750141 \
--key-name magnum-key --security-group default mesos-master1
$ openstack server create --image 615962cd-4905-4be8-a442-b8ca9b75e720 \
--flavor ma1 --nic net-id=03a6de58-9693-4c41-9577-9307c8750141 \
--key-name magnum-key --security-group default mesos-agent1
$ openstack server create --image 615962cd-4905-4be8-a442-b8ca9b75e720 \
--flavor ma1 --nic net-id=03a6de58-9693-4c41-9577-9307c8750141 \
--key-name magnum-key --security-group default mesos-bootstrap
## 접속 테스트
$ sudo ip netns exec qrouter-68cfc511-7e75-4b85-a1ca-d8a09c489ccc \
ssh -i ~/magnum-key centos@10.0.0.14
## floating ip 생성
$ openstack ip floating create public
$ openstack ip floating list
$ openstack ip floating add 192.168.30.134 mesos-master1
$ openstack ip floating add 192.168.30.135 mesos-agent1
$ openstack ip floating add 192.168.30.136 mesos-bootstrap
$ openstack ip floating add 192.168.30.137 mesos-agent2
[ Bootstrap node 에서 ssh 복사 ]
$ ssh-keygen -t rsa
$ ssh-copy-id 10.0.0.14
$ ssh-copy-id 10.0.0.15
$ ssh-copy-id 10.0.0.17
$ sudo su -
# ssh-keygen -t rsa
# ssh-copy-id 10.0.0.14
# ssh-copy-id 10.0.0.15
# ssh-copy-id 10.0.0.17
[ Bootstrap, Master Node, Agent Node 공통 ]
$ sudo yum update
$ sudo yum upgrade -y
$ sudo systemctl stop firewalld && sudo systemctl disable firewalld
## CentOS 7.2 Upgrade
$ sudo yum upgrade --assumeyes --tolerant
$ sudo yum update --assumeyes
$ uname -r
3.10.0-327.18.2.el7.x86_64
## Docker 에서 OverlayFS 사용
$ sudo tee /etc/modules-load.d/overlay.conf <<-'EOF'
overlay
EOF
## reboot
$ reboot
## OverlayFS 확인
$ lsmod | grep overlay
## Docker yum Repo
$ sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
## Docker Daemon with OverlayFS
$ sudo mkdir -p /etc/systemd/system/docker.service.d && sudo tee /etc/systemd/system/docker.service.d/override.conf <<- EOF
[Service]
ExecStart=
ExecStart=/usr/bin/docker daemon --storage-driver=overlay -H fd://
EOF
## Install Docker engin, daemon and service
$ sudo yum install --assumeyes --tolerant docker-engine
$ sudo systemctl start docker
$ sudo systemctl enable docker
## Test docker
$ sudo docker ps
[ DC/OS 설치 ]
[ Bootstrap Node ]
## DC/OS installer download
$ mkdir -p installer
$ cd installer
[ WEB 으로 설치 ]
## start web installer (9000 port)
$ sudo bash dcos_generate_config.sh --web -v
## web 으로 접속
## ip detect script
$ vi ip_detect.sh
#!/bin/bash
IP=$(ip addr show eth0 | awk '/inet /{print substr($2,0,9)}')
echo $IP
[ GUI 로 설치하고 나서 다시 설치할려면 아래 삭제 필요 ]
## 모든 클러스터 노드
$ sudo rm -rf /opt/mesosphere
## bootstrap 노드
$ sudo rm -rf /var/lib/zookeeper
[ CLI 로 설치 ]
$ cd installer
$ mkdir -p genconf && cd genconf
$ sudo vi config.yaml
---
agent_list:
- 10.0.0.15
- 10.0.0.17
#bootstrap_url: file:///opt/dcos_install_tmp
bootstrap_url: http://192.168.30.136:80
cluster_name: DCOS
exhibitor_storage_backend: static
ip_detect_filename: /genconf/ip-detect
master_discovery: static
master_list:
- 10.0.0.14
process_timeout: 10000
resolvers:
- 8.8.8.8
- 8.8.4.4
ssh_port: 22
ssh_user: centos
$ vi ip-detect
#!/bin/bash
IP=$(ip addr show eth0 | awk '/inet /{print substr($2,0,9)}')
echo $IP
$ cd ..
$ sudo bash dcos_generate_config.sh
$ sudo docker run -d -p 80:80 -v $PWD/genconf/serve:/usr/share/nginx/html:ro nginx
[ 모든 Master Node 에서 실행 ]
$ mkdir /tmp/dcos && cd /tmp/dcos
$ curl -O http://10.0.0.16:80/dcos_install.sh
$ sudo bash dcos_install.sh master
[ 모든 Agent Node 에서 실행 ]
$ sudo yum install -y ipset unzip
$ sudo groupadd nogroup
$ mkdir /tmp/dcos && cd /tmp/dcos
$ curl -O http://10.0.0.16:80/dcos_install.sh
$ sudo bash dcos_install.sh slave
## Master Node 설치 상황 보기
$ http://192.168.30.134:8181/exhibitor/v1/ui/index.html
[ CLI 설치 ]
## pip 설치
$ curl -O https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py
$ sudo pip install virtualenv
$ mkdir ~/dcos && cd ~/dcos
$ curl -O https://downloads.dcos.io/dcos-cli/install.sh
$ bash install.sh . http://192.168.30.134
## dcos 명령어를 사용할려면 아래와 같이 실행
$ source /home/centos/dcos/bin/env-setup
## 다음의 파일 값을 보여줌 : ~/./dcos/dcos.toml
$ dcos config show
[ package 조회 및 서비스 설치 ]
$ dcos package search
arangodb 0.3.0
cassandra 1.0.5-2.2.5
chronos 2.4.0
jenkins 0.2.3
kafka 1.0.9-0.10.0.0
marathon 1.1.1
spark 1.0.0-1.6.1-2
avi 16.2
calico 0.1.0
concord 0.3.16.4
confluent 1.0.3-3.0.0
crate 0.1.0
datadog 5.4.3
elasticsearch 0.7.0
etcd 0.0.3
exhibitor 1.0.0
hdfs 2.5.2-0.1.9
hue 0.0.1
kafka-manager 1.3.0.8
linkerd 0.6.0-0.1
marathon-lb 1.2.2
memsql 0.0.1
mr-redis 0.0.1
mysql 5.7.12
namerd 0.6.0-0.1
nginx 1.8.1
openvpn 0.0.0-0.1
openvpn-admin 0.0.0-0.1
quobyte 1.2.1
riak 0.1.1
ruxit 0.1
spark-notebook 0.1.0
storm 0.1.0
vamp 0.8.5
weavescope 0.15.0
weavescope-probe 0.15.0
zeppelin 0.6.0
$ dcos package install zeppelin
$ dcos package install spark
반응형