Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
DockerϵÁÐÖ®£¨¶þ£©£ºÊ¹ÓÃMesos¹ÜÀíDocker¼¯Èº
 
×÷Õߣº ee900222  À´Ô´;. ²©¿ÍÔ° ·¢²¼ÓÚ 2016-8-13
  5774  次浏览      27
 

1. Mesos¼ò½é

1.1 Mesos

Apache Mesos ÊÇÒ»¸ö·Ö²¼Ê½ÏµÍ³µÄ¹ÜÀíÈí¼þ£¬¶Ô¼¯ÈºµÄ×ÊÔ´½øÐзÖÅäºÍ¹ÜÀí¡£

MesosÖ÷ÒªÓÉÒÔϼ¸²¿·Ö×é³É£º

Master£º ¹ÜÀí¸÷Slave½Úµã

Slave£º Ϊ¼¯ÈºÌṩ×ÊÔ´

Framework£º scheduler´ÓMasterÇëÇó×ÊÔ´£¬executorÔÚSlaveÉÏÖ´ÐÐÈÎÎñ

Slave½ÚµãÉϵÄÿ¸öexecutorÊÇÒ»¸öÈÝÆ÷

¹Ù·½Îĵµ£º

http://mesos.apache.org/documentation/latest/architecture/

http://mesos.apache.org/documentation/latest/getting-started/

MesosÖ÷·þÎñÆ÷ʹÓÃZookeeper½øÐзþÎñÑ¡¾ÙºÍ·¢ÏÖ¡£ËüÓÐÒ»¸ö×¢²áÆ÷¼Ç¼ÁËËùÓÐÔËÐÐÈκκʹӷþÎñÆ÷ÐÅÏ¢£¬Ê¹ÓÃMultiPaxos½øÐÐÈÕÖ¾¸´ÖÆÊµÏÖÒ»ÖÂÐÔ¡£

MesosÓÐÒ»¸ö´Ó·þÎñÆ÷»Ö¸´»úÖÆ£¬ÎÞÂÛʲôʱºòÒ»¸ö´Ó·þÎñÆ÷ËÀ»úÁË£¬Óû§µÄÈÎÎñ»¹ÊÇÄܹ»¼ÌÐøÔËÐУ¬´Ó·þÎñÆ÷»á½«Ò»Ð©¹Ø¼üµãÐÅÏ¢ÈçÈÎÎñÐÅÏ¢ ״̬¸üг־û¯µ½±¾µØ´ÅÅÌÉÏ£¬ÖØÐÂÆô¶¯Ê±¿ÉÒÔ´Ó´ÅÅÌÉϻָ´ÔËÐÐÕâЩÈÎÎñ(ÀàËÆJavaÖеĶۻ¯ºÍ»½ÐÑ)

1.2 Marathon

Marathon ÊÇMesosµÄÒ»¸öFramework£¬ÓÃÀ´Ö´ÐÐÐèÒª³¤Ê±¼äÔËÐеÄÈÎÎñ¡£Èç¹û°ÑMesos±ÈÓ÷³ÉKernelµÄ»°£¬ÄÇôMarathon¾ÍÊÇËüµÄÊØ»¤½ø³ÌDaemon¡£

Ëü»¹¾ß±¸HA£¬Health Checks£¬·þÎñ·¢Ïֵȹ¦ÄÜ¡£Èç¹ûij¸öDocker½ø³Ì±ÀÀ££¬Marathon»áÖØÐÂÆô¶¯Í¬ÑùµÄ½ø³Ì¡£

1.3 Chronos

Chronos±¾ÖÊÉÏÊÇcron-on-mesos,ÕâÊÇÒ»¸öÓÃÀ´ÔËÐлùÓÚÈÝÆ÷¶¨Ê±ÈÎÎñµÄMesos¿ò¼Ü¡£

1.4 ZooKeeper

