1) 拉下来 ES集群  spark集群 两套快速部署环境, 并只用docker跑起来,并保存到私库。

2)弄清楚怎么样打包 linux镜像(或者说制作)。

3)试着改一下,让它们跑在集群里面。

4) 弄清楚

Dockerfile 怎么制作镜像

docker-compose 里面的启动项 及 与 mesos里面怎么对应起来。

5)写一个spack程序

及在ES环境里造少量数据查一下。

ES 环境docker :参考贴子来跑的,https://cloud.tencent.com/developer/article/1098820

记录下主要步骤:

1)拉镜像到私库

2)内网虚拟机环境,禁用其它服务没有就跳过,ip修改,免密,等。

  1. systemctl disable mesos-slave
  2. systemctl stop mesos-slave
  3. systemctl disable zookeeper
  4. systemctl stop zookeeper
  5. systemctl disable mesos-master
  6. systemctl stop mesos-master
  7. systemctl disable marathon
  8. systemctl stop marathon
  9. systemctl enable docker
  10. systemctl start docker
  11. systemctl daemon-reload
  12. systemctl restart docker

3)从私库拉镜象,不需要每个全拉下来,拉对应的。

  1. docker pull 192.168.1.153:31809/kafka.new.es
  2. docker pull 192.168.1.153:31809/zookeeper.new.es
  3.  
  4. docker pull 192.168.1.153:31809/elastic/elasticsearch:5.6.8.new.es
  5. docker pull 192.168.1.153:31809/elastic/kibana:5.6.8.new.es
  6. docker pull 192.168.1.153:31809/elastic/logstash:5.6.8.new.es
  7.  
  8. docker pull 192.168.1.153:31809/elastic/elasticsearch:5.6.8.new.es

4)

写脚本主要有   cp.test.sh  和 docker.run.sh

cp.test.sh 主要是测试 脚本流程 及 处理免密登陆第一次时需要输入yes问题

4.1

将 cp.test.sh 放在任意一台 ,将自己发送给所有节点,在每台这样操作,输入yes.

再发一次确保没漏

4.2

执行 docker.run.sh 启动容器

docker.run.sh主要做和三件事

1)将自己发给其它节点

2)处理自己 相关docker 的启动

3)通过ssh 向其它节点发送命令 在其它节点执行 docker.run.sh(当然这时根据参数是不会再次shh其它节点)

总之就是  docker.run.sh 将会停止和删除所有节点中原来的所有容器,并且启动该启动的容器。

另外附上相关操作脚本。

