背景

需要构建一个用于数据仓库的分布式数据库集群。

每一个节点暂时不需要进行备份,同时也不考虑坏掉的情况。

每一个数据节点最好都不用进行过多的配置,安装起来方便。

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 groupdel gpadmin
sudo userdel 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来进行编辑,然后在文件末尾添加如下信息:

# hosts for greenplum
192.168.0.200 dw-greenplum-1 mdw
192.168.2.201 dw-greenplum-2 sdw1
192.168.0.202 dw-greenplum-3 sdw2
192.168.0.203 dw-greenplum-4 sdw3

其他:在其他三台电脑上追加 .

0同样的内容。

安装ssh服务器

ubuntu默认并没有安装和开启ssh服务器,因此,我们需要:

  1. 确定安装sshd

    sudo apt-get install openssh-server
  2. 检查防火墙设置,关闭防火墙

    sudo nfw disable
  3. 检验是否成功,运行下面的命令

    ssh localhost

有的时候虽然成功了,但还是会出现connection refused的问题,这是,需要查看一下sshd进程是否启动。

运行下面的指令查看是否有sshd进程:

ps -e | grep ssh

有时虽然可以看到sshd,但是还是不能连接成功,这是需要重启一下ssh:

sudo service ssh restart

然后再次连接。

其他:对其他三台电脑也同样方法安装ssh服务器。

配置ssh直接访问

进行操作之前需要切换用户为gpadmin:gpadmin,毕竟我们接下来的操作是要在gpadmin的权限下进行的:

su 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的了。

ubuntu 18.04下greenplum安装笔记(一)Linux下基础环境的搭建的更多相关文章

  1. 在Ubuntu 18.04系统上安装Systemback的方法(抄)

    在Ubuntu 18.04系统上安装Systemback的方法 2018-12-26 21:39:05作者:林莉稿源:云网牛站 本文介绍如何在Ubuntu 18.04或者Ubuntu 18.10系统上 ...

  2. 记录在Ubuntu 18.04系统中安装Apache, MySQL和PHP环境

    虽然我们在Linux VPS.服务器安装WEB环境比较方便,可以选择面板或者一键包,但是有些我们需要深入学习的网友不会选择一键安装,而是会尝试编译安装.这样可以学到一些内在的技术.一般我们较为习惯选择 ...

  3. Ubuntu 18.04 Numix主题安装设置

    Ubuntu 18.04 Numix主题安装设置 一.首先安装Numix主题 展现效果如下图 1.安装numix sudo add-apt-repository ppa:numix/ppa 2.安装主 ...

  4. 如何在Ubuntu 18.04 LTS上安装和配置MongoDB

    MongoDB是一款非关系型数据库,提供高性能,高可用性和自动扩展企业数据库. MongoDB是一个非关系型数据库,因此您不能使用SQL(结构化查询语言)插入和检索数据,也不会将数据存储在MySQL或 ...

  5. [笔记] Ubuntu 18.04源码安装caffe流程

    虽然Ubuntu 18.04可以通过apt安装caffe,但是为了使用最新的代码,还是值得从源码安装一遍的. 安装环境 OS: Ubuntu 18.04 64 bit 显卡: NVidia GTX 1 ...

  6. Ubuntu 18.04 Server上安装LAMP

    由于要进行渗透测试,所以这两天就在搭LAMP的环境(过程及其痛苦) 这里分享一些我遇到的问题. 首先介绍一下我的使用环境  VM虚拟机,ubuntu 与主机NAT连接 由于之前一直使用的是kali(默 ...

  7. Ubuntu 18.04 手动编译安装 ffmpeg

    ffmpeg 是一个由提供对视频.音频和其他多媒体流文件进行处理功能的库和程序构成的自由软件项目,其常被用于适用于不同格式的音频和视频的录影.转换和流处理等场合.这里记录在 Ubuntu 18.04 ...

  8. Ubuntu 18.04 64位安装tensorflow-gpu

    第一步(可直接跳到第二步):安装nvidia显卡驱动 linux用户可以通过官方ppa解决安装GPU驱动的问题.使用如下命令添加Graphic Drivers PPA: 1 sudo add-apt- ...

  9. 在Ubuntu 18.04系统上安装Pydio Cells详细图文教程

    前言   基于云的协作工具Pydio cell提供了一系列灵活的特性,包括应用内消息传递.文件共享和版本控制.下面逐步介绍安装过程. Pydio cell最初是一个简单的基于云的文件共享系统,但经过升 ...

随机推荐

  1. javax.jms.JMSException: Failed to build body from content. Serializable class not available to broker. Reason: java.lang.ClassNotFoundException: Forbidden class com.javaliao.portal.model.TbLogVisit! T

    javax.jms.jmsexception:无法从内容生成正文.可序列化类不可用于代理原因:java.lang.ClassNotFoundException: 禁止类com.javaliao.por ...

  2. Oracle-查看sql运行状况

    查看占io较大的正在运行的session SELECT se.sid, se.serial#, pr.SPID, se.username, se.status, se.terminal, se.pro ...

  3. rest_framework/api.html

    解决办法 在setting.py文件中添加 'rest_framework' 注册这个应用 INSTALLED_APPS = [ 'django.contrib.admin', 'django.con ...

  4. KM 最大权匹配 UVA 1411/POJ 3565

    #include <bits/stdc++.h> using namespace std; inline void read(int &num) { char ch; num = ...

  5. input 限制输入数字和小数

    //input 限制输入数字和小数 <input type="text" name="demo" value="" onkeyup=& ...

  6. 一个Maven项目在eclipse中正常,但在IDEA中启动时报错

    这个项目十有八九最初是在ecplise创建的,框架上十有八九整合了Mybatis,报的错误十有八九是 org.apache.ibatis.binding.BindingException: Inval ...

  7. mysql中Numeric类型和int类型的区别

    首先记一下,Numeric数字数据只包含 数字.数字数据包括正数.负数.小数.分数和整数 例子如下: Numeric(6,2) Numeric(16,6) Numeric(16,0) 从左到右,第一个 ...

  8. 做reacat小项目的过程(我感觉适合那种刚刚接触react感觉很深奥的亲们,通过这个可以建立一个很垃圾的项目,入门吧,往深处就需要自己再看了)

    需求:做一个react框架的前端框架(包括路由,请求后端等),大概就是做一个左边导航右边显示组件页面的东西,ui为material-ui 环境: 软件:vscode 包含的知识点:使用路由来导航,使用 ...

  9. sonca排除不扫描文件

    在pom.xml文件中的<properties>标签下加上<sonar.exclusions>XXX</sonar.exclusions>标签,如下 <pro ...

  10. Qt的插件开发

    写代码都是从不会到会,那么写博客也是同样的道理.从不会到会最实用的办法就是模仿了.关于Qt的知识很多都是学习了CSDN的一位大神 一去二三里.关于Qt插件的开发,我们也从他的文章里面抽丝剥茧,把最本质 ...