如何在腾讯云上安装 MapD 的 GPU 可视化数据库

前言

2017/5/8, MapD Technologies将MapD Core数据库进行开源啦。MapD是使用图形处理单元(GPU)以毫秒为单位分析数十亿行数据的先驱,比传统的基于CPU的数据库快几个数量级。MapD Core数据库及其可视化库开源让每个人都可以使用这个世界上最快的分析平台。

今天,笔者就要教大家如何在腾讯云上安装这个“新玩意”。

本文安装目录就直接选择了/home/mapd

这里创建了一个mapd用户。

准备工具

  1. 腾讯云服务器 系统为: CentOS 7.2 64位
  2. SSH登陆工具

系统准备

下面全部在root用户下执行,需要切换用户的地方会指明

一、安装JDK

这个网上教程一大堆,在这我就快速安装了。

执行以下代码:

yum install java-1.8.0-openjdk-headless

然后

vi /etc/profile.d/java.sh

在该文件里面输入

export LD_LIBRARY_PATH=/usr/lib/jvm/jre-1.8.0-openjdk/lib/amd64/server:$LD_LIBRARY_PATH

二、安装Enterprise Linux(EPEL)存储库额外的包

yum install epel-release

三、更新并重启

yum update
reboot

时间太长,看会皮卡丘再回来。:)

四、创建mapd用户并更新密码

useradd -U mapd
passwd mapd

五、安装CUDA驱动

curl -O -u mapd http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-repo-rhel7-8.0.61-1.x86_64.rpm
rpm --install cuda-repo-rhel7-8.0.61-1.x86_64.rpm
yum clean expire-cache
yum install cuda-drivers

上面第一条命令的版本可以修改 “8.0.61-1.x86_64” 就是这一部分可以改成你想要的版本,现在最新版本为 8.0.61

要想安装其它版本或者是Windows的可以点击这里下载相应的CUDA驱动。

安装完成后在 "/usr/lib64/" 下检查是否存在"libcuda.so"这个东西,如果不存在的话,请重新执行第五步操作

安装中途提示输入密码,记下此密码,后面要用。

六、设置防火墙

sudo firewall-cmd --zone=public --add-port=9092/tcp --permanent
sudo firewall-cmd --reload

开始安装系统

一、先去MapD的官网下载安装包

这是他们官网地址。

点击Download按钮,然后点击按图所示的Download按钮。

然后把弹出的窗口的信息填好,邮箱一定要真,之后你的邮箱会收到一封邮件。

点击如图所示的GPU会自动下载,可以复制下载链接到SSH中,然后用wget命令下载:

wget http://go3.mapd.com/e/298412/l-298412-2017-05-07-6c98/6c9d/15747147

下载下来的文件名为"15747147",通过mv命令把其改为"mapd.tar.gz"并移动到 mapd 用户的目录下,然后解压安装

mv 15747147 /home/mapd/mapd.tar.gz
cd /home/mapd
tar -xvf mapd.tar.gz

然后将解压出来的文件夹改名为 mapd,为了方便:

mv mapd-ce-3.0.0-20170507-7626e30-Linux-x86_64-render mapd

安装目录可以自选,在这笔者为了方便就安装在/home/mapd里了

二、配置MapD

输入下面命令,修改环境变量:

vi /etc/profile

环境变量里面添加如下内容:

export MAPD_PATH=/home/mapd/mapd
export MAPD_STORAGE=/var/lib/mapd
export MAPD_USER=mapd
export MAPD_GROUP=mapd
export LD_LIBRARY_PATH=/usr/lib/jvm/jre-1.8.0-openjdk/lib/amd64/server

然后

source /etc/profile

使得环境变量生效

1.创建数据目录并修改目录权限

sudo mkdir -p $MAPD_STORAGE
sudo chown -R $MAPD_USER $MAPD_STORAGE

2.初始化数据库

$MAPD_PATH/bin/initdb $MAPD_STORAGE