ip有修改

  1. -------------------公共库---------------------------------------
  2.  
  3. docker pull jenkins
  4. docker tag jenkins 192.168.1.153:/jenkins:latest
  5. docker push 192.168.1.153:/jenkins:latest
  6. docker rmi jenkins
  7. docker rmi 192.168.1.153:/jenkins
  8.  
  9. docker pull mysql
  10. docker tag mysql 192.168.1.153:/mysql:latest
  11. docker push 192.168.1.153:/mysql:latest
  12. docker rmi mysql
  13. docker rmi 192.168.1.153:/mysql
  14.  
  15. docker pull tomcat
  16. docker tag tomcat 192.168.1.153:/tomcat:latest
  17. docker push 192.168.1.153:/tomcat:latest
  18. docker rmi tomcat
  19. docker rmi 192.168.1.153:/tomcat
  20.  
  21. docker pull maven
  22. docker tag maven 192.168.1.153:/maven:latest
  23. docker push 192.168.1.153:/maven:latest
  24. docker rmi maven
  25. docker rmi 192.168.1.153:/maven
  26.  
  27. -------------------公共库---------------------------------------
  28.  
  29. -----------------快速部署ES集群.txt--------------------------
  30. https://cloud.tencent.com/developer/article/1098820
  31. docker pull zookeeper
  32. docker tag zookeeper 192.168.1.153:/zookeeper.new.es
  33. docker push 192.168.1.153:/zookeeper.new.es
  34. docker rmi zookeeper
  35. docker rmi 192.168.1.153:/zookeeper.new.es
  36.  
  37. docker pull wurstmeister/kafka
  38. docker tag wurstmeister/kafka 192.168.1.153:/kafka.new.es
  39. docker push 192.168.1.153:/kafka.new.es
  40. docker rmi wurstmeister/kafka
  41. docker rmi 192.168.1.153:/kafka.new.es
  42.  
  43. docker pull docker.elastic.co/elasticsearch/elasticsearch:5.6.
  44. docker tag docker.elastic.co/elasticsearch/elasticsearch:5.6. 192.168.1.153:/elastic/elasticsearch:5.6..new.es
  45. docker push 192.168.1.153:/elastic/elasticsearch:5.6..new.es
  46. docker rmi docker.elastic.co/elasticsearch/elasticsearch:5.6.
  47. docker rmi 192.168.1.153:/elastic/elasticsearch:5.6..new.es
  48.  
  49. docker pull docker.elastic.co/kibana/kibana:5.6.
  50. docker tag docker.elastic.co/kibana/kibana:5.6. 192.168.1.153:/elastic/kibana:5.6..new.es
  51. docker push 192.168.1.153:/elastic/kibana:5.6..new.es
  52. docker rmi docker.elastic.co/kibana/kibana:5.6.
  53. docker rmi 192.168...:/elastic/kibana:5.6..new.es
  54.  
  55. docker pull docker.elastic.co/logstash/logstash:5.6.
  56. docker tag docker.elastic.co/logstash/logstash:5.6. 192.168.1.153:/elastic/logstash:5.6..new.es
  57. docker push 192.168.1.153:/elastic/logstash:5.6..new.es
  58. docker rmi docker.elastic.co/logstash/logstash:5.6.
  59. docker rmi 192.168.1.153:/elastic/logstash:5.6..new.es
  60.  
  61. -----------------快速部署ES集群.txt------------------------------
  62.  
  63. -----------------spark:.2镜像--------------------------
  64. https://www.cnblogs.com/hongdada/p/9475406.html
  65. docker pull singularities/spark
  66. docker tag singularities/spark 192.168.1.153:/singularities/spark
  67. docker push 192.168.1.153:/singularities/spark
  68. docker rmi singularities/spark
  69. docker rmi 192.168.1.153:/singularities/spark
  70. ----------------- spark:.2镜像------------------------------

-----------------centos7 镜像--------------------------
https://www.jianshu.com/p/4801bb7ab9e0
docker tag 7 192.168.1.153:31809/centos7
docker push 192.168.1.153:31809/centos7
docker rmi 7
docker rmi 192.168.1.153:31809/centos7
----------------- centos7 镜像------------------------------

-----------------singularities/hadoop 2.8 镜像--------------------------
https://www.jianshu.com/p/4801bb7ab9e0
docker tag singularities/hadoop:2.8 192.168.1.153:31809/singularities/hadoop.2.8
docker push 192.168.1.153:31809/singularities/hadoop.2.8
docker rmi singularities/hadoop:2.8
docker rmi 192.168.1.153:31809/singularities/hadoop.2.8
----------------- singularities/hadoop 2.8 镜像 ------------------------------

  1.  
  2. --docker images
  3. --查看库
  4. curl -X GET http://192.168.1.153:31809/v2/_catalog {"repositories":["nginx"]}
  5. --查看库
  6. curl -X GET http://192.168.1.153:31809/v2/_catalog {"name":"nginx","tags":["latest"]}

免密登陆测试脚本

