radosgw 配置一个zone可指定纠删码存储池(ec)

本文提供了一套详细的步骤来配置Ceph RADOS Gateway (RGW)的服务, 包括创建存储池、获取并修改zone及zonegroup设置、更新周期以及重启服务等内容。

1. ./bin/ceph osd pool create rgw.buckets.ec.data 64 64 erasure

2. ./bin/ceph osd pool create rgw.buckets.ec.index 64 64

3. ./bin/radosgw-admin zone --rgw-zone=default get > zone.json

修改zone.json,再用set导入

4. ./bin/radosgw-admin zonegroup --rgw-zonegroup=default get > zonegroup.json

修改zonegroup.json,再用set导入

5. ./bin/radosgw-admin period update --commit

6. 重启radosgw服务

### 如何在Spring中配置数据库连接并注册一个Bean #### 1. 使用XML方式配置数据库连接 可以通过`PropertyPlaceholderConfigurer`类加载`.properties`文件中的属性,并将其注入到`DataSource` Bean 中。以下是具体的实现方法: 首先,在项目的`src/main/resources/config/`目录下创建一个名为`jdbc.properties`的文件,内容如下: ```properties driverClassName=com.mysql.cj.jdbc.Driver url=jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC username=root password=password ``` 接着,在Spring XML配置文件中引入这些属性,并声明一个`DataSource` Bean: ```xml <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath:config/jdbc.properties</value> </list> </property> </bean> <!-- 定义数据源 --> <bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource"> <constructor-arg> <bean class="com.zaxxer.hikari.HikariConfig"> <property name="driverClassName" value="${driverClassName}" /> <property name="jdbcUrl" value="${url}" /> <property name="username" value="${username}" /> <property name="password" value="${password}" /> </bean> </constructor-arg> </bean> ``` 以上代展示了如何通过XML配置文件设置HikariCP作为数据库连接[^2]。 --- #### 2. 使用Java Config方式配置数据库连接 如果更倾向于使用基于Java的配置,则可以在Spring Boot项目中定义一个配置类来完成相同的功能。下面是一个示例: ```java import com.alibaba.druid.pool.DruidDataSource; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.sql.DataSource; @Configuration public class DataSourceConfig { @Bean public DataSource dataSource() { DruidDataSource druidDataSource = new DruidDataSource(); druidDataSource.setDriverClassName("com.mysql.cj.jdbc.Driver"); druidDataSource.setUrl("jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC"); druidDataSource.setUsername("root"); druidDataSource.setPassword("password"); // 可选:设置其他Druid连接参数 druidDataSource.setMaxActive(20); druidDataSource.setInitialSize(5); druidDataSource.setTimeBetweenEvictionRunsMillis(60000); return druidDataSource; } } ``` 此代片段展示了一种利用阿里巴巴开源的Druid连接的方式[^3]。 --- #### 3. Spring Boot自动配置数据库连接 对于Spring Boot应用,默认情况下会自动配置HikariCP作为默认的数据源连接。只需在`application.properties`或`application.yml`中添加必要的数据库信息即可。例如: ##### application.properties 文件: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=password spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver ``` 此时无需手动编写额外的配置类,因为Spring Boot会根据上述属性自动生成相应的`DataSource` Bean[^1]。 --- #### 4. 注册多个数据源(可选) 当需要支持多数据源时,可以按照以下模式扩展配置逻辑。假设存在两个不同的数据库实例——订单(`orders`)和服务用户(`users`),则可通过分别命名它们对应的`@Bean`对象来区分两者[^4]。 ```java import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Component; import javax.sql.DataSource; @Component public class MultiDataSourceConfig { @Primary @Bean(name = "orderDataSource") @ConfigurationProperties(prefix = "spring.datasource.order") public DataSource orderDataSource() { return DruidDataSourceBuilder.create().build(); } @Bean(name = "userDataSource") @ConfigurationProperties(prefix = "spring.datasource.user") public DataSource userDataSource() { return DruidDataSourceBuilder.create().build(); } } ``` 在此基础上,还需确保`application.properties`中有对应前缀的键值对用于初始化各数据源的具体参数。 --- ### 总结 无论是传统的XML配置还是现代的Java Config风格,都可以轻松地集成各种主流数据库连接至Spring环境中。而借助于Spring Boot强大的约定优于配置机制,开发者甚至能够省去大部分繁琐的手动编工作量。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值