GP&CDH安装部署系列-GP安装 – 记忆角落

GP&CDH安装部署系列-GP安装

/ 0评 / 0

1.由于最小化安装,所有机器执行

yum install ed openssh-clients zip unzip perl bind-utils net-tools -y

2.所有服务器关闭防火墙

#contos7:
systemctl stop firewalld
systemctl disable firewalld
firewall-cmd --state

#contos7以下:
service iptables stop
service iptables status
chkconfig iptables off(永久性生效,重启后不会复原)
#service iptables stop(即时生效,重启后复原)

3.检查时间是否为北京时间,如已经操作第一步时间同步后,此步可省略

#检查ntp主机时间是否为当前北京时间
date

#如不是:
date -s "2020-05-15 16:11:00"

#修改系统时间date后加clock -w 理由-->为了保险,需要使用 clock -w 把当前系统时间写入到CMOS中
clock -w

4.所有机器执行挂载

#正常情况下:
#查看磁盘
fdisk -l

#查看已挂载磁盘对应目录
df -h

#进入根目录
cd /

#创建目录
mkdir data

#格式化磁盘(如果是挂在两个盘,则需要格式两个磁盘:/dev/sdb /dev/sdc)
mkfs.xfs -f /dev/sdb
#mkfs.xfs -f /dev/sdc

#将信息写入fstab,让系统开启自动挂载
echo "
/dev/sdb /data xfs rw,noatime,inode64,allocsize=16m 1 1
" >>/etc/fstab

#挂载磁盘
mount -a

#检查是否挂载成功
df -h

步骤4遇到的问题:

#当需要的挂载磁盘已经挂载了对应的目录
umount /dev/sdb /data

#当遇到提示:设备正忙,卸载即告失败(/data: device is busy)
可使用:lsof /data

1589649935734

#使用fuser查看目录被谁占用,然后kill掉线程(lsof /data其实也可)
或者使用:fuser /data
/data: 2454 rc
#kill掉正在使用的进程后,重新 umount /dev/sdb /data
kill -9 2454

umount /dev/sdb /data

#遇到:mount:can‘t find uuid = xxxx

1589649310541

这说明uuid 对应的磁盘之前是有挂载过,然后我们格式化后UUID已经变了,然后之前对应的也是/data 目录,解决办法:

输入 blkid,然后拿到/dev/sdb 新的UUID,然后把/etc/fstab 文件对应的/dev/sdb 换成UUID,把之前有关/data的全部注销掉,再重新挂载:

1589649544626

1589650075800

 

5.修改所有机器名称

#centos7:
hostnamectl set-hostname mdw132
hostnamectl  --static
.....
hostnamectl set-hostname sdw137
hostnamectl set-hostname sdw138
hostnamectl set-hostname sdw139

#centos7以下:
#永久生效
vi /etc/sysconfig/network
HOSTNAME=mdw132

6.修改所有机器hosts

vi /etc/hosts

10.214.138.132 mdw132
10.214.138.133 sdw133
10.214.138.134 sdw134
10.214.138.135 sdw135
10.214.138.136 sdw136
10.214.138.137 sdw137
10.214.138.138 sdw138
10.214.138.139 sdw139

7.多机信任(免登陆),所有机器都需要执行

区分:这里master节点和其他datanode节点会略有区别。

1.首先所有节点均执行如下命令,遇到提示一路回车即可:

ssh-keygen -t rsa

15896506473292.在主节点执行以下命令:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

3.scp文件到所有datenode节点:
scp ~/.ssh/authorized_keys root@10.214.138.133:~/.ssh/
scp ~/.ssh/authorized_keys root@10.214.138.134:~/.ssh/
scp ~/.ssh/authorized_keys root@10.214.138.135:~/.ssh/
scp ~/.ssh/authorized_keys root@10.214.138.136:~/.ssh/
scp ~/.ssh/authorized_keys root@10.214.138.137:~/.ssh/
scp ~/.ssh/authorized_keys root@10.214.138.138:~/.ssh/
scp ~/.ssh/authorized_keys root@10.214.138.139:~/.ssh/

8.GP数据库安装部署:

8.1:修改所有机器的hosts(如果步骤6已做检查一遍)

cat /etc/hosts

8.2:安装greenplum--主节点执行(mdw132上执行)

安装软件上传至mdw132目录:/home/gp_install