cp.test.sh

  1. flag=$1
  2. getip()
  3. {
  4. ifconfig|grep 192|awk '{print $2}'
  5. }
  6.  
  7. ip=`getip`
  8. echo "salf IP:" $ip
  9. cpToOtherVM()
  10. {
  11. if [[ "${flag}" == "y" ]]; then
  12.  
  13. if [[ "${ip}" != "$1" ]]; then
  14.  
  15. scp -r /z-hl-c53cc450-62bf-4b65-b7f2-432e2aae9c62-v5.json $1:/
  16.  
  17. fi
  18. fi
  19.  
  20. }
  21.  
  22. execOtherVmShell()
  23. {
  24. if [[ "${flag}" == "y" ]]; then
  25.  
  26. if [[ "${ip}" != "$1" ]]; then
  27.  
  28. ssh root@$1 "sh /cp.test.sh"
  29.  
  30. fi
  31. fi
  32. }
  33.  
  34. echo "copy to"
  35. cpToOtherVM "192.168.1.100"
  36. cpToOtherVM "192.168.1.101"
  37. cpToOtherVM "192.168.1.102"
  38. sleep 1
  39. cpToOtherVM "192.168.1.110"
  40. cpToOtherVM "192.168.1.111"
  41. cpToOtherVM "192.168.1.112"
  42. sleep 1
  43. cpToOtherVM "192.168.1.120"
  44. cpToOtherVM "192.168.1.121"
  45. cpToOtherVM "192.168.1.122"
  46. cpToOtherVM "192.168.1.123"
  47. sleep 3
  48. echo "exec other"
  49. execOtherVmShell "192.168.1.100"
  50. execOtherVmShell "192.168.1.101"
  51. execOtherVmShell "192.168.1.102"
  52.  
  53. execOtherVmShell "192.168.1.110"
  54. execOtherVmShell "192.168.1.111"
  55. execOtherVmShell "192.168.1.112"
  56.  
  57. execOtherVmShell "192.168.1.120"
  58. execOtherVmShell "192.168.1.121"
  59. execOtherVmShell "192.168.1.122"
  60. execOtherVmShell "192.168.1.123"
  61.  
  62. echo "exec salf action"

运行容器脚本