ZooKeeperÓÃÓÚ¼¯ÈºµÄ¹ÜÀí£¬°üÀ¨Í³Ò»ÅäÖùÜÀí£¬Ñ¡¾ÙLeaderµÈ¡£

2. °²×°Mesos

±¾´Î²âÊÔ»·¾³µÄ¹¹³ÉÈçÏ£º

Mesos Master£º test166

Mesos Slave£º test166£¬test167

Marathon£º test166

Chronos£º test166

ZooKeeper£º test166

2.1 °²×°×¼±¸

ÔÚËùÓлúÆ÷ÉÏ£¬°²×°MesosÔ´

1 # rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
cÔÚËùÓлúÆ÷µÄ/etc/hostsÖУ¬Ö¸¶¨Ö÷»úÃû

1 # vi /etc/hosts
2 10.86.255.166 test166
3 10.86.255.167 test167

2.2 °²×°Master

2.2.1 ÔÚMasterÉϰ²×°Mesos£¬Marathon£¬Chronos£¬ZooKeeper

  1. # yum install mesos marathon chronos mesosphere-zookeeper

Èç¹û·þÎñÆ÷ÉÏ֮ǰװ¹ýjdk£¬Éý¼¶µ½×îа汾

2.2.2 ZooKeeperÉ趨

±¾´ÎÅäÖõÄMasterÊǵ¥½Úµã»·¾³£¬ZooKeeperÒ²Êǵ¥µã

   
1   # vi /etc/mesos/zk
2 zk://test166:2181/mesos

2.2.3 Æô¶¯·þÎñ

   
1   # systemctl start zookeeper
2 # systemctl start mesos-master
3 # systemctl start marathon
4 # systemctl start chronos

2.3 °²×°Slave

2.3.1 ÔÚSlaveÉϰ²×°Mesos£¬Docker

  1  # yum install mesos docker

2.3.2 DockerÏà¹ØÉ趨

  
1 # echo 'docker,mesos' > /etc/mesos-slave/containerizers
2< # echo '5mins' > /etc/mesos-slave/executor_registration_timeout

2.3.3 ZooKeeperÉ趨

  
1# vi /etc/mesos/zk
2 zk://test166:2181/mesos

2.3.4 Æô¶¯·þÎñ

  
 1# systemctl start docker
2 # systemctl start mesos-slave

2.4 È·ÈÏ

MesosµÄÒ³Ãæ

http://10.86.255.166:5050/

MarathonµÄÒ³Ãæ

http://10.86.255.166:8080/

ChronosµÄÒ³Ãæ

http://10.86.255.166:4400/

3. ʹÓÃMesos

ÔÚMesos SlaveÒ³Ãæ£¬¿ÉÒÔ¿´µ½Á½¸öSlave

3.1 Ö´ÐÐframework²âÊÔ

3.1.1 ÔÚ·þÎñÆ÷ÉÏÖ´ÐÐframework²âÊÔÃüÁî

  
   1 # ./src/examples/python/test-framework 10.86.255.166:5050

3.1.2 ÔÚFrameworksÒ³Ãæ£¬¿ÉÒԲ鿴ÈÎÎñµÄÖ´ÐÐÇé¿ö

3.1.3 µã»÷½áÊøµÄÈÎÎñÒ³Ãæ£¬¿ÉÒÔ¿´µ½ÔÚÄĸöSlaveÉÏÖ´ÐеÄ

3.2 ²âÊÔMarathon

ÓÃncÃüÁîÆô¶¯Ò»¸öHTTP·þÎñ

3.2.1 ÔÚ¸÷½ÚµãÉϰ²×°netcat

  
     1 # yum install nmap-ncat

3.2.2 ÔÚMarathonÒ³Ãæ£¬µã»÷¡°Create Application¡±´´½¨ÈÎÎñ

command£º while true; do ( echo "HTTP/1.0 200 Ok"; echo; echo "Hello World" ) | nc -l $PORT; done

