当前位置: 首页 > news >正文

spark 网站开发小程序定制开发要多久

spark 网站开发,小程序定制开发要多久,网站备案完成通知书,项目管理流程软件什么是 MongoDB 副本集#xff1f; MongoDB 副本集#xff08;Replica-Set#xff09;是一个分布式数据库系统#xff0c;它包含一个主节点和多个从节点。主节点负责处理所有写操作#xff0c;从节点用于读取数据。当主节点发生故障时#xff0c;从节点可以自动选举一个…什么是 MongoDB 副本集 MongoDB 副本集Replica-Set是一个分布式数据库系统它包含一个主节点和多个从节点。主节点负责处理所有写操作从节点用于读取数据。当主节点发生故障时从节点可以自动选举一个新的主节点。 副本集的主要目的是 提供高可用性和数据冗余。如果主节点发生故障系统仍然可用并且数据不会丢失。 接下来我们详细讲解如何在 k8s 中部署 MongoDB 副本集集群模式。 部署步骤 详细拆解 k8s 部署 mongodb 副本集Replica-Set模式相关服务的执行步骤。 1. Secret apiVersion: v1 kind: Secret metadata:name: mongodb-secret type: Opaque data:mongo-root-username: base64-encoded-usernamemongo-root-password: base64-encoded-password优化建议确保 base64-encoded-username 和 base64-encoded-password 已经正确编码为 Base64 格式。解释Secret 用于存储敏感信息如用户名和密码以保护这些信息不被直接暴露。 2. ConfigMap apiVersion: v1 kind: ConfigMap metadata:name: mongodb-init data:init-mongo.js: |rs.initiate({_id : rs0,members: [{ _id: 0, host: mongodb-replica-set-0.mongodb-replica-set:27017 },{ _id: 1, host: mongodb-replica-set-1.mongodb-replica-set:27017 },{ _id: 2, host: mongodb-replica-set-2.mongodb-replica-set:27017 }]})优化建议确保 init-mongo.js 脚本中的主机名和端口与 StatefulSet 中的配置一致。解释ConfigMap 用于存储配置文件或脚本这里用于初始化 MongoDB 的副本集。 3. StatefulSet apiVersion: apps/v1 kind: StatefulSet metadata:name: mongodb-replica-set spec:serviceName: mongodb-replica-setreplicas: 3selector:matchLabels:app: mongodb-replica-settemplate:metadata:labels:app: mongodb-replica-setspec:containers:- name: mongodbimage: mongo:7.0.14ports:- containerPort: 27017volumeMounts:- name: mongodb-datamountPath: /data/db- name: mongodb-init-scriptsmountPath: /docker-entrypoint-initdb.denv:- name: MONGO_INITDB_ROOT_USERNAMEvalueFrom:secretKeyRef:name: mongodb-secretkey: mongo-root-username- name: MONGO_INITDB_ROOT_PASSWORDvalueFrom:secretKeyRef:name: mongodb-secretkey: mongo-root-password- name: MONGO_REPLICA_SET_NAMEvalue: rs0volumeClaimTemplates:- metadata:name: mongodb-dataspec:accessModes: [ReadWriteOnce]resources:requests:storage: 20Givolumes:- name: mongodb-init-scriptsconfigMap:name: mongodb-init优化建议 确保 volumeClaimTemplates 中的存储请求大小storage: 20Gi符合实际需求。确保 image: mongo:7.0.14 是否最新的稳定版本。 解释StatefulSet 用于管理有状态的应用程序如 MongoDB 副本集。它确保每个 Pod 有一个唯一的标识符并且可以持久化存储数据。 4. Service for MongoDB apiVersion: v1 kind: Service metadata:name: mongodb-replica-set spec:ports:- port: 27017targetPort: 27017clusterIP: Noneselector:app: mongodb-replica-set优化建议确保 clusterIP: None这表示这是一个 Headless Service适用于 StatefulSet。解释Service 用于定义如何访问 PodHeadless Service 不会分配集群 IP而是通过 DNS 解析 Pod 的 IP 地址。 5. Deployment for Mongo Express apiVersion: apps/v1 kind: Deployment metadata:name: mongo-express spec:replicas: 1selector:matchLabels:app: mongo-expresstemplate:metadata:labels:app: mongo-expressspec:containers:- name: mongo-expressimage: mongo-express:1.0.2-20-alpine3.19ports:- containerPort: 8081env:- name: ME_CONFIG_MONGODB_URLvalue: mongodb://username:passwordmongodb-replica-set-0.mongodb-replica-set:27017,mongodb-replica-set-1.mongodb-replica-set:27017,mongodb-replica-set-2.mongodb-replica-set:27017/?replicaSetrs0- name: ME_CONFIG_MONGODB_ENABLE_ADMINvalue: true- name: ME_CONFIG_MONGODB_ADMINUSERNAMEvalueFrom:secretKeyRef:name: mongodb-secretkey: mongo-root-username- name: ME_CONFIG_MONGODB_ADMINPASSWORDvalueFrom:secretKeyRef:name: mongodb-secretkey: mongo-root-password优化建议 确保 ME_CONFIG_MONGODB_URL 中的 username 和 password 替换为实际的用户名和密码。确保 image: mongo-express:1.0.2-20-alpine3.19 是最新的稳定版本。 解释Deployment 用于管理无状态的应用程序如 Mongo Express它提供了一个 Web 界面来管理和监控 MongoDB。 6. Service for Mongo Express apiVersion: v1 kind: Service metadata:name: mongo-express spec:ports:- port: 8081targetPort: 8081selector:app: mongo-expresstype: LoadBalancer优化建议确保 type: LoadBalancer 符合你的环境要求如果你在本地开发环境中可能需要改为 NodePort。解释Service 用于定义如何访问 mongo-expressLoadBalancer 类型通常用于云环境中提供外部访问。 应用配置 可将上述内容保存为一个文件例如k8s-mongodb-replicaset.yaml --- apiVersion: v1 kind: Secret metadata:name: mongodb-secret type: Opaque data:mongo-root-username: base64-encoded-usernamemongo-root-password: base64-encoded-password--- apiVersion: v1 kind: ConfigMap metadata:name: mongodb-init data:init-mongo.js: |rs.initiate({_id : rs0,members: [{ _id: 0, host: mongodb-replica-set-0.mongodb-replica-set:27017 },{ _id: 1, host: mongodb-replica-set-1.mongodb-replica-set:27017 },{ _id: 2, host: mongodb-replica-set-2.mongodb-replica-set:27017 }]})--- apiVersion: apps/v1 kind: StatefulSet metadata:name: mongodb-replica-set spec:serviceName: mongodb-replica-setreplicas: 3selector:matchLabels:app: mongodb-replica-settemplate:metadata:labels:app: mongodb-replica-setspec:containers:- name: mongodbimage: mongo:7.0.14ports:- containerPort: 27017volumeMounts:- name: mongodb-datamountPath: /data/db- name: mongodb-init-scriptsmountPath: /docker-entrypoint-initdb.denv:- name: MONGO_INITDB_ROOT_USERNAMEvalueFrom:secretKeyRef:name: mongodb-secretkey: mongo-root-username- name: MONGO_INITDB_ROOT_PASSWORDvalueFrom:secretKeyRef:name: mongodb-secretkey: mongo-root-password- name: MONGO_REPLICA_SET_NAMEvalue: rs0volumeClaimTemplates:- metadata:name: mongodb-dataspec:accessModes: [ReadWriteOnce]resources:requests:storage: 20Givolumes:- name: mongodb-init-scriptsconfigMap:name: mongodb-init--- apiVersion: v1 kind: Service metadata:name: mongodb-replica-set spec:ports:- port: 27017targetPort: 27017clusterIP: Noneselector:app: mongodb-replica-set--- apiVersion: apps/v1 kind: Deployment metadata:name: mongo-express spec:replicas: 1selector:matchLabels:app: mongo-expresstemplate:metadata:labels:app: mongo-expressspec:containers:- name: mongo-expressimage: mongo-express:1.0.2-20-alpine3.19ports:- containerPort: 8081env:- name: ME_CONFIG_MONGODB_URLvalue: mongodb://username:passwordmongodb-replica-set-0.mongodb-replica-set:27017,mongodb-replica-set-1.mongodb-replica-set:27017,mongodb-replica-set-2.mongodb-replica-set:27017/?replicaSetrs0- name: ME_CONFIG_MONGODB_ENABLE_ADMINvalue: true- name: ME_CONFIG_MONGODB_ADMINUSERNAMEvalueFrom:secretKeyRef:name: mongodb-secretkey: mongo-root-username- name: ME_CONFIG_MONGODB_ADMINPASSWORDvalueFrom:secretKeyRef:name: mongodb-secretkey: mongo-root-password--- apiVersion: v1 kind: Service metadata:name: mongo-express spec:ports:- port: 8081targetPort: 8081selector:app: mongo-expresstype: LoadBalancer然后使用以下命令将其应用到 Kubernetes 集群中 kubectl apply -f k8s-mongodb-replicaset.yaml这样你就可以在 Kubernetes 中部署一个高可用的 MongoDB 副本集Replica-Set和一个用于管理和监控的 Mongo Express。 MongoDB 副本集连接字符串 连接字符串是连接到 MongoDB 副本集的必要信息。它包含以下几个部分 主机和端口指定主节点的主机和端口号。副本集名称指定要连接的副本集的名称。鉴权信息如果需要用户名和密码进行身份验证可以提供鉴权信息。其他选项其他可选参数如 SSL 配置、连接超时等。 连接字符串示例 示例1mongo-express 连接字符串示例 通过上面 k8s-mongodb-replicaset.yaml 文件部署的 MongoDB 副本集连接字符串示例如下 # 字符串格式 mongodb://username:passwordhost1:port1,host2:port2,host3:port3/database?replicaSetmyReplicaSetssltrue# 集群部署式例 mongodb://username:passwordmongodb-replica-set-0.mongodb-replica-set:27017,mongodb-replica-set-1.mongodb-replica-set:27017,mongodb-replica-set-2.mongodb-replica-set:27017/?replicaSetrs0ssltrue在上面的示例中我们提供了用户名username 和密码password进行身份验证并指定了三个主机和端口号以及要连接的副本集名称为 “rs0”并且还设置了 SSL 为 true。 示例2 假设我们有一个 MongoDB 副本集包含一个主节点和两个从节点。主节点的主机和端口号为 “host1:27017″从节点分别为 “host2:27017” 和 “host3:27017″。我们使用的副本集名称为 “myReplicaSet”需要使用用户名 “admin” 和密码 “password” 进行身份验证。 以下是一个示例的连接字符串 mongodb://admin:passwordhost1:27017,host2:27017,host3:27017/test?replicaSetmyReplicaSetssltrueauthSourceadmin在上面的示例中我们连接到了该副本集的主节点使用了用户名 “admin” 和密码 “password” 进行身份验证并将数据库设置为 “test”。副本集的名称为 “myReplicaSet”启用了 SSL 连接并且身份验证数据库为 “admin”。 连接字符串选项 连接字符串中的选项可以根据需要进行配置。以下是一些常用的选项 authSource指定用于身份验证的数据库默认为 “admin”。ssl启用 SSL 连接。retryWrites如果写操作失败是否自动重试。readPreference读操作的偏好设置可以是 “primary”、”secondary” 或 “nearest”。readConcern读操作的一致性级别可以是 “local”、”majority” 或 “linearizable”。w写操作的确认级别可以是 数字或 “majority”。 这些选项可以根据应用程序的需求进行配置。 总结 K8s 中的 YAML 文件部署说明 Secret 和 ConfigMap 确保了敏感信息和初始化脚本的安全性和正确性。StatefulSet 和 Service 确保了 MongoDB 副本集Replica-Set的高可用性和数据持久化。Deployment 和 Service 确保了 Mongo Express 的正常运行和外部访问。 MongoDB 副本集连接字符串说明 连接字符串包含了 必要的信息例如主机和端口号、副本集名称以及身份验证信息。我们还讨论了一些常用的 连接字符串选项并给出了一个示例。连接到 MongoDB 副本集可以 提供高可用性和数据冗余确保系统在主节点故障时仍然可用。通过 正确配置连接字符串我们可以灵活地管理 MongoDB 副本集的连接和访问。
http://www.w-s-a.com/news/559131/