docker.run.sh

  1. [root@docker-master3 /]# cat docker.run.sh
  2.  
  3. flag=$1
  4. getip()
  5. {
  6. ifconfig|grep 192|awk '{print $2}'
  7. }
  8.  
  9. ip=`getip`
  10. echo "salf IP:" $ip
  11. cpToOtherVM()
  12. {
  13. if [[ "${flag}" == "y" ]]; then
  14.  
  15. if [[ "${ip}" != "$1" ]]; then
  16.  
  17. scp -r /etc/sysctl.conf $1:/etc/sysctl.conf
  18. scp -r /docker.run.sh $1:/docker.run.sh
  19.  
  20. fi
  21. fi
  22.  
  23. }
  24.  
  25. execOtherVmShell()
  26. {
  27. if [[ "${flag}" == "y" ]]; then
  28.  
  29. if [[ "${ip}" != "$1" ]]; then
  30.  
  31. ssh root@$1 "docker ps -a |grep 192.168.1. |awk -F ' ' '{print $1}'| xargs -i docker kill {}"
  32. echo "stop all docker"
  33. sleep 2
  34. ssh root@$1 "docker ps -a |grep 192.168.1. |awk -F ' ' '{print $1}'| xargs -i docker rm {}"
  35. echo "rm all docker"
  36. sleep 5
  37. ssh root@$1 "sh /docker.run.sh"
  38.  
  39. fi
  40. fi
  41. }
  42.  
  43. echo "copy to"
  44. cpToOtherVM "192.168.1.100"
  45. cpToOtherVM "192.168.1.101"
  46. cpToOtherVM "192.168.1.102"
  47. sleep 1
  48. cpToOtherVM "192.168.1.110"
  49. cpToOtherVM "192.168.1.111"
  50. cpToOtherVM "192.168.1.112"
  51. sleep 1
  52. cpToOtherVM "192.168.1.120"
  53. cpToOtherVM "192.168.1.121"
  54. cpToOtherVM "192.168.1.122"
  55. cpToOtherVM "192.168.1.123"
  56. sleep 1
  57.  
  58. echo "exec salf action"
  59. docker ps -a |grep 192.168.1. |awk -F ' ' '{print $1}'| xargs -i docker kill {}
  60. sleep 2
  61. docker ps -a |grep 192.168.1. |awk -F ' ' '{print $1}'| xargs -i docker rm {}
  62. sleep 3
  63.  
  64. function runZookeeper()
  65. {
  66. echo "exec runZookeeper" $1 $2
  67. # 启动
  68. docker run --name zookeeper \
  69. --net=host \
  70. --restart always \
  71. -v /data/zookeeper:/data/zookeeper \
  72. -e ZOO_PORT=2181 \
  73. -e ZOO_DATA_DIR=/data/zookeeper/data \
  74. -e ZOO_DATA_LOG_DIR=/data/zookeeper/logs \
  75. -e ZOO_MY_ID=$2 \
  76. -e ZOO_SERVERS="server.1=192.168.1.100:2888:3888 server.2=192.168.1.101:2888:3888 server.3=192.168.1.102:2888:3888" \
  77. -d 192.168.1.153:31809/zookeeper.new.es
  78. sleep 2
  79. }
  80.  
  81. function runKafka()
  82. {
  83.  
  84. echo "exec runKafka" $1 $2
  85. # 机器有11块盘,这里都用起来
  86. mkdir -p /data{1..11}/kafka
  87.  
  88. # 启动
  89. docker run --name kafka \
  90. --net=host \
  91. --volume /data1:/data1 \
  92. --volume /data2:/data2 \
  93. --volume /data3:/data3 \
  94. --volume /data4:/data4 \
  95. --volume /data5:/data5 \
  96. --volume /data6:/data6 \
  97. --volume /data7:/data7 \
  98. --volume /data8:/data8 \
  99. --volume /data9:/data9 \
  100. --volume /data10:/data10 \
  101. --volume /data11:/data11 \
  102. -e KAFKA_BROKER_ID=$2 \
  103. -e KAFKA_PORT=9092 \
  104. -e KAFKA_HEAP_OPTS="-Xms8g -Xmx8g" \
  105. -e KAFKA_HOST_NAME=$1 \
  106. -e KAFKA_ADVERTISED_HOST_NAME=$1 \
  107. -e KAFKA_LOG_DIRS=/data1/kafka,/data2/kafka,/data3/kafka,/data4/kafka,/data5/kafka,/data6/kafka,/data7/kafka,/data8/kafka,/data9/kafka,/data10/kafka,/data11/kafka \
  108. -e KAFKA_ZOOKEEPER_CONNECT="192.168.1.100:2181,192.168.1.101:2181,192.168.1.102:2181" \
  109. -d 192.168.1.153:31809/kafka.new.es
  110. sleep 2
  111. }
  112.  
  113. function runMaster()
  114. {
  115. echo "exec runMaster" $1 $2
  116. #!/bin/bash
  117. # 删除已退出的同名容器
  118. #docker ps -a | grep es_master |egrep "Exited|Created" | awk '{print $1}'|xargs -i% docker rm -f % 2>/dev/null
  119. # 启动
  120. docker run --name es_master \
  121. -d --net=host \
  122. --restart=always \
  123. --privileged=true \
  124. --ulimit nofile=655350 \
  125. --ulimit memlock=-1 \
  126. --memory=1G \
  127. --memory-swap=-1 \
  128. --cpus=0.5 \
  129. --volume /data:/data \
  130. --volume /etc/localtime:/etc/localtime \
  131. -e TERM=dumb \
  132. -e ES_JAVA_OPTS="-Xms8g -Xmx8g" \
  133. -e cluster.name="iyunwei" \
  134. -e node.name="MASTER-"$2 \
  135. -e node.master=true \
  136. -e node.data=false \
  137. -e node.ingest=false \
  138. -e node.attr.rack="0402-K03" \
  139. -e discovery.zen.ping.unicast.hosts="192.168.1.110:9301,192.168.1.111:9301,192.168.1.112:9301,192.168.1.110:9300,192.168.1.112:9300,192.168.1.113:9300,192.168.1.120:9300,192.168.1.121:9300,192.168.1.122:9300,192.168.1.123:9300" \
  140. -e discovery.zen.minimum_master_nodes=2 \
  141. -e gateway.recover_after_nodes=5 \
  142. -e network.host=0.0.0.0 \
  143. -e transport.tcp.port=9301 \
  144. -e http.port=9201 \
  145. -e path.data="/data/iyunwei/master" \
  146. -e path.logs=/data/elastic/logs \
  147. -e bootstrap.memory_lock=true \
  148. -e bootstrap.system_call_filter=false \
  149. -e indices.fielddata.cache.size="25%" \
  150. 192.168.1.153:31809/elastic/elasticsearch:5.6.8.new.es
  151. sleep 2
  152.  
  153. }
  154.  
  155. function runClient()
  156. {
  157. echo "exec runClient" $1 $2
  158. #!/bin/bash
  159. #docker ps -a | grep es_client |egrep "Exited|Created" | awk '{print $1}'|xargs -i% docker rm -f % 2>/dev/null
  160. docker run --name es_client \
  161. -d --net=host \
  162. --restart=always \
  163. --privileged=true \
  164. --ulimit nofile=655350 \
  165. --ulimit memlock=-1 \
  166. --memory=1G \
  167. --memory-swap=-1 \
  168. --cpus=0.5 \
  169. --volume /data:/data \
  170. --volume /etc/localtime:/etc/localtime \
  171. -e TERM=dumb \
  172. -e ES_JAVA_OPTS="-Xms31g -Xmx31g" \
  173. -e cluster.name="iyunwei" \
  174. -e node.name="CLIENT-"$2 \
  175. -e node.master=false \
  176. -e node.data=false \
  177. -e node.attr.rack="0402-K03" \
  178. -e discovery.zen.ping.unicast.hosts="192.168.1.110:9301,192.168.1.111:9301,192.168.1.112:9301,192.168.1.110:9300,192.168.1.112:9300,192.168.1.113:9300,192.168.1.120:9300,192.168.1.121:9300,192.168.1.122:9300,192.168.1.123:9300" \
  179. -e discovery.zen.minimum_master_nodes=2 \
  180. -e gateway.recover_after_nodes=2 \
  181. -e network.host=0.0.0.0 \
  182. -e transport.tcp.port=9300 \
  183. -e http.port=9200 \
  184. -e path.data="/data/iyunwei/client" \
  185. -e path.logs=/data/elastic/logs \
  186. -e bootstrap.memory_lock=true \
  187. -e bootstrap.system_call_filter=false \
  188. -e indices.fielddata.cache.size="25%" \
  189. 192.168.1.153:31809/elastic/elasticsearch:5.6.8.new.es
  190. sleep 2
  191.  
  192. }
  193.  
  194. function runDATA ()
  195. {
  196. echo "exec runDATA" $1 $2
  197. #!/bin/bash
  198. #docker ps -a | grep es_data |egrep "Exited|Created" | awk '{print $1}'|xargs -i% docker rm -f % 2>/dev/null
  199. docker run --name es_data \
  200. -d --net=host \
  201. --restart=always \
  202. --privileged \
  203. --ulimit nofile=655350 \
  204. --ulimit memlock=-1 \
  205. --volume /data:/data \
  206. --volume /data1:/data1 \
  207. --volume /data2:/data2 \
  208. --volume /data3:/data3 \
  209. --volume /data4:/data4 \
  210. --volume /data5:/data5 \
  211. --volume /data6:/data6 \
  212. --volume /data7:/data7 \
  213. --volume /data8:/data8 \
  214. --volume /data9:/data9 \
  215. --volume /data10:/data10 \
  216. --volume /data11:/data11 \
  217. --volume /etc/localtime:/etc/localtime \
  218. --ulimit memlock=-1 \
  219. -e TERM=dumb \
  220. -e ES_JAVA_OPTS="-Xms31g -Xmx31g" \
  221. -e cluster.name="iyunwei" \
  222. -e node.name="DATA-"$2 \
  223. -e node.master=false \
  224. -e node.data=true \
  225. -e node.ingest=false \
  226. -e node.attr.rack="0402-Q06" \
  227. -e discovery.zen.ping.unicast.hosts="192.168.1.110:9301,192.168.1.111:9301,192.168.1.112:9301,192.168.1.110:9300,192.168.1.112:9300,192.168.1.113:9300,192.168.1.120:9300,192.168.1.121:9300,192.168.1.122:9300,192.168.1.123:9300" \
  228. -e discovery.zen.minimum_master_nodes=2 \
  229. -e gateway.recover_after_nodes=2 \
  230. -e network.host=0.0.0.0 \
  231. -e http.port=9200 \
  232. -e path.data="/data1/iyunwei/data,/data2/iyunwei/data,/data3/iyunwei/data,/data4/iyunwei/data,/data5/iyunwei/data,/data6/iyunwei/data,/data7/iyunwei/data,/data8/iyunwei/data,/data9/iyunwei/data,/data10/iyunwei/data,/data11/iyunwei/data,/data12/iyunwei/data" \
  233. -e path.logs=/data/elastic/logs \
  234. -e bootstrap.memory_lock=true \
  235. -e bootstrap.system_call_filter=false \
  236. -e indices.fielddata.cache.size="25%" \
  237. 192.168.1.153:31809/elastic/elasticsearch:5.6.8.new.es
  238. sleep 2
  239.  
  240. }
  241.  
  242. function runKibana()
  243. {
  244. echo "exec runKibana" $1 $2
  245. #!/bin/bash
  246. #docker ps -a | grep kibana | egrep "Exited|Create" | awk '{print $1}'|xargs -i% docker rm -f % 2>/dev/null
  247. docker run --name kibana \
  248. --restart=always \
  249. -d --net=host \
  250. -v /data:/data \
  251. -v /etc/localtime:/etc/localtime \
  252. --privileged \
  253. -e TERM=dumb \
  254. -e SERVER_HOST=0.0.0.0 \
  255. -e SERVER_PORT=5601 \
  256. -e SERVER_NAME=Kibana-$2 \
  257. -e ELASTICSEARCH_URL=http://localhost:9200 \
  258. -e ELASTICSEARCH_USERNAME=elastic \
  259. -e ELASTICSEARCH_PASSWORD=changeme \
  260. -e XPACK_MONITORING_UI_CONTAINER_ELASTICSEARCH_ENABLED=false \
  261. -e LOG_FILE=/data/elastic/logs/kibana.log \
  262. 192.168.1.153:31809/elastic/kibana:5.6.8.new.es
  263. sleep 2
  264.  
  265. }
  266.  
  267. function runLogstash()
  268. {
  269. echo "exec runLogstash" $1 $2
  270. #!/bin/bash
  271. #docker ps -a | grep logstash |egrep "Exited|Created" | awk '{print $1}'|xargs -i% docker rm -f % 2>/dev/null
  272. docker run --name logstash \
  273. -d --net=host \
  274. --restart=always \
  275. --privileged \
  276. --ulimit nofile=655350 \
  277. --ulimit memlock=-1 \
  278. -e ES_JAVA_OPTS="-Xms16g -Xmx16g" \
  279. -e TERM=dumb \
  280. --volume /etc/localtime:/etc/localtime \
  281. --volume /data/elastic/config:/usr/share/logstash/config \
  282. --volume /data/elastic/config/pipeline:/usr/share/logstash/pipeline \
  283. --volume /data/elastic/logs:/usr/share/logstash/logs \
  284. 192.168.1.153:31809/elastic/logstash:5.6.8.new.es
  285. sleep 2
  286.  
  287. }
  288.  
  289. function cfgkafka()
  290. {
  291. if [[ "${ip}" = "$1" ]]; then
  292.  
  293. echo "exec cfgkafka" $1 $2
  294.  
  295. mkdir -p /data/zookeeper
  296.  
  297. runZookeeper $1 $2
  298.  
  299. runKafka $1 $2
  300.  
  301. fi
  302. }
  303.  
  304. function cfgMaster()
  305. {
  306. if [[ "${ip}" = "$1" ]]; then
  307.  
  308. echo "exec cfgMaster" $1 $2
  309.  
  310. mkdir -p /data/iyunwei/master
  311. chown -R 1000:1000 /data/iyunwei
  312.  
  313. mkdir -p /data/iyunwei/client
  314. chown -R 1000:1000 /data/iyunwei
  315.  
  316. runMaster $1 $2
  317.  
  318. runClient $1 $2
  319.  
  320. runKibana $1 $2
  321.  
  322. runLogstash $1 $2
  323. fi
  324. }
  325.  
  326. function cfgDATA()
  327. {
  328. if [[ "${ip}" = "$1" ]]; then
  329.  
  330. echo "exec cfgDATA" $1 $2
  331.  
  332. mkdir -p /data{1..12}/iyunwei/data
  333. chown -R 1000:1000 /data{1..12}/iyunwei
  334.  
  335. runDATA $1 $2
  336.  
  337. fi
  338. }
  339.  
  340. index=0
  341. for kafkaClusterIP in "192.168.1.100" "192.168.1.101" "192.168.1.102"
  342. do
  343.  
  344. index=$(($index+1))
  345.  
  346. echo "cfgkafka" $kafkaClusterIP $index
  347.  
  348. cfgkafka $kafkaClusterIP $index
  349.  
  350. done
  351.  
  352. #Master
  353. MasterIndex=0
  354. for MasterIP in in "192.168.1.110" "192.168.1.111" "192.168.1.112"
  355. do
  356.  
  357. MasterIndex=$(($MasterIndex+1))
  358.  
  359. echo "cfgMaster" $MasterIP $MasterIndex
  360.  
  361. cfgMaster $MasterIP $MasterIndex
  362.  
  363. done
  364.  
  365. #DATA
  366. DATAIndex=0
  367. for DATAIP in "192.168.1.120" "192.168.1.121" "192.168.1.122" "192.168.1.123"
  368. do
  369. DATAIndex=$(($DATAIndex+1))
  370.  
  371. echo "cfgDATA" $DATAIP $DATAIndex
  372.  
  373. cfgDATA $DATAIP $DATAIndex
  374. done
  375. sleep 3
  376.  
  377. echo "exec other vm action"
  378. execOtherVmShell "192.168.1.100"
  379. execOtherVmShell "192.168.1.101"
  380. execOtherVmShell "192.168.1.102"
  381.  
  382. execOtherVmShell "192.168.1.110"
  383. execOtherVmShell "192.168.1.111"
  384. execOtherVmShell "192.168.1.112"
  385.  
  386. execOtherVmShell "192.168.1.120"
  387. execOtherVmShell "192.168.1.121"
  388. execOtherVmShell "192.168.1.122"
  389. execOtherVmShell "192.168.1.123"
  390.  
  391. curl -XPUT http://192.168.1.111:9200/_license?acknowledge=true -d @z-hl-c53cc450-62bf-4b65-b7f2-432e2aae9c62-v5.json -uelastic:changeme

