IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Postgresql通用安装指导手册 -> 正文阅读

[大数据]Postgresql通用安装指导手册

环境说明

操作系统版本PG数据库版本
RHEL 7.6PG12.5

操作系统配置

/etc/hosts配置

hostnamectl set-hostname pgdb
cat >> /etc/hosts <<EOF
192.1683.56.11 pgdb
EOF

关闭NetworkManager

systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl status NetworkManager

关闭防火墙和Selinux

systemctl stop firewalld.service
systemctl disable firewalld.service
sed -i "s/^SELINUX=.*$/SELINUX=disabled/" /etc/selinux/config

关闭Numa配置

# 添加numa=off到内核中
grubby --args=numa=off --update-kernel /boot/vmlinuz-3.10.0-862.el7.x86_64
# 查看内核参数信息
grubby --info /boot/vmlinuz-3.10.0-862.el7.x86_64	
# 重启服务器
sync
sync
sync
reboot now

内核参数配置

cat >> /etc/sysctl.conf <<-EOF
#1/2 of physical memory (1024*1024*1024)
kernel.shmmax = 1073741824
#physical memory size / pagesize, most set to 2097152
kernel.shmall = 2097152
#default set to 4096
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144    
net.core.rmem_max = 4194304    
net.core.wmem_default = 262144    
net.core.wmem_max = 4194304
fs.file-max = 6815744
#huge page, when shared_buffer is set to10G, huge page can be set to 15G*1024/2=25600
vm.nr_hugepages = 25600
EOF

#应用生效内核参数
sysctl -p

#进程限制
cat >> /etc/security/limits.conf <<-EOF
* soft    nofile  1024000
* hard    nofile  1024000
* soft    nproc   unlimited
* hard    nproc   unlimited
* soft    core    unlimited
* hard    core    unlimited
* soft    memlock unlimited
* hard    memlock unlimited
EOF

Yum源配置

mount /dev/sr0 /mnt

cat >> /etc/yum.repo.d/local.repo <<-EOF
[local]
name=local
baseurl=file///mnt
gpgcheck=0
EOF

yum repolist

安装系统依赖包

yum -y install coreutils glib2 lrzsz mpstat dstat sysstat e4fsprogs xfsprogs ntp readline-devel zlib-devel openssl-devel pam-devel libxml2-devel libxslt-devel python-devel tcl-devel gcc make smartmontools flex bison perl-devel perl-ExtUtils* openldap-devel jadetex  openjade bzip2

源码安装PG12.5

创建用户并配置环境变量

useradd postgres
echo ‘password’ | passwd –stdin postgres

su – postgres
cat >> ~/.bash_profile <<-EOF
export PGHOME=/pg/pg12
export PGDATA=/pg/pg12/data
export PATH=$PATH:$PG_HOME/bin
EOF

创建安装目录并解压安装包

mkdir -p /pg/pg12/data
tar xzf postgresql-12.5.tar.gz -C /pg/pg12

编译安装PG12.5

cd /pg/pg12/postgresql-12.5
./configure --prefix=/pg/pg12 --enable-nls --with-perl --with-python --with-tcl --with-gssapi --with-openssl --with-pam --with-ldap --with-libxml --with-libxslt
make world
make install-word

数据库连接配置

配置数据库连接名单

vi $PGDATA/pg_hba.conf
#allow login ips
host    all             all             192.168.56.0/24     	md5
#reject super user remote login
host    all             postgres        0.0.0.0/0               reject

配置监听客户端参数

vi $PGDATA/postgresql.conf
listen_addresses =’*’

数据库优化配置

内存参数优化

vi $PGDATA/postgresql.conf
#4/2 of physical memory, default 128M
shared_buffers = 768MB
#1/16 of physical memory
maintenance_work_mem = 200MB
#shared_buffers/32
wal_buffers = -1
#3/4 of physical menory
effective_cache_size = 2304MB

日志参数优化

logging_collector = on
log_destination = 'csvlog'
log_min_duration_statement = 120000

审计记录参数优化

log_statement = 'ddl'

打印锁等待事件参数优化

log_lock_waits = on

临时文件参数优化

log_temp_files = 250000

报错日志的冗长参数优化

log_error_verbosity = verbose

检查点参数优化

log_checkpoints = on

设置强制检查点时间参数优化

checkpoint_timeout = 5min

流复制保留wal文件数量参数优化

wal_keep_segments = 64

设置最大连接数和super最大连接数参数优化

max_connections = 500
superuser_reserved_connections = 10

分组提交参数优化

commit_delay = 10
commit_siblings = 5

Autovacuum参数优化

autovacuum_max_workers = 3

归档配置参数优化

archive_mode = on
archive_command = 'cp %p /data/pg12/arch/archive_wal_%f'

启动数据库参数优化

initdb -D $PG_DATA
pg_ctl start -D $PG_DATA

psql
alter user postgres with password 'postgres';
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-28 11:56:15  更:2022-04-28 11:58:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:15:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码