3.2.3 µã»÷¡°Create¡±ºó£¬´´½¨²¢Ö´ÐÐÈÎÎñ

3.2.4 ÔÚApplicationsÒ³Ãæ£¬µã»÷ÈÎÎñ£¬¿ÉÒÔ¿´µ½ÈÎÎñµÄÏêϸÐÅÏ¢

¿ÉÒÔ¿´µ½ÈÎÎñ·Ö²¼ÔÚÁ½¸ö½ÚµãÉÏ£¬·ÃÎÊHTTP·þÎñÆô¶¯µÄ¶Ë¿Ú

3.2.5 ÔÚ¸÷½Úµã¿ÉÒÔ¿´µ½nc½ø³ÌÕýÆô¶¯×Å

test166£º

test167£º

3.3 ²âÊÔChronos

3.3.1 ÔÚChronosÒ³Ãæ£¬µã»÷¡°New Job¡±´´½¨ÈÎÎñ

×¢Ò⣺ʱ¼äÊÇUTCʱ¼ä

3.3.2 ÔÚChronosÒ³Ãæ£¬¿ÉÒÔ¿´µ½ÈÎÎñÖ´ÐеÄÇé¿ö

3.3.3 ÔÚMesosÒ³Ãæ£¬¿ÉÒÔ¿´µ½ÈÎÎñÖ´ÐеÄÇé¿ö

4. Ö´ÐÐDockerÈÎÎñ

4.1 ²âÊÔͨ¹ýMarathonÖ´ÐÐDockerÈÎÎñ

Æô¶¯Docker£¬×¥È¡ubuntu¾µÏñ£¬dateÃüÁîÊä³öµ±Ç°Ê±¼ä

ÈÎÎñDeployingµÄʱºò£¬´Ódocker.ioץȡ¾µÏñ£¬×¥È¡ÏÂÀ´ºó£¬¿ªÊ¼Running¡£

Èç¹ûץȡ¾µÏñµÄʱ¼ä¹ý³¤£¬Ê§°ÜµÄʱºò£¬¿ÉÒÔÏÈÓÃdocker pullÃüÁîÔÚ½ÚµãÉÏץȡ¾µÏñºó£¬ÔÙÖ´ÐÐÈÎÎñ¡£

4.1.1 ´´½¨jsonÎļþ

  
							
     {
"container": {
"type": "DOCKER",
"docker": {
"image": "libmesos/ubuntu"
}
},
"id": "ubuntu-marathon",
"instances": 2,
"cpus": 0.5,
"mem": 256,
"uris": [],
"cmd": "while sleep 10; do date -u +%T; done"
}

4.1.2 ÔÚMarathonÉÏ´´½¨ÈÎÎñ

  
 # curl -X POST -H "Content-Type: application/json" http://test166:8080/v2/apps -d@marathon-test.json

4.1.3 ÔÚMarathonÒ³ÃæÈ·ÈÏÈÝÆ÷ÒѾ­Æô¶¯

4.1.4 ÔÚMesosÒ³ÃæÈ·ÈÏÈÎÎñÕýÔÚÖ´ÐÐÖÐ

4.1.5 ´ÓstdoutÐÅϢȷÈÏÊä³öµÄʱ¼ä

4.1.6 ÔÚ½ÚµãÉÏÈ·ÈÏÈÝÆ÷ÒѾ­Æô¶¯

# docker ps

4.1.7 ²é¿´ÈÝÆ÷µÄÈÕÖ¾£¬È·ÈÏÊä³öµÄʱ¼ä
  
  # docker logs CONTAINER_ID

4.2 ²âÊÔͨ¹ýChronosÖ´ÐÐDockerÈÎÎñ

Æô¶¯Docker£¬×¥È¡nginx¾µÏñ£¬Æô¶¯nginxÈÝÆ÷