内核参数 cat /etc/sysctl.conf

vm.max_map_count = 655360
vm.swappiness = 1

ip:规划与原贴不同

为保证通信方便,不组建复杂网络环境,全部放在同一网段。

192.168.1.100-102 相同为kafka

192.168.1.110-112 对应  192.168.2.100-102

192.168.1.120-123 对应  192.168.3.100-103

现在,容器布署成功

kafka镜像配置文件有权限问题

es-master主面kibana 可访问 但登不进云

http://192.168.1.110:5601/login?next=%2F#?_g=()

应该是没有注册的问题

  1. curl 命令注册时端口不能访问,需要看一下
  2.  
  3. 容器 ps -a 全部者在
  4.  
  5. 容器 ps kafka没有运行
  6.  
  7. 因为ip和原镜像的ip不一样,有可能要进入容器里面去拿配置文件,修改对应ip
    拿出来后还要重新打镜象才行,目前不了解要哪些配置要改
  1. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
  2. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  3. 192.168.1.151 docker-slave1 docker-slave1.com
  4. 192.168.1.152 docker-slave2 docker-slave2.com
  5. 192.168.1.153 docker-slave3 docker-slave3.com
  6. 192.168.1.161 docker-master1 docker-master1.com
  7. 192.168.1.162 docker-master2 docker-master3.com
  8. 192.168.1.163 docker-master3 docker-master3.com
  9. 192.168.1.110 es-master1 es-master1.com
  10. 192.168.1.111 es-master2 es-master2.com
  11. 192.168.1.112 es-master3 es-master3.com
  12. 192.168.1.110 es-kafka1 es-kafka1.com
  13. 192.168.1.101 es-kafka2 es-kafka2.com
  14. 192.168.1.102 es-kafka3 es-kafka3.com
  15. 192.168.1.120 es-data1 es-data1.com
  16. 192.168.1.121 es-data2 es-data2.com
  17. 192.168.1.122 es-data3 es-data3.com
  18. 192.168.1.124 es-data4 es-data4.com

