系统环境:hadoop + hive已经配置完成

1、下载presto:https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.167/presto-server-0.167.tar.gz

2、解压安装

#   tar -zxvf presto-server-0.167.tar.gz -C /usr/local/

/usr/local/presto-server-0.167则为安装目录,另外Presto还需要数据目录,数据目录最好不要在安装目录里面,方便后面Presto的版本升级。

3、配置presto

在安装目录里创建etc目录。这目录会有以下配置(自己创建):

结点属性(Node Properties):每个结点的环境配置

JVM配置(JVM Config):Java虚拟机的命令行选项

配置属性(Config Properties):Persto server的配置

Catelog属性(Catalog Properties):配置Connector(数据源)

(1)结点属性(Node Properties)

结点属性文件etc/node.properties,包含每个结点的配置。一个结点是一个Presto实例。这文件一般是在Presto第一次安装时创建的。以下是最小配置:

node.environment=production

node.id=ffffffff-ffff-ffff-ffff-ffffffffffff

node.data-dir=/var/presto/data

解释:

node.environment: 环境名字,Presto集群中的结点的环境名字都必须是一样的。

node.id: 唯一标识,每个结点的标识都必须是为一的。就算重启或升级Presto都必须还保持原来的标识。

node.data-dir: 数据目录,Presto用它来保存log和其他数据

eg:

node.environment=production

node.id=master-presto-coordinator

node.data-dir=/usr/local/presto-server-0.167/data             #data需要自己手动创建

(2)JVM配置(JVM Config)

JVM配置文件etc/jvm.config,包含启动Java虚拟机时的命令行选项。格式是每一行是一个命令行选项。此文件数据是由shell解析,所以选项中包含空格或特殊字符会被忽略。

以下是参考配置:

-server

-Xmx16G

-XX:+UseG1GC

-XX:G1HeapRegionSize=32M

-XX:+UseGCOverheadLimit

-XX:+ExplicitGCInvokesConcurrent

-XX:+HeapDumpOnOutOfMemoryError

-XX:+ExitOnOutOfMemoryError

备注:以上参数都是官网参数,实际环境需要调整

(3)配置属性(Config Properties)

配置属性文件etc/config.properties,包含Presto server的配置。Presto server可以同时为coordinator和worker,但一个大集群里最好就是只指定一台机器为coordinator。

以下是coordinator的最小配置:

coordinator=true

node-scheduler.include-coordinator=false

http-server.http.port=8080

query.max-memory=50GB

query.max-memory-per-node=1GB

discovery-server.enabled=true

discovery.uri=http://example.net:8080

以下是worker的最小配置:

coordinator=false

http-server.http.port=8080

query.max-memory=50GB

query.max-memory-per-node=1GB

discovery.uri=http://example.net:8080

如果适用于测试目的,需要将一台机器同时配置为coordinator和worker,则使用以下配置:

coordinator=true

node-scheduler.include-coordinator=true

http-server.http.port=8080

query.max-memory=5GB

query.max-memory-per-node=1GB

discovery-server.enabled=true

discovery.uri=http://example.net:8080

解释:

coordinator: 是否运行该实例为coordinator(接受client的查询和管理查询执行)。
node-scheduler.include-coordinator:coordinator是否也作为work。对于大型集群来说,在coordinator里做worker的工作会影响查询性能。
http-server.http.port:指定HTTP端口。Presto使用HTTP来与外部和内部进行交流。
query.max-memory: 查询能用到的最大总内存
query.max-memory-per-node: 查询能用到的最大单结点内存
discovery-server.enabled: Presto使用Discovery服务去找到集群中的所有结点。每个Presto实例在启动时都会在Discovery服务里注册。这样可以简化部署,不需要额外的服务,Presto的coordinator内置一个Discovery服务。也是使用HTTP端口。
discovery.uri: Discovery服务的URI。将example.net:8080替换为coordinator的host和端口。这个URI不能以斜杠结尾,这个错误需特别注意,不然会报404错误。

