Greenplum相关基本操作大全
Greenplum基本操作
greenplum-db目录含义如下:
greenplum_path.sh : Greenplum 数据库环境变量配置文件
GPDB-LICENSE.txt : Greenplum license 文件
LICENSE.thirdparty : 第三方 license 文件
bin : 目录下包括Greenplum 数据库管理程序,也包括PostgreSQL 客户端和服务程序
demo : 目录下包括Greenplum 演示程序
docs : Greenplum 数据库帮助文档(PDF 格式)
etc : OpenSSL 配置文件
ext : Greenplum 数据库程序用的附加程序( 如 Python)
include : Greenplum 数据库C header files
lib : Greenplum 数据库和 PostgreSQL 库文件
sbin : Supporting/Internal 脚本和程序
share : Greenplum 数据库共享文件
查询表的索引
select * from pg_indexes where tablename=‘table1’;
查询CPU占最多的进程
ps auxw|head -1;
ps auxw|sort -rn -k3|head -10;
资源队列:
主要可以限制的资源如下:
- MEMORY_LIMIT 内存限制
- ACTIVE_STATEMENTS 最多并发运行的SQL
- PRIORITY 优先级,和CPU相关
- MAX_COST 执行计划中SQL语句可以达到最大的COST
- MIN_COST 低于这个值则绕过队列限制,立即执行
当数据库遇到NOT和 “!=”时,就会停止使用索引转而执行全表扫描
greenplum查看倾斜
select gp_segment_id,count(1) from table1 group by 1;
看虚拟机linux cpu的信息
cat /proc/cpuinfo
在postgresql中查看自动提交和修改
\echo :AUTOCOMMIT
\set AUTOCOMMIT on/off
备份MPP
pg_dump -U gpadmin database1 | gzip > database1.gz
gunzip -c database1.gz | psql -U gpadmin database1
MPP更改最大连接数
gpconfig -c max_connections -v 2000 -m 1000
MPP查看数据库数据量的大小
select pg_size_pretty(pg_database_size(‘database1’));
pgAdmin下载地址
类似于Navicat的管理工具
查询某个表所占内存空间的大小
select pg_relation_size(‘ttt2’)/1024/1024;
有时候需要删除所有节点数据文件,以gpseg开头的文件夹
du --max-depth 4 -h /data | grep gpseg | awk ‘{print $2}’ | xargs rm -rf
安装的时候有时候需要重新初始化数据库
- 安装依赖包ed: yum install -y ed
- 清除初始化系统信息: rm -rf /home/gpadmin/gpAdminLogs/*
- 杀掉起来的greenplum进程:pkill postgres
- 删除各个机器的gp数据文件内容: rm -rf XXX/*
对于MPP节点down掉的重启
产生一个恢复的配置文件:gprecoverseg -o ./recov
对文件进行恢复:gprecoverseg -i ./recov
对节点进行主从角色的回置:gprecoverseg -r
插入测试数据:
insert into test1 select trunc(1000*random()) from generate_series(1,1000000);
gpcopy复制库–一般用于集群的迁移:
gpcopy --source-host 192.168.137.1 --source-port 5432 --source-user gpadmin --dest-host 192.168.137.2 --dest-port 5432 --dest-user gpadmin --dbname database1 --drop
vacuum会把delete和update操作造成的空洞重复利用,但是不会释放空间,而vacuum full会释放空间
参考vaccum详解
GP相关linux基本操作
系统进入急救模式
lvm vgscan :查找逻辑卷
lvm vgchange -ay /dev/VolGroup00 :激活找到的逻辑卷
mkdir /tmpdir
mount /dev/VolGroup00/LogVol00 /tmpdir :挂载根分区到/tmpdir目录
vi /tmpdir/etc/fstab :重建fstab配置文件,或直接复制备份的文件
扫描新添加的磁盘
echo “- - -” > /sys/class/scsi_host/host0/scan
在原有的非逻辑卷磁盘上扩容:
如果磁盘分区的管理模式不是lvm的话,我们没办法直接对磁盘进行扩容,因此,我们采取对新磁盘进行lvm化的操作,再把数据迁到新磁盘,格式化旧磁盘并扩充到新磁盘的方法。
对新磁盘:
fdisk /dev/sdc(输入t–8e–w):分区为lvm
pvcreate /dev/sdc1:创建物理卷
vgcreate tgt /dev/sdc1:创建逻辑卷组
vgchange -a y tgt:激活逻辑卷组
lvcreate -L 499.99G -n lvm tgt(-L指定大小,这里不可以指定满,-n是指
该逻辑卷的名称):创建逻辑卷
mkfs -j /dev/tgt/lvm:创建非xfs文件系统
mkfs.xfs /dev/tgt/lvm:创建xfs文件系统
mount /dev/tgt/lvm /data1:挂载新建的文件系统
cp -r /data/* /data1:将数据目录下数据迁入新文件系统
df -h:查看迁入情况
对旧磁盘:
pvcreate /dev/sdb1:创建物理卷,需要抹除之前的数据
vgextend tgt /dev/sdb1:将新添加的物理卷(旧磁盘中)加入到
已有的逻辑卷组中
lvextend -L 1023.99G /dev/tgt/lvm(将此卷的总容量定下)
或者
lvextend -L +499.99G /dev/tgt/lvm(将此卷的总容量加上)
resize2fs /dev/tgt/lvm:对非xfs文件系统使增加的容量生效
xfs_growfs /dev/tgt/lvm:对xfs文件系统使增加的容量生效
对系统:
umount -v /data1&mount /dev/tgt/lvm /data:将新文件系统重新
挂载到/data文件目录下
vim /etc/fstab:进入挂载配置文件更改
将原先在/data上的挂载改掉:
/dev/sdb1 /data xfs defaults 0 0
改为
/dev/tgt/lvm /data xfs defaults 0 0
拷贝更新
cp -r -u -v Misc /media/clh/4388-D5FE
磁盘挂载的时候会有read-only
mount -o remount rw /
打RPM包
fpm -s dir -t rpm -n zookeeper -v 3.4.9 -a noarch --description ‘anything’ /root/zookeeper-3.4.9