3.安装

cd $MAPD_PATH/systemd
./install_mapd_systemd.sh

三、 启动

1.启动MapD Core

sudo systemctl start mapd_server
sudo systemctl start mapd_web_serve

2.设置MapD Core随系统启动

sudo systemctl enable mapd_server
sudo systemctl enable mapd_web_server

四、验证

验证系统是否启动成功,加载一些数据,然后执行mapdql查询。

首先进入mapd的安装目录:

cd $MAPD_PATH
$MAPD_PATH/insert_sample_data

然后你会看到下面的提示:

1:里面有7亿行数据

2:里面有1万行数据

这里笔者选择10K的。

然后执行:

$MAPD_PATH/bin/mapdql

MapD默认的密码为: HyperInteractive,下面输入的密码为:HyperInteractive。

至于如何更改密码可参照MapD的官网文档,在这里笔者就不说了

然后输入查询语句开始查询:

SELECT origin_city AS "Origin", dest_city AS "Destination", AVG(airtime) AS
"Average Airtime" FROM flights_2008_10k WHERE distance < 175 GROUP BY origin_city,
dest_city;

如果看到以下内容说明成功:

这个数据库还有一个好处,就是提供了一个可视化的平台。在浏览器中输入你服务器的公网 ip:9092,如图所示:

然后创建一个新的仪表盘和点图,验证是否正常工作。

在这里笔者就随便创建了,然后得到下面的图,说明成功了。

别说,这图很好看:)

如果安装中途出现问题,或者是最终安装出来没有此效果,请小伙伴们重新安装一篇,仔细仔细再仔细,实在不行在评论区联系我。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏V站

Servlet HTTP 状态码大全列表

状态行包括 HTTP 版本(在本例中为 HTTP/1.1)、一个状态码(在本例中为 200)和一个对应于状态码的短消息(在本例中为 OK)。

1692
来自专栏康怀帅的专栏

RESTful API 设计详解

RESTful 是一种软件架构风格,其面向资源。基于 HTTP 协议实现。 设计概念和准则 所有事物都可以被抽象为资源。 每一个资源都有唯一的资源标识,对资...

4414
来自专栏草根专栏

使用Identity Server 4建立Authorization Server (3)

上一部分简单的弄了个web api 并通过Client_Credentials和ResourceOwnerPassword两种方式获取token然后进行api请...

3376
来自专栏JavaEdge

Cookie设置HttpOnly属性

在Servlet 3.0中增加对Cookie(请注意,这里所说的Cookie,仅指和Session互动的Cookie,即人们常说的会话Cookie)较为全面的操...

3.9K7
来自专栏V站

HTTP协议经典详解

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目...

2124
来自专栏优启梦

Servlet HTTP 状态码大全列表

状态行包括 HTTP 版本(在本例中为 HTTP/1.1)、一个状态码(在本例中为 200)和一个对应于状态码的短消息(在本例中为 OK)。

3737
来自专栏battcn

一起来学SpringBoot | 第十五篇:actuator与spring-boot-admin 可以说的秘密

一起来学SpringBoot | 第十四篇:强大的 actuator 服务监控与管理 中介绍了 actuator 的作用,细心的朋友可能会发现通过 http r...

1852
来自专栏海说

制作站点计数监听器

站点计数监听器 站点计数监听器的制作是新增的功能,在许多触发性的处理中需要使用此功能,通常用于用户对某一事件的触发监听,如监听用户的来访与退出、监听某一数据事件...

2310
来自专栏程序猿DD

从零开始的Spring Security Oauth2(一)

前言 今天来聊聊一个接口对接的场景,A厂家有一套HTTP接口需要提供给B厂家使用,由于是外网环境,所以需要有一套安全机制保障,这个时候oauth2就可以作为一个...

4476
来自专栏技术博文

HTTP协议详解

引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善...

4659

扫码关注云+社区

领取腾讯云代金券