需要构建一个用于数据仓库的分布式数据库集群。
每一个节点暂时不需要进行备份,同时也不考虑坏掉的情况。
每一个数据节点最好都不用进行过多的配置,安装起来方便。
Greenplum的Shared-Nothing的设计思路很适合我目前的业务场景。
4台安装了Linux的主机,安装的操作系统的版本均为Lubuntu 18.04。
其中,我给他们取号了名字:
xiaoyao (逍遥)
身份:MyCat节点
IP地址:192.168.0.200
linger (灵儿)
身份:数据节点1
IP地址:192.168.0.201
yueru (月如)
身份:数据节点2
IP地址:192.168.0.202
anu (阿奴)
身份:数据节点3
IP地址:192.168.0.203
其中,机器对应的Master和Segment如下分配:
“逍遥”作为Master节点,其他三个节点作为Segment节点,每个机器上配置两个Primary Segment和两个Mirror Segment;同时“阿奴”作为Master Standy节点。
好了。下载来开始安装。
配置网络首先为每一台lubutu安装所缺的依赖:
sudo apt-get install net-tools vim -y配置ip地址
进入系统后,点击右下角的网络按钮,再点击“编辑连接...”,会弹出一个网络连接窗口,选择你目前的连接(以xiaoyao为例,我在xiaoyao上面使用的网络连接显示为“有线连接1”)并双击进入,选择弹出窗口上方的“IPv4设置”,然后将“方法(M):”对应的“自动(DHCP)”改为“手动”,并在下方一条静态ip信息(即:点击中间右侧的“添加(A)”),信息如下:
地址:192.168.0.200
子网掩码:255.255.255.0 (或者24)
网关:192.168.0.1
并配置DNS服务器地址为:8.8.8.8
点击右下角保存。重新启动(或者执行命令行指令sudo service network-manager restart),在命令行输入ifconfig,可以看到ip地址已经变为了192.168.0.200。
其他:按照这种方式在linger,yueru,anu上分别配置ip地址192.168.0.201~203。
创建专有用户
为了方便起见,我们为每一台电脑创建一个名为gpadmin的用户,和其对应的名为gpadmin的用户组。
首先,如果电脑上之前存在gpadmin或者gpadmin用户组的话,我们应该先把他们清掉:
然后重新建一个:
sudo groupadd -g 530 gpadmin sudo useradd -g 530 -u 530 -m -d /home/gpadmin -s /bin/bash gpadmin对文件夹进行赋权,为新用户创建密码:
sudo chown -R gpadmin:gpadmin /home/gpadmin/ sudo passwd gpadmin其他:为其他三台电脑也创建一个用户gpadmin:gpadmin。
配置地址别名
可以通过sudo vim /etc/hosts来进行编辑,然后在文件末尾添加如下信息:
其他:在其他三台电脑上追加 .
0同样的内容。
安装ssh服务器
ubuntu默认并没有安装和开启ssh服务器,因此,我们需要:
确定安装sshd
sudo apt-get install openssh-server
检查防火墙设置,关闭防火墙
sudo nfw disable
检验是否成功,运行下面的命令
ssh localhost
有的时候虽然成功了,但还是会出现connection refused的问题,这是,需要查看一下sshd进程是否启动。
运行下面的指令查看是否有sshd进程:
ps -e | grep ssh
有时虽然可以看到sshd,但是还是不能连接成功,这是需要重启一下ssh:
sudo service ssh restart
然后再次连接。
其他:对其他三台电脑也同样方法安装ssh服务器。
配置ssh直接访问
进行操作之前需要切换用户为gpadmin:gpadmin,毕竟我们接下来的操作是要在gpadmin的权限下进行的:
在xiaoyao上执行如下命令来生成唯一密钥(之后将会scp到另外三台电脑上):
ssh-keygen cp ~/.ssh/id_isa.pub ~/.ssh/authorized_keys chomd 600 ~/.ssh/authorized_keys chmod 700 ~/.ssh/在其他三台电脑上通过命令:
scp -r gpadmin@mdw:~/.ssh ~/.ssh然后ssh配置文件拷贝到本地。
接下来,便可以通过在任意一台电脑上以gpadmin的身份执行:
ssh gpadmin@mdw,
ssh gpadmin@sdw1,
ssh gpadmin@sdw2,
ssh gpadmin@sdw3
来验证是否可以成功ssh到对方主机并且是免密ssh的了。