安装greenplumn步骤

安装greenplumn步骤
(注意:一到十步全部在六台机器都要操作,都是root用户来操作的)
一、 挂载磁盘分区

1、fdisk -l 或者用 lsblk -f

2、分区

fdisk /dev/sdb

3、格式化

mkfs.xfs /dev/sdb1

4、创建挂载目录

mkdir /data

5、设置可以自动挂载(永久挂载,当你重启Linux之后,仍然可以挂载)

/dev/sda1 /data xfs rw,noatime,inode64,allocsize=16m 1 1

6、执行如下命令生效:

mount -a

二、关闭防火墙

systemctl  stop firewalld.service
systemctl  disable firewalld.service
systemctl  status firewalld.service

三、修改主机名

hostnamectl set-hostname  主机名;

然后需要重新启动主机(这里先不重启)
四、修改/etc/hosts

vim /etc/hosts
192.168.2.136 mdw
192.168.2.137 smdw
192.168.2.138 sdw01
192.168.2.139 sdw02
192.168.2.140 sdw03
192.168.2.141 sdw04

五、修改内核参数

vi /etc/sysctl.conf
    kernel.shmmax = 5000000000
	kernel.shmmni = 4096
	kernel.shmall = 40000000000
	kernel.sem = 250 5120000 100 20480
	#SEMMSL SEMMNS SEMOPM SEMMNI
	kernel.sysrq = 1
	kernel.core_uses_pid = 1
	kernel.msgmnb = 65536
	kernel.msgmax = 65536
	kernel.msgmni = 2048
	net.ipv4.tcp_syncookies = 1
	net.ipv4.ip_forward = 0
	net.ipv4.conf.default.accept_source_route = 0
	net.ipv4.tcp_tw_recycle = 1
	net.ipv4.tcp_max_syn_backlog = 4096
	net.ipv4.conf.default.rp_filter = 1
	net.ipv4.conf.default.arp_filter = 1
	net.ipv4.conf.all.arp_filter = 1
	net.ipv4.ip_local_port_range = 1025 65535
	net.core.netdev_max_backlog = 10000
	vm.overcommit_memory = 2

六、修改系统参数
soft nproc :单个用户可用的最大进程数量(超过会警告);
hard nproc:单个用户可用的最大进程数量(超过会报错);
soft nofile :可打开的文件描述符的最大数(超过会警告);
hard nofile :可打开的文件描述符的最大数(超过会报错);

vi /etc/security/limits.conf
添加修改
  • soft nofile 65536
  • hard nofile 65536
  • soft nproc 131072
  • hard nproc 131072
    然后修改:RHEL / CentOS 7 修改:/etc/security/limits.d/20-nproc.conf 文件
    [root@mdw ~]# vim /etc/security/limits.d/90-nproc.conf
    *          soft    nproc     131072
	root       soft    nproc     unlimited
linux模块pam_limits 通过读取 limits.conf文件来设置用户限制.
重启后生效,ulimit -u 命令显示每个用户可用的最大进程数max user processes。验	证返回值为131072。

七、关闭selinux

操作前先备份

cp /etc/selinux/config /etc/selinux/config.bak
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

setenforce 0
需要重新启动(这里先不重新启动)

reboot

查看selinux状态:

getenforce
disable 即可

八、 磁盘I/O 设置

vim /etc/rc.d/rc.local
(这里我好像没有设置成功,大佬可以留下方法,谢谢)
     /sbin/blockdev --setra 16384 /dev/sda
    检测
     /sbin/blockdev --getra /dev/sda  
    16384
修改权限:
chmod + x /etc/rc.d/rc.local

九、磁盘I/O调度算法
RHEL 7.x or CentOS 7.x, 使用 grub2 ,可以使用系统工具grubby来修改;

grubby --update-kernel=ALL --args="elevator=deadline"
重启后使用一下命令检查
grubby --info=ALL
禁用THP,因为它会降低Greenplum数据库的性能。
RHEL 7.x or CentOS 7.x, 使用 grub2  ,可以使用系统工具grubby来修改;
grubby --update-kernel=ALL --args="transparent_hugepage=never"
添加参数后,重启系统。