相关文章:

  • 协会网站建设方案大良营销网站建设好么
  • 网站引导页一般是什么格式网页设计师的应聘岗位
  • 构建网站空间网站开发与维护招聘
  • 网站建设的网页怎么做番禺网站开发哪家强
  • 网站开发是程序员吗百度网盘下载电脑版官方下载
  • 中国电力建设集团网站杭州网站运营
  • 大气网站模板下载效果好的网站建设公
  • 住房和城乡建设部网站打不开重庆市建设工程信息网官网30系统
  • 做美食软件视频网站大数据精准营销策略
  • 网站后台密码错误陕西大型网站建设
  • 网站建站中关键字搜索怎么弄wordpress 后台插件无法访问
  • 做减肥餐的网站网站优化注意事项
  • 做网站做推广有效果吗专门做淘宝优惠券的网站
  • 菜谱网站开发系统ps做网页效果图
  • 徐州品牌网站建设wordpress多重筛选页面
  • 网站改版提示无需改版个人怎么申请微信小程序
  • 电子商务网站建设的简要任务执行书可以注册免费网站
  • 公司网站设计需要什么豪爵铃木摩托车官网
  • 建收费网站合肥地区网站制作
  • 自己做头像网站小网站建设公司
  • 电子商务建设与网站规划wordpress linux安装
  • wordpress新手建站win8网站模版
  • 网站的简单布局孝感 商务 网站建设
  • 湖北手机版建站系统价格优化网站内容
  • 网站后台登录不显示验证码软文发布网站
  • 企业微网站建设方案收费的网站如何免费
  • 平昌县建设局网站中国500强企业有哪些
  • 网站开发制作的流程是什么网页打不开显示不安全怎么办
  • 网络网站开发设计安徽建设工程信息网怎么打不开了
  • 百度网站推广申请深圳公众号制作