21

Deploying a Load- Balanced Data Pipeline · named Tweeter. Tweeter is an app similar to Twitter that you can use to post 140-character messages to the internet. ... IP address of

Embed Size (px)

Citation preview

dcospackageinstall

cores_max 8

HAPROXY_0_VHOST tweeter.jsonHAPROXY_0_VHOST

HAPROXY_0_VHOST

http:// /

[email protected]:mesosphere/[email protected]:mesosphere/tweeter.git

instances tweeter.json

node-0.cassandra.mesos:9042

]],,"labels""labels"::{{"HAPROXY_GROUP""HAPROXY_GROUP"::"external""external",,"HAPROXY_0_VHOST""HAPROXY_0_VHOST"::"<Master-Public-IP>""<Master-Public-IP>"}}}}

]],,"labels""labels"::{{"HAPROXY_GROUP""HAPROXY_GROUP"::"external""external",,"HAPROXY_0_VHOST""HAPROXY_0_VHOST"::"joel-oss-publicsl-e21skwtlxt0c-2029962837.us-west-2.elb.amazonaws.com""joel-oss-publicsl-e21skwtlxt0c-2029962837.us-west-2.elb.amazonaws.com"}}}}

dcosmarathonappadd1.8/tweeter.jsondcosmarathonappadd1.8/tweeter.json

dcosmarathonappupdatetweeterinstancesdcosmarathonappupdatetweeterinstances==<<number_of_desired_instancesnumber_of_desired_instances>>

broker-0.kafka.mesos:9557

tweeter.json

post-tweets.json

1.1.1.1:30000cmd post-tweets.json

VIP_0

dcospackageinstall

cores_max 8

dcos-enterprise-cli

dcospackagesearch enterprise*

dcospackagesearchenterprise*dcospackagesearchenterprise*

NAMEVERSIONSELECTEDFRAMEWORKDESCRIPTIONNAMEVERSIONSELECTEDFRAMEWORKDESCRIPTIONdcos-enterprise-cli1.0.3FalseFalseDC/OSEnterpriseCLIdcos-enterprise-cli1.0.3FalseFalseDC/OSEnterpriseCLI

public-key.pem

dcospackagedcospackageinstallinstalldcos-enterprise-clidcos-enterprise-cli

dcossecurityorgservice-accountskeypairprivate-key.pempublic-key.pemdcossecurityorgservice-accountskeypairprivate-key.pempublic-key.pem

-----BEGINPUBLICKEY----------BEGINPUBLICKEY-----

marathon-lb-service-acctpublic-key.pem

marathon-lb-secret private-key.pem marathon-lb-service-acct

MIIBIjANBgkqhkiMIIBIjANBgkqhki......-----ENDPUBLICKEY----------ENDPUBLICKEY-----

dcossecurityorgservice-accountscreate-ppublic-key.pem-ddcossecurityorgservice-accountscreate-ppublic-key.pem-d"Marathon-LBserviceaccount""Marathon-LBserviceaccount"

dcossecuritysecretscreate-sa-secretprivate-key.pemmarathon-lb-service-acctmarathon-lb-secretdcossecuritysecretscreate-sa-secretprivate-key.pemmarathon-lb-service-acctmarathon-lb-secret

<master-ip>

dcossecuritysecretslist/dcossecuritysecretslist/

-marathon-lb-secret-marathon-lb-secret

curl-k-vhttp://curl-k-vhttp://<<master-ipmaster-ip>>/ca/dcos-ca.crt/ca/dcos-ca.crt

>>GET/ca/dcos-ca.crtHTTP/1.1GET/ca/dcos-ca.crtHTTP/1.1>>Host:54.149.23.77Host:54.149.23.77>>User-Agent:curl/7.43.0User-Agent:curl/7.43.0>>Accept:*/*Accept:*/*>><<HTTP/1.1200OKHTTP/1.1200OK<<Server:openresty/1.8.15.1Server:openresty/1.8.15.1<<Date:Tue,11Oct201618:30:49GMTDate:Tue,11Oct201618:30:49GMT<<Content-Type:application/x-x509-ca-certContent-Type:application/x-x509-ca-cert<<Content-Length:1241Content-Length:1241<<Last-Modified:Tue,11Oct201615:17:28GMTLast-Modified:Tue,11Oct201615:17:28GMT<<Connection:keep-aliveConnection:keep-alive<<ETag:ETag:"57fd0288-4d9""57fd0288-4d9"

