GP的部署相对来讲是比较麻烦的,主要是为了最大化的利益系统资源,需要对数据盘、系统参数、机器互信等方面进行调整,大致过程如下:

安装前准备

网络规划

Greenplum数据库系统常见的拓扑图如上图所示,由Master主机和Segment主机组成。Master主机和Segment主机之间会组成一个内部网络(LAN)。 为了充分发挥Greenplum数据库并行处理的性能,对网络带宽要求较高。服务器会配置多个网卡,内部网需要配置多个网段的IP。需要对外连接的服务器需配置外部IP。 建议在Greenplum数据库系统安装之前,把网络配置规划好。

存储空间规划

首先,需要评估目标数据库数据所需要的空间容量。建议了解客户搭建Greenplum数据库的具体应用。举例:估计数据库所需空间为U,数据库需要启用Mirror,磁盘阵列总可用空间为D(Raid之后)。空间规划服务和如下公式: 2 * U + U / 3 = D * 70% 磁盘空间D平均分配到各个Segment服务器上。 Master需要相应的空间。使用服务器内置硬盘的计算方式类似。

数据库实例规划

规划每个Segment服务器上建立的数据库实例的数量(instance数量),通常建议每2个CPU内核(core)对应一个数据库实例。 如 :2*4核CPU的服务器,可配置4个实例。

Read on →

  • 统计系统各类连接数

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

结果类似如下格式:

ESTABLISHED 23
TIME_WAIT 707
  • ab命令简单压力测试

ab -n 50000000 -c 10 http://127.0.0.1:8080/
  • uwsgi reload

ps afx;
kill -HUP $pid_of_uwsgi
  • xargs相关

find . -type f -name "*.jpg" -print | xargs tar -czvf images.tar.gz

echo "nameXnameXnameXname" | xargs -dX
name name name name

echo "nameXnameXnameXname" | xargs -dX -n2
name name
name name
  • 多行输入单行输出:

cat test.txt | xargs

a b c d e f g h i j k l m n o p q r s t u v w x y z
  • 压缩加速

tar --use-compress-program=pigz -xvpf PKG-20180627.tar.gz
  • curl发送get或者post请求

curl -H "Content-Type:application/json" -X POST -d '{"user": "admin", "passwd":"12345678"}' http://127.0.0.1:8000/login
curl -d "user=admin&passwd=12345678" http://127.0.0.1:8080/login
Read on →

最近有个场景,数据会定时写入hdfs,需要GP从hdfs中将数据载入。网上关于gp连接hdfs的介绍不是很多,实现的过程中走了很多弯路。 整个过程大概分为4步:

  • 安装JDK :java必备;
  • 安装必要的PHD软件包 :安装phd中必要的组件,让GPDB主机作为Hadoop的client;
  • 设置GPDB :配置gpconfig;
  • 定时任务 :利用cron任务实现定时加载数据文件;

安装JDK

推荐版本是1.7.x,注意需要在所有节点进行安装,安装完成后添加以下内容到gpadmin用户对应的.bashrc文件中

export JAVA_HOME=/opt/jdk1.7.0_45

如果还会提示找不到Error: JAVA_HOME is not set and could not be found.尝试将上述命令添加到/etc/environment中. 编辑/etc/profile文件,添加如下内容:

export JAVA_HOME=/opt/jdk1.7.0_45
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

最后执行如下命令验证安装是否成功:

source /etc/profile
java -version

安装必要的PHD软件包

默认安装完GP后,无法直接ipc连接远程hdfs,官方推荐安装phd的一些软件,当然拷贝一份hadoop的包到本地也可以,目的都是让GPDB中的主机作为hadoop的客户端,能进行hdfs的访问。 所有的软件均可在phd的安装包中获得,我下载的是PHD-2.0.1.0-148版本,整个安装包大概805MB,以下rpm是需要顺序安装的:

1
2
3
4
5
6
7
8
rpm -ivh bigtop-jsvc-1.0.15_gphd_3_0_1_0-148.x86_64.rpm
rpm -ivh bigtop-utils-0.4.0_gphd_3_0_1_0-148.noarch.rpm
rpm -ivh zookeeper-3.4.5_gphd_3_0_1_0-148.noarch.rpm
yum -y install nc
rpm -ivh hadoop-2.2.0_gphd_3_0_1_0-148.x86_64.rpm
rpm -ivh hadoop-yarn-2.2.0_gphd_3_0_1_0-148.x86_64.rpm
rpm -ivh hadoop-mapreduce-2.2.0_gphd_3_0_1_0-148.x86_64.rpm
rpm -ivh hadoop-hdfs-2.2.0_gphd_3_0_1_0-148.x86_64.rpm

安装gphd的时候需要nc,所以先yum安装一下。

注意:官方说所有的segment节点需要安装这些软件,实际过程中整个GPDB中的机器都需要安装才可以运行,否则会提示无法加载class的错误。

设置GPDB

在gp中使用gpadmin用户进行设置以下两个配置项,具体的值需要根据官方的资料进行匹配

gpconfig -c gp_hadoop_home -v "'/usr/lib/gphd'"
gpconfig -c gp_hadoop_target_version -v "'gphd-2.0'"
Read on →

马克飞象是一款专为印象笔记(Evernote)打造的Markdown编辑器,通过精心的设计与技术实现,配合印象笔记强大的存储和同步功能,带来前所未有的书写体验。特点概述:

  • 功能丰富 :支持高亮代码块、LaTeX 公式、流程图,本地图片以及附件上传,甚至截图粘贴,工作学习好帮手;
  • 得心应手 :简洁高效的编辑器,提供桌面客户端以及离线Chrome App,支持移动端 Web;
  • 深度整合 :支持选择笔记本和添加标签,支持从印象笔记跳转编辑,轻松管理。

Markdown简介

Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面。 —— 维基百科

正如您在阅读的这份文档,它使用简单的符号标识不同的标题,将某些文字标记为粗体或者斜体,创建一个链接或一个脚注1。下面列举了几个高级功能,更多语法请按Cmd + /查看帮助。

代码块

1
2
3
4
5
6
7
8
9
10
@requires_authorization
def somefunc(param1='', param2=0):
    '''A docstring'''
    if param1 > param2: # interesting
        print 'Greater'
    return (param2 - param1 + 1) or None
class SomeClass:
    pass
>>> message = '''interpreter
... prompt'''
1
curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
Read on →