另外还有以下属性:
jmx.rmiregistry.port: 指定JMX RMI的注册。JMX client可以连接此端口
jmx.rmiserver.port: 指定JXM RMI的服务器。可通过JMX监听。

eg:server配置

coordinator=true
node-scheduler.include-coordinator=false
datasources=jmx,hive
http-server.http.port=8880
query.max-memory=1GB
query.max-memory-per-node=512MB
discovery-server.enabled=true
discovery.uri=http://172.20.1.1:8880

client配置

coordinator=false
http-server.http.port=8880
query.max-memory=1GB
query.max-memory-per-node=512MB
discovery-server.enabled = true
discovery.uri=http://172.20.1.1:8880

(4)日志级别

创建文件log.properties
填入内容:
com.facebook.presto=INFO
备注:日志级别有四种,DEBUG, INFO, WARN and ERROR

(5)连接设置

这里只说一下hive的,其实官网写的很清楚,如果有用到其他的,可以点一下官网连接:https://prestodb.io/docs/current/connector.html
hive connector配置如下:
  a、创建存放链接配置文件的文件夹,在之前etc目录下创建catalog
  b、放入一个jmx的配置文件,jmx.properties,配置内容:connector.name=jmx (通过jmx管理connector)
  c、配置一个hive connector的配制文件,hive.properties,内容如下:

在etc目录下创建catalog目录

#  mkdir catalog

# cd catalog

# touch hive.properties
connector.name=hive-hadoop2 #取个连接名
hive.metastore.uri=thrift://172.20.1.1:9083 #配置metastore连接
hive.config.resources=/usr/local/hadoop-2.9.1/conf/core-site.xml,/usr/local/hadoop-2.9.1/conf/hdfs-site.xml #指明hadoop的配置文件,主要是设计hdfs
hive.allow-drop-table=true #给删表权限
其他配置如下可参考官网:https://prestodb.io/docs/current/connector/hive.html https://prestodb.io/docs/current/connector/hive-security.html

eg:

(6)

这些都配置好后,就要启动presto,步骤如下:
a、在bin目录下启动服务:bin/launcher start bin/launcher start

b、命令行启动:下载启动jar包:presto-cli-0.191-executable.jar,下载链接为: https://repo1.maven.org/maven2/com/facebook/presto/presto-cli/0.191/presto-cli-0.191-executable.jar

c、下载下来后改个名字为presto,放在bin目录下,然后给个执行权限:chmod +x presto ,
d、连接hive,并启动:./presto --server localhost:8080 --catalog hive --schema default

e、如果要关闭presto服务,执行:bin/launcher stop

借鉴:https://blog.csdn.net/u012551524/article/details/79013194