4.2.1 ´´½¨jsonÎļþ

  
 # vi chronos-test.json
{
"container": {
"type": "DOCKER",
"image": "nginx"£¬
"network": "BRIDGE"
},
"schedule": "R\/2015-12-20T07:30:00Z\/PT2M",
"name": "chronos-nginx",
"cpus": "0.5",
"mem": "256",
"uris": [],
"command": "/usr/sbin/nginx -g 'daemon off;' -c /etc/nginx/nginx.conf"
}

network": "BRIDGE",ÒòΪDockerĬÈϵÄÍøÂçģʽÊÇÇŽӣ¬²»Ö¸¶¨Ä¬ÈÏÒ²ÊÇBRIDGE

4.2.2 ÔÚChronosÉÏ£¬´´½¨ÈÎÎñ

  
 # curl -L -H "Content-Type: application/json" -X POST -d@chronos-test.json http://test166:4400/scheduler/iso8601<

4.2.3 ÔÚChronosÒ³ÃæÈ·ÈÏÈÎÎñÒÑ×ö³É

±¾´ÎÊDzâÊÔ£¬ËùÒÔÔÚChronosµÄÈÎÎñÒ³Ãæ£¬µã»÷¡¸Force Run¡¹Ç¿ÖÆÖ´ÐÐ

4.2.4 ÔÚMesosÒ³ÃæÈ·ÈÏÈÎÎñµÄÏêϸÐÅÏ¢

4.2.5 ÔÚ½ÚµãÉÏÈ·ÈÏÈÝÆ÷Æô¶¯

  
  # docker ps

4.2.6 È·ÈÏnginxÍøÒ³¿ÉÒÔ·ÃÎÊ

5. ºó¼Ç

Mesos, Marathon ʹµÃ Docker¼¯ÈºµÄ¹ÜÀí±äµÃ¼òµ¥·½±ã£¬ÎªÔÚÉú²ú»·¾³²¿ÊðʹÓÃDocker¼¯ÈºÌṩÁË¿ÉÄÜ¡£

 

 
 
 
 
 
 
 
   
5774 ´Îä¯ÀÀ       27
 
Ïà¹ØÎÄÕÂ

ÔÆ¼ÆËãµÄ¼Ü¹¹
¶ÔÔÆ¼ÆËã·þÎñÄ£ÐÍ
ÔÆ¼ÆËãºËÐļ¼ÊõÆÊÎö
Á˽âÔÆ¼ÆËãµÄ©¶´
 
Ïà¹ØÎĵµ

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
ÈídzÎöÔÆ¼ÆËã
 
Ïà¹Ø¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

ר¼ÒÊӽǿ´ITÓë¼Ü¹¹
Èí¼þ¼Ü¹¹Éè¼Æ
ÃæÏò·þÎñÌåϵ¼Ü¹¹ºÍÒµÎñ×é¼þµÄ˼¿¼
ÈËÈËÍøÒÆ¶¯¿ª·¢¼Ü¹¹
¼Ü¹¹¸¯»¯Ö®ÃÕ
̸ƽ̨¼´·þÎñPaaS
Ïà¹ØÅàѵ¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
Windows Azure ÔÆ¼ÆËãÓ¦ÓÃ

ĦÍÐÂÞÀ­ ÔÆÆ½Ì¨µÄ¹¹½¨ÓëÓ¦ÓÃ
ͨÓù«Ë¾GE DockerÔ­ÀíÓëʵ¼ù
ijÑз¢ÖÐÐÄ Openstackʵ¼ù
ÖªÃûµç×Ó¹«Ë¾ ÔÆÆ½Ì¨¼Ü¹¹ÓëÓ¦ÓÃ
ijµçÁ¦ÐÐÒµ »ùÓÚÔÆÆ½Ì¨¹¹½¨ÔÆ·þÎñ
ÔÆ¼ÆËãÓëWindows AzureÅàѵ
±±¾© ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