docker集群部署(docker集群部署web项目)

本篇文章给大家谈谈docker集群部署,以及docker集群部署web项目对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Kafka集群部署(Docker容器的方式)

文章主要介绍以docker容器的方式部署kafka集群。

上述配置文件中的server.x,数字x对应到data/myid文件中的值。三台机器x的值分别就是1,2,3。参数详细说明请参考 官网文档唤含 。

1.--net=host: 容器与主机共享同一Network Namespace,即容器与网络看到的是相同的网络视图(host模式存在一定的风险,对安全要求很高的生产环境最好不要用host模兆链森式,应考虑除此之外的其他几种模式)

2.-v: 指定主机到容器的目录映射关系

这样就以容器的方式启动了zookeeper的服务,可以通过 "docker exec -it zookeeper bash" 命令进入容器中进行一些操作,例如查看服务启动是否正常。也可以通过查看2181端口是否被监听判断zookeeper的服务是否运行

详细的参数配置说明请参考 官方文档 ,参数不仅可以通过上述文件的方式来配置,也可以通过容器环境变量的方式来配置,这里结合两种方式使用。

1.KAFKA_ADVERTISED_HOST_NAME、KAFKA_BROKER_ID的值要结合每台机器自身设置

2./etc/hosts文件中最好配置ip与hostname的映射关系,否则会报出如下错误" Error: Exception thrown by the agent : java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: node0: node0: System error "

3.通过-e 指定的环境变量与在server.properties中配置的选项其效果是一样的

4.配置文件中的选项若要通过环境变量来指定,方式为:如broker.id对应KAFKA_BROKER_ID,类似的log.dirs对应KAFKA_LOG_DIRS

5.KAFKA_HEAP_OPTS="-Xmx6G -Xms6G"指java堆内存大小的设置,6G大小是kafka官网给出的数值,此数值要结合机器的内存大小给出。超过6G的内存,可以设置为6G;若机器的内存低于6G而设置6G,则会报错。

5.启动成功后,可族亩以通过"docker logs kafka"命令查看日志

1.ZK_HOSTS:ZooKeeper访问地址(需指定机器的ip,localhost:2181或127.0.0.1:2181均会报 "java.net.ConnectException: Connection refused" 异常)

手把手超详细Docker部署MongoDB集群

mongodb 集群搭建的方式有三种:

首先我们先来了解一下Mongo集群的概念,Mongo集群有3个主要组件

ConfigServer:在集群中扮演存储整个集群的配置信息,负责配置存储,如果需要高可用的ConfigServer那么需要3个节点。

Shard:分片,存茄局储真实的数据,每一个Shard分片都负责存储集群中的数据,例如一个集群有3个分片,然后我们定义分片规则为哈希,那么整个集群的数据就会(分割)到3个分片中的某一个分片,那么分片是特别重要的,如果集群中的一个分片全部崩溃了那么集群将不可用,所以我们要保证集群的高可用,那么我们需要一个分片配置3个节点,2个副本集一个仲裁节点,仲裁节点类似于Redis的哨兵模式,如果发现主节点挂了那么让另一个副本集进行数据存储。

Mongos:Mongos我们可以理解为整个集群的入口,类似于Kafka的Broker代理,也就是客户端,我们通过客户端连接集群进行查询。

下面是MongoDB的官方集群架构图,我们看到Mongos是一个路由,他们的信息都存储在ConfigServer中,我们通过Mongos进行添加,然后根据条件将数据进行分片到分片的副本集中

首先我们搭建两个config-server

创建两个config-server的配置文件

然后配置文件中配置端口

然后启动容器

然后进入容器初始化

如果ok为1表示成功

下面我们给每个server创建2个分片

创建挂载文件

创建配置文件

然后启动容器

进入第一个分片

进入第二个分片

创建挂载文件

然后启动Mongo

mongo添加分片组

新建数据启用分片

那么我们先来总结一下我们搭建一个高可用集群需要多少个Mongo

mongos : 3台

configserver : 3台

shard : 3片

每一片shard 分别 部署两个副本集和一个仲裁节点 : 3台

那么就是 3 + 3 + 3 * 3 = 15 台,我这里演示采用3台服务器

