Centos Stream9 Docker安装nacos

首先下载nacos镜像:

docker pull nacos/nacos-server:2.3.2

然后在/usr/local/nacos/conf下添加application.properties文件,内容如下:

server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848

spring.datasource.platform=mysql
db.num=1
## 192.168.71.128为虚拟机IP可按照实际情况修改为自己虚拟机IP
db.url.0=jdbc:mysql://192.168.71.128:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=root

nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
nacos.naming.distro.taskDispatchThreadCount=1
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true
nacos.naming.expireInstance=true
nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=true
nacos.core.auth.caching.enabled=true
nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security
nacos.core.auth.plugin.nacos.token.cache.enable=false
nacos.core.auth.plugin.nacos.token.expire.seconds=18000
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789


然后使用docker命令启动nacos:

注意:运行nacos前需要先启动MySQL的服务否则会报错

docker run --name nacos -p 8848:8848 \
    -v /usr/local/nacos/conf:/home/nacos/conf \
    -v /usr/local/nacos/data:/home/nacos/data \
    -v /usr/local/nacos/log:/home/nacos/logs \
    -e MODE=standalone \
    --privileged=true \
    -e SPRING_DATASOURCE_PLATFORM=mysql \
    -e MYSQL_SERVICE_HOST=192.168.71.128 \
    -e MYSQL_SERVICE_PORT=3306 \
    -e MYSQL_SERVICE_USER=root \
    -e MYSQL_SERVICE_PASSWORD=root \
    -e MYSQL_SERVICE_DB_NAME=nacos_config \
    -e MYSQL_SERVICE_DB_NUM=1 \
    -e NACOS_APPLICATION_PORT=8848 \
    -e NACOS_AUTH_TOKEN=SecretKey01234567890123456789012345345678999987654901234567890123456789 \
-e NACOS_AUTH_IDENTITY_KEY=nacos \
-e NACOS_AUTH_IDENTITY_VALUE=nacos \
    -e JVM_XMS=512m -e JVM_XMX=512m \
    -d nacos/nacos-server:v2.3.2

起动完之后可以使用docker logs -f nacos查看启动日志:

出现上图的信息则表示nacos已成功启动。

此时还需要在防火墙开放8848端口

## 开放8848端口
firewall-cmd --zone=public --add-port=8848/tcp --permanent
#重新载入配置
firewall-cmd --reload

这时候就可以使用http://你的虚拟机IP:8848/nacos/index.html访问nacos了。

账号:nacos 密码:nacos 

### 关于在 CentOS Stream 9 上搭建高可用性集群 #### RabbitMQ 高可用集群搭建指南 对于希望提升消息传递可靠性的场景,在 CentOS Stream 9 中构建 RabbitMQ 的高可用集群是一个理想的选择。为了实现这一点,需先安装 Erlang 和 RabbitMQ Server[^1]。 ```bash sudo dnf install https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc sudo tee /etc/yum.repos.d/CentOS-Stream-rabbitmq.repo <<EOF [rabbitmq-server] name=RabbitMQ YUM Repository baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/8/\$basearch enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey sslverify=1 sslcacert=/etc/pki/tls/certs/ca-y && sudo dnf install erlang rabbitmq-server -y ``` 完成软件包的安装之后,启动并启用 RabbitMQ 服务: ```bash sudo systemctl start rabbitmq-server.service sudo systemctl enable rabbitmq-server.service ``` 接着配置第一个节点作为集群中的主节点,并设置管理员账户: ```bash sudo rabbitmqctl stop_app sudo rabbitmq-plugins enable rabbitmq_management sudo rabbitmqctl reset sudo rabbitmqctl change_password guest newpassword sudo rabbitmqctl set_permissions "guest" ".*" ".*" ".*" sudo rabbitmqctl add_user admin your_admin_password_here sudo rabbitmqctl set_user_tags admin administrator sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" sudo rabbitmqctl start_app ``` 当准备加入其他成员至该 HA (High Availability) 集群时,则需要执行如下命令来同步化各个节点之间的状态以及共享相同的 cookie 文件以确保通信正常工作: ```bash # On each additional node, replace &#39;node1&#39; with the hostname of the first node. sudo cp /var/lib/rabbitmq/.erlang.cookie /tmp/ sudo scp /tmp/.erlang.cookie root@other_node:/var/lib/rabbitmq/ sudo chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie sudo chmod 400 /var/lib/rabbitmq/.erlang.cookie sudo rabbitmqctl stop_app sudo rabbitmqctl join_cluster rabbit@node1 sudo rabbitmqctl start_app ``` 以上过程描述了如何创建一个多活模式下的 RabbitMQ 高可用集群架构,这有助于增强数据传输的安全性和稳定性。 --- #### Nacos 高可用集群部署方案 另一种常见的应用——Nacos,同样可以在 CentOS Stream 9 平台上建立其三节点组成的高可用集群环境。这里采用 Docker Compose 来简化多容器编排流程[^2]。 首先获取必要的镜像文件: ```bash docker pull nacos/nacos-server:2.0.3 docker pull nginx:1.20.1 ``` 编写 `docker-compose.yml` 文件用于定义三个独立运行的服务实例及其关联关系: ```yaml version: &#39;3&#39; services: nacos1: image: nacos/nacos-server:2.0.3 container_name: nacos1 environment: MODE: cluster SPRING_DATASOURCE_PLATFORM: mysql MYSQL_SERVICE_HOST: db_host MYSQL_SERVICE_PORT: 3306 MYSQL_SERVICE_USER: user MYSQL_SERVICE_PASSWORD: password MYSQL_SERVICE_DB_NAME: nacos_config ports: - "8848:8848" ... # 完整配置应包含其余两个节点和服务发现机制等内容。 ``` 利用上述 YAML 文件启动整个分布式系统: ```bash docker-compose up -d ``` 此方法不仅能够有效降低运维成本,而且提高了系统的可扩展性和容错能力。 --- #### MongoDB 分片集群建设实践 最后介绍的是针对数据库层面的操作—MongoDB副本集分片集群的设计思路。它允许用户跨多个物理位置存储大量数据的同时保持良好的读写性能[^3]。 初始化 mongod 实例之前要确认已经正确设置了 `/etc/mongod.conf` 或者相应目录下对应版本的具体参数选项;然后分别开启几个不同端口监听的服务进程代表不同的 shard 成员角色。 ```bash mongod --configsvr --replSet configReplSet --dbpath /data/configdb --port 27019 & mongod --port 27018 & mongod --shardsvr --replSet shard2 --dbpath /data/shard2b --port 27017 & ``` 随后连接到任意一台机器上的 mongo shell 执行初始化复制集操作: ```javascript rs.initiate() ``` 紧接着添加额外的成员直到满足奇数原则从而形成稳定的多数派决策群体结构。与此同时还要记得指定一个或更多个配置服务器用来保存元数据信息以便协调各部分之间的工作负载分配情况。 最终通过启动 mongos 查询路由器组件使得外部请求得以被合理地转发给最合适的实际持有目标文档片段的目标 shards 处理单元上去处理。 ```bash mongos --configdb configReplSet/<ip>:27019,<ip>:27020,<ip>:27021 --fork --logpath /var/log/mongodb/mongos.log ``` 综上所述,这些案例展示了不同类型的技术栈是如何各自发挥优势共同致力于打造稳定高效的云原生基础设施平台之上所提供的解决方案之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值