mongo-部署

一、部署

链接地址:https://www.mongodb.com/try/download/community

1.选择版本(根据自己的系统和需求)

2.下载

wget https://fastdl.mongodb.org/linux/mongodb-linux-s390x-rhel72-4.4.4.tgz

3.解压

tar zxvf mongodb-linux-s390x-rhel72-4.4.4.tgz

4.迁移目录到自己的软件安装目录

 mv mongodb-linux-s390x-rhel72-4.4.4 /home/it_tool/mongodb

5.配置环境变量

export PATH=/home/it_tool/mongodb/bin:$PATH

6.编辑配置文件

vim /home/it_tool/mongodb/bin/mongodb.conf

port=27017
#日志文件位置
logpath=/data/log/mongodb.log  (这些都是可以自定义修改的)

# 以追加方式写入日志
logappend=true

# 是否以守护进程方式运行
fork = true

# 数据库文件位置
dbpath=/data/db

# 启用定期记录CPU利用率和 I/O 等待
#cpu = true

# 是否以安全认证方式运行,默认是不认证的非安全方式
#noauth = true
#auth = true

# 详细记录输出
#verbose = true

# Inspect all client data for validity on receipt (useful for
# developing drivers)用于开发驱动程序时验证客户端请求
#objcheck = true

# Enable db quota management
# 启用数据库配额管理
#quota = true
# 设置oplog记录等级
# Set oplogging level where n is
#   0=off (default)
#   1=W
#   2=R
#   3=both
#   7=W+some reads
#diaglog=0

# Diagnostic/debugging option 动态调试项
#nocursors = true

# Ignore query hints 忽略查询提示
#nohints = true
# 禁用http界面,默认为localhost:28017
#nohttpinterface = true

# 关闭服务器端脚本,这将极大的限制功能
# Turns off server-side scripting.  This will result in greatly limited
# functionality
#noscripting = true
# 关闭扫描表,任何查询将会是扫描失败
# Turns off table scans.  Any query that would do a table scan fails.
#notablescan = true
# 关闭数据文件预分配
# Disable data file preallocation.
#noprealloc = true
# 为新数据库指定.ns文件的大小,单位:MB
# Specify .ns file size for new databases.
# nssize =

# Replication Options 复制选项
# in replicated mongo databases, specify the replica set name here
#replSet=setname
# maximum size in megabytes for replication operation log
#oplogSize=1024
# path to a key file storing authentication info for connections
# between replica set members
#指定存储身份验证信息的密钥文件的路径
#keyFile=/path/to/keyfile

7.创建数据目录和日志目录

mkdir -p /data/db
mkdir -p /data/log

8.启动数据库

mongod -f mongodb.conf

 

 

 

### 如何在 Kubernetes 上部署 Mongo-Express #### 准备工作 为了成功地在 Kubernetes 集群上部署 Mongo-Express 应用程序,需先确保已安装并配置好 `kubectl` 和访问权限。此外,还需拥有一个运行中的 Kubernetes 集群以及 MongoDB 实例。 #### 创建命名空间 创建一个新的命名空间来隔离环境可以提高资源管理效率和服务发现能力: ```yaml apiVersion: v1 kind: Namespace metadata: name: mongo-express ``` 保存上述 YAML 文件为 `namespace.yaml` 并执行命令应用更改: ```bash kubectl apply -f namespace.yaml ``` #### 设置 MongoDB 连接信息 由于应用程序需要连接至外部数据库服务,在此之前应定义 Secret 来存储敏感数据如用户名密码等[^3]: ```yaml apiVersion: v1 kind: Secret metadata: name: mongodb-secret namespace: mongo-express type: Opaque data: # 使用 base64 编码后的字符串替换下面的内容 username: <base64-encoded-value> password: <base64-encoded-value> ``` 同样将其保存成文件并通过 kubectl 命令提交给集群处理。 #### 定义 ConfigMap 存储配置参数 除了认证凭证外还需要指定目标主机地址端口等相关选项,这可以通过 ConfigMap 对象实现: ```yaml apiVersion: v1 kind: ConfigMap metadata: name: me-config namespace: mongo-express data: ME_CONFIG_MONGODB_SERVER: "mongodb-service.default.svc.cluster.local" ME_CONFIG_BASICAUTH_USERNAME: admin ME_CONFIG_BASICAUTH_PASSWORD: secret ``` 注意这里假设 MongoDB 已经作为 Service 被暴露出来并且可通过内部 DNS 名称访问;如果实际情况不同则要相应修改 URL 地址。 #### 构建 Deployment 描述符 接下来编写描述如何启动容器镜像及其依赖关系的清单文档: ```yaml apiVersion: apps/v1 kind: Deployment metadata: labels: app: mongo-express name: mongo-express namespace: mongo-express spec: replicas: 1 selector: matchLabels: app: mongo-express template: metadata: labels: app: mongo-express spec: containers: - image: mongo-express name: mongo-express envFrom: - configMapRef: name: me-config - secretRef: name: mongodb- containerPort: 8081 --- apiVersion: v1 kind: Service metadata: labels: app: mongo-express name: mongo-express-svc namespace: mongo-express spec: type: LoadBalancer ports: - port: 8081 targetPort: 8081 selector: app: mongo-express ``` 这段代码片段不仅包含了用于实例化 Pod 的模板部分还声明了一个名为 `mongo-express-svc` 的负载均衡器类型的 Service ,以便能够从外界网络到达该 Web UI 页面。 最后一步就是通过 CLI 将这些对象同步到远程节点上了: ```bash kubectl apply -f deployment.yaml ``` 完成以上操作之后就可以等待几分钟让系统自动拉取所需组件并初始化完毕,随后便能利用浏览器或其他 HTTP 客户端工具测试新上线的服务是否正常运作了。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值