十、SSH连接阈值
修改 /etc/ssh/sshd_config 或者 /etc/sshd_config 文件的 MaxStartups 和 MaxSessions 参数:

MaxStartups 200
MaxSessions 200
重启sshd,使参数生效
systemctl restart sshd

十一、创建gpadmin用户(先在master创建,后面都会通过命令来创建剩下的五台机器)

groupadd gpadmin
useradd gpadmin -r -m -g gpadmin
passwd gpadmin

(注意:一到十步全部在六台机器都要操作,都是root用户来操作的,在这里重新启动所有的主机)
十二、安装greenplum-clients(用户为gpadmin)(现在master安装)
使用root上传greenplum-db-6.4.0-rhel7-x86_64.rpm到/home/gpadmin目录解压 。(若没有rpm包)

	cd /home/gpadmin ;
	wget http://47.94.143.103/greenplum-db-6.4.0-rhel7-x86_64.rpm
	rpm -ivh ./greenplum-db-6.4.0-rhel7-x86_64.rpm

安装时可能会报错

	sudo chown -R gpadmin:gpadmin /usr/local/greenplum*

空格回车跳过安装说明,输入yes 和回车 确认安装路径
在/usr/local/greenplu-db目录创建两个host文件(all_exkeys,seg_exkeys),用于后续使用gpssh,gpscp 等脚本host参数文件。
all_exkeys: 内容是集群所有主机名或ip,包含master,segment,standby等。
seg_exkeys: 内容是所有 segment主机名或ip
在/usr/local/greenplum-db/目录下新建all_exkeys 文件

cd /usr/local/greenplum-db/
vi all_exkeys ;

添加如下内容

	mdw
	smdw
	sdw01
	sdw02
	sdw03
	sdw04
vi seg_exkeys ;

添加(不要包含空行和空格)如下信息:

	smdw
	sdw01
	sdw02
	sdw03
	sdw04

修改gp安装目录权限

	chown -R gpadmin:gpadmin /usr/local/greenplum*

gp6.x 以前的版本无需执行以下操作(root 和 gpadmin都要操作一下)
然后在root 和 gpadmin环境配置文件里需要添加

cd /home/gpadmin/

vim .bash_profile
添加

	source /usr/local/greenplum-db/greenplum_path.sh
	source .bash_profile
su – root

vim .bash_profile
添加

	source /usr/local/greenplum-db/greenplum_path.sh
	source .bash_profile

在mdw节点生成公钥和私钥配置免密登录(root 和 gpadmin都要操作一下)在master执行

ssh-keygen -t rsa

然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免密登录的目标机器上

ssh-copy-id sdw01
ssh-copy-id sdw02
ssh-copy-id sdw03
ssh-copy-id sdw03
ssh-copy-id smdw

需要输入密码的地方输入密码

gpssh-exkeys -f all_exkeys

验证:

gpssh -f /usr/local/greenplum-db/all_exkeys -e 'ls /usr/local/'