hadoop--presto安装部署的更多相关文章

  1. PRESTO安装部署和参数说明(一)

    PRESTO部署和参数说明(一) 一,概要 在部署和使用presto的过程中,在此记录一下部署记录和使用记录以及需要注意的事项.本人使用的presto版本是0.214,3台redhat虚拟机.使用背景 ...

  2. Hadoop学习---安装部署

    hadoop框架 Hadoop使用主/从(Master/Slave)架构,主要角色有NameNode,DataNode,secondary NameNode,JobTracker,TaskTracke ...

  3. Hadoop之中的一个:Hadoop的安装部署

    说到Hadoop不得不说云计算了,我这里大概说说云计算的概念,事实上百度百科里都有,我仅仅是copy过来,好让我的这篇hadoop博客内容不显得那么单调.骨感.云计算近期今年炒的特别火,我也是个刚開始 ...

  4. hadoop分布式安装部署详细视频教程(网盘附配好环境的CentOS虚拟机文件/hadoop配置文件)

    参考资源下载:http://pan.baidu.com/s/1ntwUij3视频安装教程:hadoop安装.flvVirtualBox虚拟机:hadoop.part1-part5.rarhadoop文 ...

  5. hadoop(二)hadoop的安装部署

    系统版本 : 64位CentOS6.6 hadoop版本: 1.2.1 jdk版本: jdk1.6.0_45 环境准备 1.主机分配 主机名 ip master 1.0.0.0.10 slave1 1 ...

  6. hadoop分布式安装部署具体视频教程(网盘附配好环境的CentOS虚拟机文件/hadoop配置文件)

    參考资源下载:http://pan.baidu.com/s/1ntwUij3视频安装教程:hadoop安装.flvVirtualBox虚拟机:hadoop.part1-part5.rarhadoop文 ...

  7. hadoop 简单安装部署

    hadoop第一课:虚拟机搭建和安装hadoop及启动 hadoop第二课:hdfs集群集中管理和hadoop文件操作 hadoop第三课:java开发hdfs hadoop第四课:Yarn和Map/ ...

  8. 安装部署Apache Hadoop (本地模式和伪分布式)

    本节内容: Hadoop版本 安装部署Hadoop 一.Hadoop版本 1. Hadoop版本种类 目前Hadoop发行版非常多,有华为发行版.Intel发行版.Cloudera发行版(CDH)等, ...

  9. 记一次Hadoop安装部署过程

    实验名称:Hadoop安装部署 一.实验环境: 虚拟机数量:3个 (1个master,2个slave:slave01,slave02) 主节点master信息: 操作系统:CentOS7.5 软件包位 ...

  10. Hadoop.之.入门部署

    一.课程目标 ->大数据是什么?大数据能做什么? ->什么是Hadoop?Hadoop的设计思想? ->Hadoop如何解决大数据的问题?(什么是hdfs与yarn.MapReduc ...

随机推荐

  1. jQuery 事件介绍

    什么是事件?页面对不同访问者的响应叫做事件.事件处理程序指的是当 HTML 中发生某些事件时所调用的方法. 常用的时间主要有以下几种: click()事件:click() 方法是当按钮点击事件被触发时 ...

  2. ES6中 对字符串增强

    在曾经,我们只能用A.indexof(B)来判断A中是否含有B字符串: 现在在ES6中 有了: includes(), startswith(),endswith() reapt()重复次数: 输出 ...

  3. centos 7.0 读写ntfs分区

    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum install ntfs-3g 查看 ...

  4. vue 打印html

    1.https://github.com/xyl66/vuePlugs_printjs从这个路径下载print.js.放到你的代码中 2.我是放到我本地一个js文件中. 3.引入当前文件 //打印插件 ...

  5. git使用——远程仓库(Remote repositories)

    前言 为了能在任意 Git 项目上协作,你需要知道如何管理自己的远程仓库. 远程仓库是指托管在因特网或其他网络中的你的项目的版本库. 你可以有好几个远程仓库,通常有些仓库对你只读,有些则可以读写. 与 ...

  6. ubuntu 修改环境变量(PATH)

    1.什么是环境变量(PATH) 在Linux中,在执行命令时,系统会按照PATH的设置,去每个PATH定义的路径下搜索执行文件,先搜索到的文件先执行. 我们知道查阅文件属性的指令ls 完整文件名为:/ ...

  7. javascript方法注释

    参考资源 文章标题:Javascript注释规范 文章地址:https://blog.csdn.net/lianlin21212411/article/details/78530913 /** * @ ...

  8. jsx的本质

    jsx语法 1.所有html标签他都支持        <div></div> 2.大括号里面可以引入js变量 或者 表达式       {name || ''} 3.可以做判 ...

  9. Mybatis3.1-[tp_36-37]-_映射文件_select_resultMap关联查询__分步查询传递多列值&fetchType_discriminator鉴别器

    _分步查询传递多列值&fetchType_discriminator鉴别器 笔记要点出错分析与总结 Department.java bean public class Department { ...

  10. Poj-3286- How many 0's? - 【基础数位DP】

    How many 0's? Description A Benedict monk No.16 writes down the decimal representations of all natur ...