安装准备
本节安装之前需要准备4台主机,各个节点上即将安装的组件如下表所示:
说明:每个节点都需要配置/etc/hosts,上表中的主机名称需要在每台机器的/etc/hosts中追加
192.168.1.11 oushum1192.168.1.12 oushum2192.168.1.21 oushus1192.168.1.22 oushus2
配置YUM源
首先登陆到oushum1,然后切换到root用户:
ssh oushum1su - root
有两种方式配置YUM源,第一种是配置Oushu源,通过互联网安装部署,第二种是通过下载Oushu安装包,然后配置本地源安装。
方式一:配置Oushu的YUM源,适合有互联网连接情况
Redhat/CentOS 7.4及更低版本系统并且包含avx指令请配置以下YUM源:
wget -P /etc/yum.repos.d/ $获取的repo url
Redhat/CentOS 7.4及更低版本系统但是不包含avx指令请配置以下YUM源:
wget -P /etc/yum.repos.d/ $获取的repo rul
方式二:下载安装包,配置本地源,适合不需一直联网安装情况
下载安装包(或通过物理介质拷贝的方式获取):
sudo su root
cd /
wget $获取的tarball url
解压软件包并安装httpd,请用具体的版本号代替...,比如oushu-software-full-4.6.0.0-rhel7-x86_64.tar.gz:
tar xzf oushu-database-full-latest-rhel7-x86_64.tar.gzyum -y install httpdsystemctl start httpdchown -R gpadmin:root /oushu-database-full-*.*.*.*-rhel7-x86_64
安装本地源,请用具体的版本号代替...,比如/oushu-database-full-4.6.0.0/setup_repo.sh:
/oushu-database-full-*.*.*.*/setup_repo.sh
关闭selinux:
setenforce 0
重建yum缓存:
yum clean allyum makecache
上述步骤成功后,请删除压缩包,以节省磁盘空间:
rm -f /oushu-database-full-*.*.*.*-rhel7-x86_64.tar.gz
交换公钥,设置无密码登陆
创建一个hostfile文件,包含cluster中的所有机器。
cd /roottouch hostfile
编辑hostfile文件内容如下(集群各机器的hostname):
oushum1oushum2oushus1oushus2
因为我们需要使用OushuDB命令行工具”hawq ssh-exkeys”来简化无密码登录设置以及使用“hawq ssh”来简化集群操作,所以我们在oushum1上先安装OushuDB:
yum install -y hawqsource /usr/local/hawq/greenplum_path.sh #设置hawq环境变量
在集群每台机器上执行如下指令:
sudo sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config & sudo service sshd restart
在oushum1执行:
hawq ssh-exkeys -f hostfile #交换公钥,使得ssh时无需输入用户密码(需要输入root用户密码)
注:如果集群中的root用户密码不一致,请修改root用户密码,使其保持一致。如果使用非root用户做ssh-exkeys则需要集群每台机器上都有该用户,并且密码一致。如何更改root用户密码:
sudo echo 'password' | sudo passwd --stdin root
请使用有sudo权限的用户执行,在’ ‘中输入想要更改的密码:
安装其他节点YUM源
在oushum1上,通过“hawq scp”命令统一安装其他节点的YUM源:
hawq scp -f hostfile /etc/yum.repos.d/oushu-database-cent73.repo =:/etc/yum.repos.d
关闭selinux
hawq ssh -f hostfile -e 'sed -i "s/^SELINUX\=enforcing/SELINUX\=disabled/g" /etc/selinux/config'hawq ssh -f hostfile -e 'setenforce 0'
”hawq ssh -f hostfile”会在hostfile中的所有节点上执行”-e”选项带的命令。
关闭防火墙
如果防火墙已经开启,需要关闭防火墙:
hawq ssh -f hostfile -e 'systemctl stop iptables'hawq ssh -f hostfile -e 'systemctl disable iptables'hawq ssh -f hostfile -e 'systemctl stop firewalld'hawq ssh -f hostfile -e 'systemctl disable firewalld'
安装配置NTP
hawq ssh -f hostfile -e 'yum install -y ntp'hawq ssh -f hostfile -e 'systemctl enable ntpd' #配置NTPD服务开机启动hawq ssh -f hostfile -e 'systemctl start ntpd' #启动NTPD服务
安装java
在oushum1使用“hawq ssh”统一安装所有节点的JDK,配置JAVA_HOME,本次安装中,JAVA_HOME的路径是/usr/java/default。如果已经安装了JDK,那么只需要将已安装的JDK目录,如/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.101-3.b13.el7_2.x86_64/,软连接到/usr/java/default
hawq ssh -f hostfile -e 'yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel'hawq ssh -f hostfile -e 'mkdir /usr/java'hawq ssh -f hostfile -e 'ln -s /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64/ /usr/java/default'
关于数据目录
本次安装我们假设每台机器上有两个数据盘,分别mount在/data1和/data2上。在其他硬件配置下,可能有很多块盘,用户需要根据盘数的不同更改后面相应的配置信息。尤其需要注意的是HDFS的数据目录, Magma 的数据目录和OushuDB的临时文件目录。
关于IPV6
目前Magma 暂不支持IPV6,需要将/etc/hosts中 “::1 localhost” 此行注释掉。