postgis, rustfs
This commit is contained in:
parent
effd1e1621
commit
7020e7df22
@ -77,16 +77,16 @@ make install
|
||||
|
||||
#### 安装fuzzystrmatch扩展
|
||||
|
||||
fuzzystrmatch 是 PostgreSQL 的一个内置扩展模块,提供一组用于模糊字符串匹配的函数。它的核心作用是支持基于相似度的字符串比较,而非精确匹配。
|
||||
`fuzzystrmatch` 是 PostgreSQL 的一个内置扩展模块,提供一组用于模糊字符串匹配的函数。它的核心作用是支持基于相似度的字符串比较,而非精确匹配。
|
||||
|
||||
PostGIS由于以下原因而需要用到 fuzzystrmatch 扩展:
|
||||
PostGIS由于以下原因而需要用到 `fuzzystrmatch` 扩展:
|
||||
|
||||
- 地理编码依赖:postgis_tiger_geocoder(美国地址地理编码器)使用 fuzzystrmatch 的算法来:
|
||||
- 地理编码依赖:postgis_tiger_geocoder(美国地址地理编码器)使用 `fuzzystrmatch` 的算法来:
|
||||
+ 匹配不规范的地址输入(如拼写错误、缩写)。
|
||||
+ 计算地址字符串与数据库中记录地址的相似度。
|
||||
- 地址标准化:address_standardizer 扩展也依赖它来清洗和标准化地址数据。
|
||||
|
||||
在postgres源码目录下执行下面的操作安装fuzzystrmatch扩展。
|
||||
在postgres源码目录下执行下面的操作安装`fuzzystrmatch`扩展。
|
||||
|
||||
```sh
|
||||
cd contrib/fuzzystrmatch
|
||||
@ -250,7 +250,7 @@ systemctl start postgres
|
||||
|
||||
完成上面的操作,postgres服务已经安装完成,重启系统试一下,postgres服务应该可以开机自启。
|
||||
|
||||
### 编译安装PostGIS扩展
|
||||
### 编译安装PostGIS
|
||||
|
||||
#### 安装依赖
|
||||
|
||||
@ -287,6 +287,17 @@ make
|
||||
make install
|
||||
```
|
||||
|
||||
#### 安装address_standardizer扩展
|
||||
|
||||
`address_standardizer` 是专为地址数据清洗与标准化设计的扩展,通常与 `postgis_tiger_geocoder`配合使用。它的核心功能是将非结构化、格式不一致的地址转换为结构化、规范化的格式,从而提升地理编码(Geocoding)的准确性和效率。
|
||||
|
||||
在postgis源码目录下执行下面的操作安装`address_standardizer`扩展。
|
||||
|
||||
```sh
|
||||
cd extensions/address_standardizer
|
||||
|
||||
```
|
||||
|
||||
#### 创建数据库并启用PostGIS扩展
|
||||
|
||||
```sh
|
||||
|
||||
166
docs/src/ops/rustfs.md
Normal file
166
docs/src/ops/rustfs.md
Normal file
@ -0,0 +1,166 @@
|
||||
# 部署RustFS服务
|
||||
|
||||
## 部署记录
|
||||
|
||||
### 系统配置
|
||||
|
||||
操作系统:Anolis OS 23.4
|
||||
CPU:2核
|
||||
内存:4GB
|
||||
数据盘:NVMe 100GB * 4
|
||||
|
||||
### 部署过程
|
||||
|
||||
使用非root用户部署
|
||||
|
||||
#### 挂载数据盘
|
||||
|
||||
创建数据盘目录
|
||||
|
||||
```bash
|
||||
sudo mkdir -p /data/rustfs{0..3}
|
||||
```
|
||||
|
||||
用lsblk查看数据盘
|
||||
|
||||
```bash
|
||||
lsblk
|
||||
```
|
||||
|
||||
格式化并挂载数据盘
|
||||
|
||||
```bash
|
||||
sudo mkfs.xfs -i size=512 -n ftype=1 -L RUSTFS0 /dev/nvme0n1
|
||||
sudo mkfs.xfs -i size=512 -n ftype=1 -L RUSTFS1 /dev/nvme1n1
|
||||
sudo mkfs.xfs -i size=512 -n ftype=1 -L RUSTFS2 /dev/nvme2n1
|
||||
sudo mkfs.xfs -i size=512 -n ftype=1 -L RUSTFS3 /dev/nvme3n1
|
||||
|
||||
sudo vim /etc/fstab
|
||||
```
|
||||
|
||||
编辑/etc/fstab,添加如下内容
|
||||
|
||||
```bash
|
||||
LABEL=RUSTFS0 /data/rustfs0 xfs defaults 0 0
|
||||
LABEL=RUSTFS1 /data/rustfs1 xfs defaults 0 0
|
||||
LABEL=RUSTFS2 /data/rustfs2 xfs defaults 0 0
|
||||
LABEL=RUSTFS3 /data/rustfs3 xfs defaults 0 0
|
||||
```
|
||||
|
||||
执行挂载
|
||||
|
||||
```bash
|
||||
sudo systemctl daemon-reload
|
||||
sudo mount -a
|
||||
```
|
||||
|
||||
#### 创建用户和相关目录
|
||||
|
||||
创建用户组和用户
|
||||
|
||||
```bash
|
||||
sudo groupadd -r rustfs
|
||||
sudo useradd -M -r -g rustfs rustfs
|
||||
```
|
||||
|
||||
创建相关目录
|
||||
|
||||
```bash
|
||||
sudo mkdir -p /var/log/rustfs /var/lib/rustfs
|
||||
```
|
||||
|
||||
设置目录权限
|
||||
|
||||
```bash
|
||||
sudo chown -R rustfs:rustfs /data/rustfs* /var/log/rustfs /var/lib/rustfs
|
||||
```
|
||||
|
||||
#### 配置环境变量
|
||||
|
||||
```bash
|
||||
sudo vim /etc/default/rustfs
|
||||
```
|
||||
|
||||
添加如下内容
|
||||
|
||||
```bash
|
||||
RUSTFS_ACCESS_KEY=rustfsadmin
|
||||
RUSTFS_SECRET_KEY=rustfsadmin
|
||||
RUSTFS_VOLUMES="/data/rustfs0 /data/rustfs1 /data/rustfs2 /data/rustfs3"
|
||||
RUSTFS_ADDRESS=":9000"
|
||||
RUSTFS_CONSOLE_ENABLE=true
|
||||
RUST_LOG=error
|
||||
RUSTFS_OBS_LOG_DIRECTORY="/var/log/rustfs/"
|
||||
```
|
||||
|
||||
#### 设置systemd服务
|
||||
|
||||
```bash
|
||||
sudo vim /etc/systemd/system/rustfs.service
|
||||
```
|
||||
|
||||
添加如下内容
|
||||
|
||||
```bash
|
||||
[Unit]
|
||||
Description=RustFS Object Storage Server
|
||||
Documentation=https://rustfs.com/docs/
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
#NotifyAccess=main
|
||||
User=rustfs
|
||||
Group=rustfs
|
||||
|
||||
WorkingDirectory=/var/lib/rustfs
|
||||
EnvironmentFile=/etc/default/rustfs
|
||||
ExecStart=/usr/local/bin/rustfs $RUSTFS_VOLUMES
|
||||
|
||||
LimitNOFILE=1048576
|
||||
LimitNPROC=32768
|
||||
TasksMax=infinity
|
||||
|
||||
Restart=always
|
||||
RestartSec=10s
|
||||
|
||||
OOMScoreAdjust=-1000
|
||||
SendSIGKILL=no
|
||||
|
||||
TimeoutStartSec=30s
|
||||
TimeoutStopSec=30s
|
||||
|
||||
NoNewPrivileges=true
|
||||
|
||||
ProtectHome=true
|
||||
PrivateTmp=true
|
||||
PrivateDevices=true
|
||||
ProtectClock=true
|
||||
ProtectKernelTunables=true
|
||||
ProtectKernelModules=true
|
||||
ProtectControlGroups=true
|
||||
RestrictSUIDSGID=true
|
||||
RestrictRealtime=true
|
||||
|
||||
# service log configuration
|
||||
StandardOutput=append:/var/log/rustfs/rustfs.log
|
||||
StandardError=append:/var/log/rustfs/rustfs-err.log
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
#### 启动服务
|
||||
|
||||
```bash
|
||||
sudo systemctl enable rustfs
|
||||
sudo systemctl start rustfs
|
||||
```
|
||||
|
||||
#### 防火墙配置
|
||||
|
||||
```bash
|
||||
sudo firewall-cmd --zone=public --add-port=9000-9001/tcp --permanent
|
||||
sudo firewall-cmd --reload
|
||||
```
|
||||
Loading…
Reference in New Issue
Block a user