114.67.80.169 4核16g 部署一个configserver,一个mongos,2个分片组

182.61.2.16 2核4g 部署一个configserver,一个mongos,1个分片组

106.12.113.62 1核2g 部署一个configserver,一个mongos,不搭建分片组

由于此处服务器原因所以不是均衡分布,请根据自身实际情况搭建

我们先来搭建ConfigServer,因为我们知道搭建的话一定要高可用而且一定要权限这里mongo之间通信采用秘钥文件,所以我们先进行生成

创建挂载文件目录

写入配置文件

然后颤岩让生成keyFile

文件如下,我们,之后我们所以key都采用这个(请采用自己生成的key)

写入key文件

然后启动config-server1容器

创建挂载文件目录

写入配置文件

写入配置文件

文件如下,我们,之后我们所以key都采用这个(请采用自己生成的key)

写入key文件

然后启动config-server2容器

创建挂载文件目录

写入配置文件

文件如下,我们,之后我们所以key都采用这个(请采用自己生成的key)

写入key文件

然后启动config-server3容器

进入第一台容器

输入

如果返回ok则成功

然后我们创建用户

由于mongos是客户端,所以我们先搭建好config以及shard之枣颂后再搭建mongos。

在同一台服务器上初始化一组分片

创建挂载文件

配置配置文件

创建keyfile

运行shard1分片组

并且制定第三个副本集为仲裁节点

返回ok后创建用户

然后退出,分片组1搭建完成

在同一台服务器上初始化一组分片

创建挂载文件

配置配置文件

创建keyfile

运行shard2分片组

并且制定第三个副本集为仲裁节点

返回ok后创建用户

然后退出,分片组2搭建完成

在同一台服务器上初始化一组分片

创建挂载文件

配置配置文件

创建keyfile

运行shard3分片组

并且制定第三个副本集为仲裁节点

返回ok后创建用户

然后退出,分片组3搭建完成

创建配置文件

填入配置文件,这里我们删除了认证的信息,因为mongos是不能设置认证的,他也是用的前面使用的密码即可,如configserver的密码

创建keyfile

运行mongos1

创建配置文件

填入配置文件,这里我们删除了认证的信息,因为mongos是不能设置认证的,他也是用的前面使用的密码即可,如configserver的密码

创建keyfile

运行mongos2

创建配置文件

填入配置文件,这里我们删除了认证的信息,因为mongos是不能设置认证的,他也是用的前面使用的密码即可,如configserver的密码

创建keyfile

运行mongos3

进入第一台mongos

先登录(使用前面设置的root用户密码)

进行配置分片信息

全部返回ok则成功

去其他两台mongos执行

mongos2

mongos3

创建用户

插入数据

openssl rand -base64 756 mongo.key

清空server1两个分片数据

清空server2两个分片数据

[img]

docker部署redis集群(实战)

集群的话我们要建立自己的网卡。

创建多个节缺袭点(实例是6个三个主三个从):

for port in $(seq 1 6); \

do \

mkdir -p /mydata/redis/node-${port}/conf

touch /mydata/redis/node-${port}/conf/redis.conf

cat EOF /mydata/redis/node-${port}/conf/redis.conf

port 6379

bind 0.0.0.0

cluster-enabled yes

cluster-config-file nodes.conf

cluster-node-timeout 5000

cluster-announce-ip 172.38.0.1${port}

cluster-announce-port 6379

cluster-announce-bus-port 16379

appendonly yes

EOF

done

for port in $(seq 1 6); \

do \

docker run -p 637${port}:6379 -p 1637${port}:16379 --name redis-${port} \

-v /mydata/redis/伏消兄node-${port}/data:/data \

-v /mydata/redis/node-${port}/conf/桥肆redis.conf:/etc/redis/redis.conf \

-d --net redis-net --ip 172.38.0.1${port} redis:5.0.9-alpine3.11 redis-server  /etc/redis/redis.conf;

done

先进入:

docker exec -it redis-1 /bin/sh

集群:

redis-cli --cluster create 172.38.0.11:6379 172.38.0.12:6379 172.38.0.13:6379 172.38.0.14:6379 172.38.0.15:6379 172.38.0.16:6379 --cluster-replicas 1

关于docker集群部署和docker集群部署web项目的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签列表