批量添加gpadmin用户(如果前面未批量添加用户,这里可以执行,如果执行过则,跳过

source greenplum_path.sh

gpssh -f seg_ exkeys -e 'groupadd gpadmin;useradd gpadmin -r -m -g gpadmin;echo "gpadmin" | passwd --stdin gpadmin;'

gpssh -f seg_exkeys -e 'ls /home/'

(gp5.x 节点安装
安装各节点(master运行就行了):

gpseginstall -f all_exkeys

安装过程会交换秘钥,输入root密码和gpadmin密码(如果感觉太麻烦,可以执行gp6.x的操作)
切换gpadmin用户检查各节点是否成功安装)

gp6.x集群节点安装(用户为gpadmin)
打通gpadmin 用户免密登录(gp6.x之前使用gpseginstall,以后需要手动免密打通)

[root@mdw greenplum-db-6.2.1]# su - gpadmin

环境变量文件分发到其他节点(选择对应一个添加就行)

su - gpadmin		
gpscp -f /usr/local/greenplum-db/seg_ exkeys /home/gpadmin/.bash_profile  gpadmin@=:/home/gpadmin/.bash_profile
gpscp -f /usr/local/greenplum-db/seg_ exkeys /home/gpadmin/.bashrc gpadmin@=:/home/gpadmin/.bashrc 

批量复制系统参数到其他节点

示例:(

su root

前提:需要在root的/etc/profile里添加

	vim /etc/profile
	source /usr/local/greenplum-db/greenplum_path.sh
	source /etc/profile

su root
gpscp -f seg_exkeys /etc/hosts   root@=:/etc/hosts
gpscp -f seg_exkeys /etc/security/limits.conf   root@=:/etc/security/limits.conf 
gpscp -f seg_exkeys /etc/sysctl.conf  root@=:/etc/sysctl.conf 
gpscp -f seg_exkeys /etc/security/limits.d/90-nproc.conf   root@=:/etc/security/limits.d/90-nproc.conf
gpssh -f seg_exkeys -e '/sbin/blockdev --setra 16384 /dev/sda'
gpssh -f seg_exkeys -e 'echo deadline > /sys/block/sda/queue/scheduler'
gpssh -f seg_exkeys -e 'sysctl -p'

集群节点安装

与旧版本差异点 目前官网缺少这部分说明。

在gp6 之前,有一个工具gpseginstall ,可以安装各个节点的gp软件。根据gpseginstall的日志可以分析出,gpseginstall的主要步骤是:
1. 节点上创建gp用户 (此步骤可略过)
2. 打包主节点安装目录
3. scp到各个seg 服务器
4. 解压,创建软连接
5. 授权给gpamdin
模拟gpseginstall 脚本
以下脚本模拟gpseginstall 的主要过程,完成gpsegment的部署

用户下执行 变量设置

link_name='greenplum-db'                    #软连接名
binary_dir_location='/usr/local'            #安装路径
binary_dir_name='greenplum-db-6.4.0 '        #安装目录
binary_path='/usr/local/greenplum-db-6.4.0' #全目录

master节点上打包

rm -f ${binary_path}.tar; 
rm -f ${binary_path}.tar.gz
cd $binary_dir_location;
tar cf ${binary_dir_name}.tar ${binary_dir_name}
gzip ${binary_path}.tar

分发到segment

gpssh -f ${binary_path}/seg_exkeys -e " rm -rf ${binary_path};rm -rf ${binary_path}.tar;rm -rf ${binary_path}.tar.gz"
gpscp -f ${binary_path}/seg_exkeys ${binary_path}.tar.gz root@=:${binary_path}.tar.gz
gpssh -f ${binary_path}/seg_exkeys -e "cd ${binary_dir_location};gzip -f -d ${binary_path}.tar.gz;tar xf ${binary_path}.tar"
gpssh -f ${binary_path}/seg_exkeys -e "rm -rf ${binary_path}.tar;rm -rf ${binary_path}.tar.gz;rm -f ${binary_dir_location}/${link_name}"
gpssh -f ${binary_path}/seg_exkeys -e ln -fs ${binary_dir_location}/${binary_dir_name} ${binary_dir_location}/${link_name}
gpssh -f ${binary_path}/seg_exkeys -e "chown -R gpadmin:gpadmin ${binary_dir_location}/${link_name};chown -R gpadmin:gpadmin ${binary_dir_location}/${binary_dir_name}"
gpssh -f ${binary_path}/seg_exkeys -e "source ${binary_path}/greenplum_path.sh"
gpssh -f ${binary_path}/seg_exkeys -e "cd ${binary_dir_location};ll"

在此之前gp6.x集群安装完成
#检查各节点输出结果是否为gpdb家目录下的文件,文件所属用户是否为gpadmin

gpssh -f hostfile_exkeys -e ls -l $GPHOME  

创建数据目录,此步操作全部在master上执行

 1、mkdir -p /data/master
 2、chown -R gpadmin:gpadmin /data/master
 3、source /usr/local/greenplum-db/greenplum_path.sh
 4、gpssh -h smdw -e 'mkdir -p /data/master'
 5、gpssh -h smdw -e 'chown -R gpadmin:gpadmin /data/master'
 6、vi /usr/local/greenplum-db/seg_ exkeys ;
	sdw01
	sdw02
	sdw03
	sdw04
7、gpssh -f /usr/local/greenplum-db/seg_exkeys -e 'mkdir -p /data/primary'
8、gpssh -f /usr/local/greenplum-db/seg_exkeys -e 'mkdir -p /data/mirror'
9、gpssh -f /usr/local/greenplum-db/seg_exkeys -e 'chown -R gpadmin:gpadmin /data/*'

时钟同步(见网上教程)(可以不装)
先安装ntp服务,上传ntp相关三个rpm包到6台机器的/home/gpadmin目录

rpm -ivh ntpdate-4.2.6p5-28.el7.x86_64.rpm
rpm -ivh autogen-libopts-5.18-5.el7.x86_64.rpm
rpm -ivh ntp-4.2.6p5-28.el7.x86_64.rpm
gpssh -h smdw -e 'rpm -ivh /home/gpadmin/ntpdate-4.2.6p5-28.el7.x86_64.rpm'
gpssh -h smdw -e 'rpm -ivh /home/gpadmin/autogen-libopts-5.18-5.el7.x86_64.rpm'
gpssh -h smdw -e 'rpm -ivh /home/gpadmin/ntp-4.2.6p5-28.el7.x86_64.rpm'
gpssh -f /usr/local/greenplum-db/seg_ exkeys -e 'rpm -ivh /home/gpadmin/ntpdate-4.2.6p5-28.el7.x86_64.rpm'
gpssh -f /usr/local/greenplum-db/seg_ exkeys -e 'rpm -ivh /home/gpadmin/autogen-libopts-5.18-5.el7.x86_64.rpm'
gpssh -f /usr/local/greenplum-db/seg_ exkeys -e 'rpm -ivh /home/gpadmin/ntp-4.2.6p5-28.el7.x86_64.rpm'
手动同步下时间 gpssh -f /usr/local/greenplum-db/all_ exkeys -e 'date'

安装完成后,在除master之外的各节点上添加定时任务,每天同步一次时间(测试环境以mdw为时间服务器的,后续生产需要根据情况调整)
crontab -e 类似vi编辑
输入i ,然后输入 * * */1 * * /usr/sbin/ntpdate mdw ,按esc 输入:wq
crontab -l 检查 定时任务是否正常

检查磁盘、网络性能

	gpcheck -f hostfile_exkeys
    gpcheckperf -f /usr/local/greenplum-db/seg_exkeys -r ds -D -d /data/primary -d /data/mirror

初始化数据库

su – gpadmin
mkdir gpconfigs
cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config         	/home/gpadmin/gpconfigs/gpinitsystem_config
vim gpinitsystem_config
ARRAY_NAME="Greenplum Data Platform"
   SEG_PREFIX=gpseg
   PORT_BASE=6100
   #默认6000端口会被占用
   declare -a DATA_DIRECTORY=(/data/primary /data/primary /data/primary /data/primary /data/primary /data/primary)
   #目录个数代表每个节点的segment的个数,目录个数*节点数 为总的segments instance的个数
   MASTER_HOSTNAME=mdw
   MASTER_DIRECTORY=/data/master
   MASTER_PORT=5432
   TRUSTED_SHELL=ssh
   CHECK_POINT_SEGMENTS=8
   ENCODING=UTF-8
   #如果不弄mirror以下可以不用配置
   MIRROR_PORT_BASE=7000
   REPLICATION_PORT_BASE=7300
   MIRROR_REPLICATION_PORT_BASE=9000
   declare -a MIRROR_DATA_DIRECTORY=(/data/mirror /data/mirror /data/mirror /data/mirror /data/mirror /data/mirror)
    
gpinitsystem -c gpconfigs/gpinitsystem_config -h hostfile_gpssh_segonly -s smdw  -S(-S 需要节点数大于每台机器的segment的个数,执行时未加-S)
cd /home/gpadmin
echo "export MASTER_DATA_DIRECTORY=/data/master/gpseg-1" >> .bashrc
echo "export PGPORT=5432" >> .bashrc
echo "export PGUSER=gpadmin" >> .bashrc
echo "export PGDATABASE=postgres" >> .bashrc 
echo "export LD_PRELOAD=/lib64/libz.so.1 ps" >> .bashrc
source  .bashrc

测试数据库

psql
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值