docker 快速部署ES集群 spark集群的更多相关文章

  1. Docker安装部署es集群

    Docker安装部署es集群:环境准备:已安装docker的centos服务器一台1. 拉取es版本docker pull elasticsearch:5.6.82. 新建文件夹 数据挂载目录 和 配 ...

  2. 教你在Kubernetes中快速部署ES集群

    摘要:ES集群是进行大数据存储和分析,快速检索的利器,本文简述了ES的集群架构,并提供了在Kubernetes中快速部署ES集群的样例:对ES集群的监控运维工具进行了介绍,并提供了部分问题定位经验,最 ...

  3. 使用Docker快速部署ELK分析Nginx日志实践

    原文:使用Docker快速部署ELK分析Nginx日志实践 一.背景 笔者所在项目组的项目由多个子项目所组成,每一个子项目都存在一定的日志,有时候想排查一些问题,需要到各个地方去查看,极为不方便,此前 ...

  4. 使用Docker快速部署各类服务

    使用Docker快速部署各类服务 一键安装Docker #Centos环境 wget -O- https://gitee.com/iubest/dinstall/raw/master/install. ...

  5. 私活利器,docker快速部署node.js应用

    http://cnodejs.org/topic/53f494d9bbdaa79d519c9a4a 最近研究了几天docker的快速部署,感觉很有新意,非常轻量级和方便,打算在公司推广一下,解放运维, ...

  6. 使用Docker快速部署ELK分析Nginx日志实践(二)

    Kibana汉化使用中文界面实践 一.背景 笔者在上一篇文章使用Docker快速部署ELK分析Nginx日志实践当中有提到如何快速搭建ELK分析Nginx日志,但是这只是第一步,后面还有很多仪表盘需要 ...

  7. 利用Docker快速部署Mysql

    写在前面 我又来更新了~~~,今天内容较少,主要是利用Docker快速部署Mysql和初始化数据 利用Docker下载Mysql 简洁明了,在命令提示符中输入 docker pull mysql:8. ...

  8. ​在Docker中部署GreatSQL并构建MGR集群

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 为了方面社区用户体验GreatSQL,我们同时还提供Docker镜像,本文详细介绍如何在Docker中部署GreatSQL ...

  9. 【集群监控】Docker上部署Prometheus+Alertmanager+Grafana实现集群监控

    Docker部署 下载 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.re ...

