HashData 数据仓库离线安装手册
第一章:文档概述
1.1 适用范围
- 本安装手册适用于 HashData 数据仓库 V1.2.2 版本的离线安装操作。
- 本安装手册适用于 Redhat Linux 7.0 以上版本和 CentOS 7.0 以上版本的操作系统。
- 本安装手册适用于开发测试环境的安装部署。生产环境的安装部署请联系售后。
第二章:安装前的准备
2.1 操作系统准备
2.1.1 操作系统要求
- Redhat Linux 7.0 以上版本和 CentOS 7.0 以上版本的操作系统
- 推荐使用 CentOS 7.3
2.1.2 修改主机名
- 推荐主节点的主机名称为
mdw
- 推荐计算节点的主机名称为
sdw0,sdw1,...
- 可以在推荐主机名称前,根据运维的具体要求,增加前缀。例如:
department-olap-mdw
2.1.2.1. 使用以下命令修改主机名称:
hostnamectl set-hostname --static <Your-New-Host-Name-Here>
使用 AWS 主机时,需要进行的额外步骤
使用文本编辑器,编译文件 /etc/cloud/cloud.cfg
sudo vi /etc/cloud/cloud.cfg
在文件末尾增加以下内容,使得更改的内容能够在重启后生效
preserve_hostname: true
2.1.2.2. 重启服务器:
sudo reboot
2.1.2.3. 验证主机名称
通过以下命令查看主机名称,主机名称应该是第一步中设置的名称。
hostname
2.1.3 修改/etc/hosts文件
为了确保主机名称到 IP 地址的正确解析,需要为每台主机设置相同的
/etc/hosts
文件。主机名称应当正确的解析到每台主机对应的内网 IP 地址。
2.1.4 配置防火墙或者 AWS 安全组策略
- 集群主机之间,需要在 TCP 任意端口之间能够正常相互通信。
- 集群主机之间,需要在 UDP 任意端口之间能够正常相互通信。
- 主节点需要能够
ping
通任意其它计算节点。
2.1.5 准备数据磁盘空间
- 建议为数据准备单独的磁盘,挂载到
/data
目录下。 - 建议数据盘使用
xfs
文件系统。 - 建议整个集群数据盘的总空间为预期数据总量的两倍以上,为临时数据预留足够空间。
- 建议
/data
目录的权限为777
, 数据仓库会使用自己的用户在/data
目录下创建子目录。
2.2 准备离线安装程序
通过以下链接下载离线安装程序,并拷贝到所有主机上准备安装。
版本 | 下载地址 | 安装方式 |
---|---|---|
v1.2.2 | 下载地址 | 离线安装 |
第三章:离线安装
3.1 解压离线安装包
执行以下命令解压离线安装包:
tar -xzf hashdata-all-in-one-v1.2.2.tar.gz
3.2 进行离线安装
进入离线安装包目录:
cd repo
以 root
身份执行以下命令进行离线安装:
bash ./install.sh setup_local
在所有节点上重复以上操作。
3.3 配置 gpadmin 用户 ssh 互信访问
- 离线安装时,会自动创建 gpadmin 用户。
- 集群之间,通过 gpadmin 用户相互进行 ssh 访问时要求不需要输入密码。
3.3.1 为 gpadmin 用户生成 ssh 秘钥对
3.3.1.1 切换为 gpadmin
用户
su - gpadmin
3.3.1.2 为 gpadmin
用户生成 ssh 秘钥对, passphrase
为空
[gpadmin@mdw ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/gpadmin/.ssh/id_rsa):
Created directory '/home/gpadmin/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/gpadmin/.ssh/id_rsa.
Your public key has been saved in /home/gpadmin/.ssh/id_rsa.pub.
The key fingerprint is:
1d:8a:ea:a9:20:a5:7e:ae:72:20:23:b4:f4:35:b3:36 gpadmin@mdw
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| . |
| o + . o . |
|o + . = S . |
|=+ . E |
|*o o . |
|+..o . |
|.+=oo |
+-----------------+
3.3.1.3 记录公钥
cat ~/.ssh/id_rsa.pub
3.3.1.4 生成 authorized_keys
文件
- 在每个节点上重复以上步骤
- 收集所有节点的公钥,组成
authorized_keys
文件。 authorized_keys
文件每行应该为一个节点的公钥。- 将
authorized_keys
文件拷贝到每个节点的/home/gpadmin/.ssh/
目录下。 authorized_keys
文件的权限必须为600
第四章:初始化数据仓库
4.1 准备工作
以下操作均在 gpadmin
用户下,在主节点完成。
4.1.1 准备 hostfile
文件
- 将所有计算节点的主机名称,每行一个写入文件
hostfile
hostfile
文件不包含主节点
hostfile
文件示例:
sdw0
sdw1
sdw2
...
sdwn
4.1.2 准备配置文件
拷贝配置文件模板:
cp /opt/gpsql/docs/cli_help/gpconfigs/gpinitsystem_config gpinitsystem_config
编辑配置文件 gpinitsystem_config
, 修改以下内容, 其余内容保持不变:
MASTER_HOSTNAME=mdw
declare -a DATA_DIRECTORY=(/data/hashdata/primary)
MASTER_DIRECTORY=/data/hashdata/master
其中 mdw
为主节点名称,应根据实际情况修改。
4.1.3 创建数据目录
- 在主节点上创建目录
/data/hashdata/master
,属主是gpadmin
。 - 在所有计算节点上创建目录
/data/hashdata/primary
,属主是gpadmin
。
4.1.4 初始化数据仓库
在主节点上,执行以下命令初始化数据仓库。
gpinitsystem -c gpinitsystem_config -h hostfile
添加环境变量
export MASTER_DATA_DIRECTORY=/data/hashdata/master/gpseg-1
echo "export MASTER_DATA_DIRECTORY=/data/hashdata/master/gpseg-1" >>/home/gpadmin/.bashrc
第五章:配置数据仓库
5.1 安装 PostGIS Madlib 等插件(可选)
在主节点以 gpadmin 用户执行以下脚本安装插件
post_initialize_database.sh
5.2 修改访问权限
- 默认情况下,用户无法远程访问数据仓库。
在主节点以 gpadmin 用户执行以下命令,设定远程用户通过密码访问数据仓库。
echo "host all all 0.0.0.0/0 md5" >>/data/hashdata/master/gpseg-1/pg_hba.conf
在主节点以 gpadmin 用户执行以下命令,使配置修改生效。
gpstop -u
5.3 创建默认数据库和用户
在主节点以 gpadmin 用户执行以下命令,创建默认数据库 gpadmin
createdb
在主节点以 gpadmin 用户执行以下命令,为默认用户 gpadmin
设置密码
psql -c "alter user gpadmin with password 'NEW PASSWORD'"
第六章:附录
6.1 初始化失败之后需要清理的目录:
在所有节点以 gpadmin 用户执行以下命令:
rm -rf /data/hashdata/master/*
rm -rf /data/hashdata/primary/*
pkill -9 postgres
rm -rf /tmp/.s.PGSQL.*
rm -rf /home/gpadmin/.gphostcache
ipcclean
6.2 错误信息及解决方案
####报错信息
Warning: the RSA host key for ‘sdw0’ differs from the key for the IP address ‘172.31.19.100’
Offending key for IP in /home/gpadmin/.ssh/known_hosts:2
Matching host key in /home/gpadmin/.ssh/known_hosts:6
解决方案:删除主节点/home/gpadmin/.ssh/目录下的的 known_hosts
文件