#创建/home/gp_install
mkdir /home/gp_install
#进入
cd /home/gp_install
#赋值目录
chmod 777 /home/gp_install

#winscp 上传greenplum-db-4.3.11.3-rhel5-x86_64.bin到 /home/gp_install

#以下步骤root用户在mdw执行,安装本地GP,并交换密钥:
#(在文件所在目录下执行)
./greenplum-db-4.3.11.3-rhel5-x86_64.bin
# 注意修改默认安装目录为:/usr/local/greenplum-db,其它都默认为yes。

#读取变量
source /usr/local/greenplum-db/greenplum_path.sh
8.3:配置全部服务器列表(mdw132上执行)

注意:后续vi新建脚本都默认在mdw132服务器的/home/gp_install目录下,同时执行命令也需在mdw132服务器的该目录下运行

cd /home/gp_install

vi hostfile_all
#添加:
sdw133
sdw134
sdw135
sdw136
sdw137
sdw138
sdw139

8.4:交换密钥
#将hostfile_all文件赋值给
chown gpadmin:gpadmin /hostfile_all

#删除原来的文件
cd /root/.ssh/
rm -rf *

#执行
cd /home/gp_install/
gpssh-exkeys -f hostfile_all

[INFO] completed successfully-->成功

如果遇到一直输密码啥的:

1589652280536

1.有可能我们之前的多机信任有问题。

2.ssh版本密钥不对,需要修改sshd_config(所有机器执行):

vi /etc/ssh/sshd_config

#添加 
KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1

service sshd restart

最好改完以后,再重新生成一次秘钥,即从新多一个多机信任,先把cd /root/.ssh/ 下的文件都 rm -rf 了

8.5:服务器系统参数配置(mdw132上执行)
#配置1

#修改

vi /etc/sysctl.conf

注释原来所有内容,添加:

#system
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Disable netfilter on bridges.
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0

#gp,64G内存—shmmax :68719476736,128G内存-- shmmax :137438953472,物理内存*0.9*1024*1024*1024
#xfs_mount_options = rw,noatime,inode64,allocsize=16m
kernel.shmmax = 57438953472
kernel.shmmni = 4096
kernel.shmall = 40000000000
kernel.sem = 120 5120000 100 20480
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.all.arp_filter = 1
net.ipv4.ip_local_port_range = 1025 65535
net.core.netdev_max_backlog = 10000
vm.overcommit_memory = 2

#net.core.rmem_max = 2097152
#net.core.wmem_max = 2097152

net.core.rmem_default = 256960
net.core.rmem_max = 2097152
net.core.wmem_default = 256960
net.core.wmem_max = 2097152
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_sack = 0
net.ipv4.tcp_window_scaling = 1

注意:

#gp-->kernel.shmmax的值:64G内存—shmmax :68719476736,128G内存-- shmmax :137438953472,即物理内存*0.9*1024*1024*1024,如我的机器全是256G的:256*1024*1024*1024*0.9 , 其实只要超过128G 都可以默认得了...

#配置2

#修改

vi /etc/security/limits.conf

在最后增加:

#增加:
#gp
gpadmin soft nofile 65536
gpadmin hard nofile 65536
gpadmin soft nproc 131072
gpadmin hard nproc 131072

注意:

对于RedHat6.x/CENTOS 6.X系统,还需要将vi /etc/security/limits.d/90-nproc.conf文件中的1024修改为131072。

对于RedHat7.x/CENTOS 7.X系统,还需要将vi 录vi /etc/security/limits.d/20-nproc.conf文件中的4096修改为131072。

#配置3

#修改

vi /etc/rc.d/rc.local

在最后增加:

#添加:
#gp
/sbin/blockdev --setra 16384 /dev/sd*

保存修改后执行命令:

#单独执行命令:

echo 1 > /proc/sys/vm/overcommit_memory

#配置4(Centos6.5没有该文件,略过)

vi /boot/grub/menu.lst

#添加后的结果:
kernel /boot/vmlinuz-2.2.18-164.el5 ro root=LABEL=/ ro elevator=deadline rhgb quiet
(注:根据系统不同内容会不同,只管添加elevator=deadline即可)。

#配置5

vi /etc/inittab

#在最后增加:

id:3:initdefault:

#配置6

vi /etc/ssh/sshd_config