随机推荐

  1. makefile笔记3 - makefile规则

    target ... : prerequisites ... command ... ... 规则包含两个部分,一个是依赖关系,一个是生成目标的方法. 在 Makefile 中,规则的顺序是很重要的, ...

  2. Fiddler抓取https的设置

    在抓取https的设置中,出现了The root certificate could not be located; 需要下载并安装证书生成器,勾选Capture HTTPS traffic.

  3. 大数据处理N!(21<N<2000)

    输入: 每行输入1个正整数n,(0<n<1000 000) 输出: 对于每个n,输出n!的(十进制)位数 digit, 和最高位数firstNum.(n!约等于 firstNum * 10 ...

  4. 第一次玩博客,今天被安利了一个很方便JDBC的基于Spring框架的一个叫SimpleInsert的类,现在就来简单介绍一下

    首先先对这段代码的简单介绍,我之前在需要操作JDBC的时候总是会因为经常要重新写SQL语句感到很麻烦.所以就能拿则拿不能拿的就简单地封装了一下. 首先是Insert.Spring框架的JDBC包里面的 ...

  5. Centos7.4 防火墙配置

    # service firewalld status; #查看防火墙状态 (disabled 表明 已经禁止开启启动 enable 表示开机自启,inactive 表示防火墙关闭状态 activate ...

  6. gulp在项目中的基本使用

    在项目中用gulp做项目的代码的管理,用起来很方便.主要用到了下面一些功能 关于js的处理,包括合并.压缩.加hash. 关于css的处理,编辑scss,合并css,加hash,自动加入前缀 本地开发 ...

  7. react-redux性能优化之reselect

    在React-redux深入理解中,我们知道了 react-redux 是如何将 React 和 Redux 进行连接的,今天来说一下其中存在的性能问题以及改进的方式. 一.存在的性能问题 以 Red ...

  8. dee

    窗口居中def center(self): screen = QDesktopWidget().screenGeometry() size = self.geometry() self.move((s ...

  9. Java并发编程75道面试题及答案

    1.在java中守护线程和本地线程区别? java中的线程分为两种:守护线程(Daemon)和用户线程(User). 任何线程都可以设置为守护线程和用户线程,通过方法Thread.setDaemon( ...

  10. Qt 学习-----helloword

    (参考:http://www.qter.org/portal.php?mod=view&aid=27&page=3) 1. 打开“文件→新建文件或项目”菜单项(也可以直接按下Ctrl+ ...