dcos-ca.crt -----BEGINCERTIFICATE----- -----ENDCERTIFICATE----- dcos-cert.pem

dcos-cert.pem

<<Accept-Ranges:bytesAccept-Ranges:bytes<<-----BEGINCERTIFICATE----------BEGINCERTIFICATE-----MIIDaDCCAlCgAwIMIIDaDCCAlCgAwI......-----ENDCERTIFICATE----------ENDCERTIFICATE-----

curl-XPUT--cacertdcos-cert.pem-Hcurl-XPUT--cacertdcos-cert.pem-H"Authorization:token="Authorization:token=$($(dcosconfigshowcore.dcos_acs_tokendcosconfigshowcore.dcos_acs_token

curl-XPUT--cacertdcos-cert.pem-Hcurl-XPUT--cacertdcos-cert.pem-H"Authorization:token="Authorization:token=$($(dcosconfigshowcore.dcos_acs_tokendcosconfigshowcore.dcos_acs_token

curl-XPUT--cacertdcos-cert.pem-Hcurl-XPUT--cacertdcos-cert.pem-H"Authorization:token="Authorization:token=$($(dcosconfigshowcore.dcos_acs_tokendcosconfigshowcore.dcos_acs_token

curl-XPUT--cacertdcos-cert.pem-Hcurl-XPUT--cacertdcos-cert.pem-H"Authorization:token="Authorization:token=$($(dcosconfigshowcore.dcos_acs_tokendcosconfigshowcore.dcos_acs_token

config.json

config.json

{{"marathon-lb""marathon-lb"::{{"secret_name""secret_name"::"marathon-lb-secret""marathon-lb-secret"}}}}

dcospackagedcospackageinstallinstall--options--options==config.jsonmarathon-lbconfig.jsonmarathon-lb

tweeter tweeter.json

HAPROXY_0_VHOST

[email protected]:mesosphere/[email protected]:mesosphere/tweeter.git

http:// /

instances tweeter.json

]],,"labels""labels"::{{"HAPROXY_GROUP""HAPROXY_GROUP"::"external""external",,"HAPROXY_0_VHOST""HAPROXY_0_VHOST"::"<public-agent-IP>""<public-agent-IP>"}}}}

......]],,"labels""labels"::{{"HAPROXY_GROUP""HAPROXY_GROUP"::"external""external",,"HAPROXY_0_VHOST""HAPROXY_0_VHOST"::"joel-ent-publicsl-e7wjol669l9f-741498241.us-west-2.elb.amazonaws.com""joel-ent-publicsl-e7wjol669l9f-741498241.us-west-2.elb.amazonaws.com"}}}}

dcosmarathonappadd1.8/tweeter.jsondcosmarathonappadd1.8/tweeter.json

dcosmarathonappupdatetweeterinstancesdcosmarathonappupdatetweeterinstances==<<number_of_desired_instancesnumber_of_desired_instances>>

node-0.cassandra.mesos:9042broker-0.kafka.mesos:9557

HAPROXY_0_VHOST tweeter.json

HAPROXY_0_VHOST tweeter.json

post-tweets.json

post-tweets.json

dcosmarathonappaddpost-tweets.jsondcosmarathonappaddpost-tweets.json

1.1.1.1:30000cmd post-tweets.json

tweeter.json VIP_0

{{"id""id"::"/post-tweets""/post-tweets",,"cmd""cmd"::"bin/tweetshakespeare-tweets.jsonhttp://1.1.1.1:30000""bin/tweetshakespeare-tweets.jsonhttp://1.1.1.1:30000",,......}}

{{......"containerPort""containerPort"::30003000,,"hostPort""hostPort"::00,,"servicePort""servicePort"::1000010000,,"labels""labels"::{{"VIP_0""VIP_0"::"1.1.1.1:30000""1.1.1.1:30000"}}......}}

https://<master_ip>/service/zeppelin/tweeter-analytics.json

https:// http://