Presto 安装部署

1 部署 JDK7

  /usr/local/jdk7

 

2 待下载软件列表:

  presto-server:

    http://search.maven.org/remotecontent?filepath=com/facebook/presto/presto-server/0.54/presto-server-0.54.tar.gz

  discovery-server:

    http://search.maven.org/remotecontent?filepath=io/airlift/discovery/discovery-server/1.16/discovery-server-1.16.tar.gz

  presto-cli-executable:

    http://search.maven.org/remotecontent?filepath=com/facebook/presto/presto-cli/0.54/presto-cli-0.54-executable.jar

 

3 准备工作

# mkdir -p /opt/presto /opt/presto/data /opt/presto/config

  

4 安装discovery-server

   下载完成后,选择一台机器部署discovery-server,用来处理集群发现

# cd /opt/presto
# tar xvf /root/discovery-server- 1.16 .tar.gz
# ln -s discovery-server- 1.16 discovery-server
# mkdir config/discovery-server
# cd discovery-server
# ln -s ../config/discovery-server etc

  编辑配置文件:

etc/node.properties
node.environment=production
node.id=ffffffff- 0000 - 0000 - 0000 -ffffffffffff
node.data-dir=/opt/presto/data/discovery/
etc/config.properties
http-server.http.port= 8411
etc/jvm.config
-server
-Xmx1G
-XX:+UseConcMarkSweepGC
-XX:+ExplicitGCInvokesConcurrent
-XX:+AggressiveOpts
-XX:+HeapDumpOnOutOfMemoryError
-XX:OnOutOfMemoryError=kill - 9 %p

  修改启动脚本,在exec一行之前加上

bin/launcher
PATH=/usr/local/jdk7/bin/:$PATH

 

5 安装presto-coordinator 和 presto-worker

  coordinator是管事的,worker是干活的

  找台机器

# cd /opt/presto
# tar xvf /root/presto-server- 0.54 .tar.gz
# ln -s presto-server- 0.54 presto-server
# mkdir config/presto-coordinator config/presto-worker

在coordinator上

# cd presto-server
# ln -s ../config/presto-coordinator etc

worker上

# cd presto-server
# ln -s ../config/presto-worker etc

 

公用的配置:

etc/jvm.config
-server
-Xmx16G
-XX:+UseConcMarkSweepGC
-XX:+ExplicitGCInvokesConcurrent
-XX:+CMSClassUnloadingEnabled
-XX:+AggressiveOpts
-XX:+HeapDumpOnOutOfMemoryError
-XX:OnOutOfMemoryError=kill - 9 %p
-XX:PermSize=150M
-XX:MaxPermSize=150M
-XX:ReservedCodeCacheSize=150M
etc/log.properties
com.facebook.presto=DEBUG
etc/node.properties
node.environment=production
node.id=ffffffff- 0000 - 0000 - 0000 -ffffffffffff
node.data-dir=/opt/presto/data/discovery/

确保每台机器node.id都不一样

 

catalog配置:

etc/catalog/jmx.properties
connector.name=jmx
etc/hive-cdh4.properties
connector.name=hive-cdh4
hive.metastore.uri=thrift: //hadoop4.lecai.com:9083
hive.config.resources=/etc/hadoop/conf/core-site.xml,/etc/hadoop/conf/hdfs-site.xml

如果CDH使用了nameservice HA,一定要包含最后一行的配置,否则可能会报主机名找不到。有这行配置的前提是所在的服务器是hadoop的节点机。

 

coordinator的配置

 

etc/config.properties
coordinator= true
datasources=jmx
http-server.http.port= 28282
presto-metastore.db.type=h2
presto-metastore.db.filename=/opt/presto/data/presto/var/db/MetaStore
task.max-memory=1GB
discovery-server.enabled= true
discovery.uri=http: //hadoop4.lecai.com:8411

worker的配置

etc/config.properties
coordinator= false
datasources=jmx,hive-cdh4
http-server.http.port= 28282
presto-metastore.db.type=h2
presto-metastore.db.filename=/opt/presto/data/presto/var/db/MetaStore
task.max-memory=1GB
discovery.uri=http: //hadoop4.lecai.com:8411

按官方的说法,coordinator的datasource不要加hive-cdh4,这样coordinator能高效地coordinates。

datasource的名字就是catalog配置的文件名。

 

 修改启动脚本,在exec一行之前加上

bin/launcher
PATH=/usr/local/jdk7/bin/:$PATH

 

6 启动程序

由于launch脚本都已经加上了JDK7的环境变量设置,所以所有的都是使用

# ./bin/launch start

就行了

如果要以非daemon方式工作,使用

# ./bin/launch run

 

7 使用CLI客户端

/usr/local/jdk7/bin/java -jar /root/presto-cli- 0.54 -executable.jar --server hadoop4.lecai.com: 28282 --catalog hive-cdh4 --schema lecai_stats_source

功能很有限,速度还行

presto:lecai_stats_source> help
 
Supported commands:
QUIT
EXPLAIN [FORMAT {TEXT | GRAPHVIZ}] <query>
DESCRIBE <table>
SHOW COLUMNS FROM <table>
SHOW FUNCTIONS
SHOW SCHEMAS
SHOW PARTITIONS FROM <table> [WHERE ...] [ORDER BY ...] [LIMIT n]
SHOW TABLES [LIKE <pattern>]

 

8 故障排查

新装的时候data目录清空就好,免得出问题。升级的时候可以重新link目录。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wsxlgg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值