[找到MaxStartups去掉#并修改为如下参数]

MaxStartups=1000:30:5000

#配置 7

vi /etc/sysconfig/selinux

#找到SELINUX修改:

SELINUX=disabled

8.6.将mdw132(主服务器)配置覆盖其它节点服务器脚本:

#新建cp.sh文件

vi cp.sh

#添加:

gpscp -f hostfile_all /etc/hosts =:/etc
gpscp -f hostfile_all /etc/sysctl.conf =:/etc
gpscp -f hostfile_all /etc/security/limits.conf =:/etc/security
gpscp -f hostfile_all /etc/rc.d/rc.local =:/etc/rc.d
gpscp -f hostfile_all /proc/sys/vm/overcommit_memory =:/proc/sys/vm
gpscp -f hostfile_all /etc/sysconfig/selinux =:/etc/sysconfig
gpscp -f hostfile_all /etc/inittab =:/etc
gpscp -f hostfile_all /etc/ssh/sshd_config =:/etc/ssh/sshd_config
gpscp -f hostfile_all /etc/yum.repos.d/http.repo =:/etc/yum.repos.d/

#执行:

chmod +x cp.sh

./cp.sh

8.7.检查配置结果

#新建check文件

vi check

#添加:

/sbin/sysctl -p
/sbin/blockdev --setra 16384 /dev/sd*
blockdev --getra /dev/sd*
df -h
/etc/init.d/iptables stop
/etc/init.d/iptables status
chkconfig iptables off
chkconfig --list iptables
setenforce 0
getenforce
cat /etc/sysconfig/network
cat /etc/hosts
grep MaxStartups /etc/ssh/sshd_config
grep MaxSessions /etc/ssh/sshd_config

#执行

gpssh -f hostfile_all -v < check

8.8.安装GP数据库(mdw132上执行)
#1.创建数据存储区,以下步骤root用户在mdw132执行,在所有节点上安装GP:

gpseginstall -f hostfile_all -u gpadmin -p gpadmin

#2.master存储创建:
mkdir -p /data/master
mkdir -p /data/master/space_fastdisk

chown gpadmin /data/master
chown -R gpadmin:gpadmin /data
chown -R gpadmin:gpadmin /data/master
#3.second master存储(本次没备用管理smdw服务器,请忽略此步骤)
//gpssh -h smdw -e 'mkdir -p /home/data/master'
//gpssh -h smdw -e 'chown gpadmin /home/data/master'
#4.segment存储

#创建mkdir文件

vi mkdir

#添加:

注意:正常情况都是data1到data4,因为此次服务器内存小,磁盘也不大,还是虚拟机,读写性能估计也一般,所以只做data1和data2,而机器,把盘做了raid,做n组raid就有n个盘挂载,我们就可以每个挂载盘创建一个data

mkdir -p /data/data1/gp/p
mkdir -p /data/data1/gp/m
mkdir -p /data/data2/gp/p
mkdir -p /data/data2/gp/m

mkdir -p /data/data1/gp/p/space_fastdisk
mkdir -p /data/data1/gp/m/space_fastdisk
mkdir -p /data/data2/gp/p/space_fastdisk
mkdir -p /data/data2/gp/m/space_fastdisk

chown -R gpadmin:gpadmin /data/data1
chown -R gpadmin:gpadmin /data/data2
chown -R gpadmin:gpadmin /data/data1/gp
chown -R gpadmin:gpadmin /data/data2/gp

#执行

gpssh -f hostfile_all -v < mkdir

8.9.配置环境变量
#以下步骤gpadmin用户在mdw132执行.

切换用户:su - gpadmin

#配置gpadmin变量

#修改:

vi /home/gpadmin/.bashrc

#添加:

export GPHOME=/usr/local/greenplum-db
source $GPHOME/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/data/master/gpseg-1
export PGPORT=5432
export PGUSER=gpadmin
export PGDATABASE=postgres

#读取变量

source /home/gpadmin/.bashrc

8.10.初始化GP数据库(mdw132上执行)

#以下操作gpadmin用户在mdw132上执行:

#创建目录
su - gpadmin
mkdir /home/gpadmin/gpconfigs
cd /home/gpadmin/gpconfigs
#配置实例对应的网卡

#创建文件:

vi hostfile_gpinitsystem

#添加节点服务器:

mdw132
sdw133
sdw134
sdw135
sdw136
sdw137
sdw138
sdw139

注意:一定要加上主服务器,不然到时候数据存不到主服务器

#配置实例对应的磁盘等

1.实例数不用太多,参考2物理cpu则8个实例即可;

2.DATA_DIRECTORY 一个目录代表一个实例,本次GP部署每台使用2块盘

vi gpinitsystem_config

#添加:

ARRAY_NAME="EMC Greenplum DW"
SEG_PREFIX=gpseg
PORT_BASE=40000
declare -a DATA_DIRECTORY=(/data/data1/gp/p /data/data2/gp/p)
MASTER_HOSTNAME=mdw11
MASTER_DIRECTORY=/data/master
MASTER_PORT=5432
TRUSTED_SHELL=ssh
CHECK_POINT_SEGMENTS=16
ENCODING=UTF8
MIRROR_PORT_BASE=50000
REPLICATION_PORT_BASE=41000
MIRROR_REPLICATION_PORT_BASE=51000
declare -a MIRROR_DATA_DIRECTORY=(/data/data1/gp/m /data/data2/gp/m)
DATABASE_NAME=lte_mr
#执行初始化

[无备管理服务器smdw执行]

gpinitsystem -c gpinitsystem_config -h hostfile_gpinitsystem

[有备管理smdw服务器]

//gpinitsystem -c gpinitsystem_config -h hostfile_gpinitsystem -s smdw

 

运行结果中如出现如下信息则创建成功!

……

Greenplum Database instance successfully created

……

image-20200517181844088

8.11.远程访问设置(mdw132上执行)

#以下操作gpadmin用户在mdw132上执行

cd $MASTER_DATA_DIRECTORY

vi pg_hba.conf

#添加:

host all gpadmin 0.0.0.0/0 md5

host all dpi 0.0.0.0/0 md5
8.12.配置GP数据库登录密码(mdw132上执行)

#以下步骤gpadmin用户在mdw193执行。

切换用户:su - gpadmin

登录数据库:psql -d lte_mr

>alter role gpadmin with password 'gpadmin_GP$';

输入:\q退出数据库

image-20200517181808343

8.13.GP数据库参数配置(mdw132上执行)

[gp_vmem_protect_limit=内存总量/实例数1024=(2564)/8*1024 MB,

以128G内存,8实例为例,基本使用默认不修改]

#以下操作gpadmin用户在mdw上执行:

gpconfig -c gp_vmem_protect_limit -v 60000MB
gpconfig -c max_statement_mem -v 21333MB
gpconfig -c statement_mem -v 2048MB
gpconfig -c filerep_socket_timeout -v 350 
gpconfig -c gp_fts_probe_timeout -v 60
gpconfig -c max_connections -v 1000 -m 200
gpconfig -c max_appendonly_tables -v 50000 -m 50000
 
gpconfig -c gp_fts_probe_threadcount -v 90 -m 90 
gpconfig -c gp_fts_probe_interval -v 120 -m 120
gpconfig -c gp_fts_probe_retries -v 10 -m 10
gpconfig -c gp_fts_probe_timeout -v 120 -m 120
gpconfig -c gp_segment_connect_timeout -v 600

gpconfig -c vacuum_freeze_min_age -v 999999999 -m 999999999
gpconfig -c autovacuum_freeze_max_age -v 2000000000 -m 2000000000

image-20200517181939966

8.14.重启GP数据库(mdw132上执行)

#以下步骤gpadmin用户在mdw执行,切换用户:su - gpadmin

停数据库:gpstop -M fast

启数据库:gpstart -a

查看各节点状态:gpstate –m

8.15.性能验证(数据库安装成功后测试,mdw132上执行)
#网卡性能验证,网卡-管理口

vi hostfile_gpchecknet_eth0

#添加:

mdw132
sdw133
sdw134
sdw135
sdw136
sdw137
sdw138
sdw139

#测试:

gpcheckperf -f hostfile_gpchecknet_eth0 -r N -d /tmp > eth0.out

#查看:

cat eth0.out

#磁盘性能验证

[-S 256GB] 为内存的2倍

#测试

gpcheckperf -f hostfile_gpchecknet_eth0 -r ds -D -v -S 512GB -d /data1/gp/p >disk.out

#查看:

cat disk.out

 

发表评论

您的电子邮箱地址不会被公开。