1.环境介绍
三台机器分布式查询
hadoop2.6.4+hive1.2.2+presto0.173+yanagishima5.0+jdk1.8.0_121
2.安装
hadoop和hive的安装部署略过。
2.1presto安装
下载prestoy和discovery安装文件并解压到相应路径
mkdir -p /data/hadoop/presto
cd /data/hadoop/presto
tar -zxvf ~/install_package/presto-server-0.173.tar.gz
tar -zxvf ~/install_package/discovrey_server-1.16.tar.gz
配置discovery
cd discovery-server-1.16
创建etc目录和data目录
mkdir etc data
cd etc
创建相应的配置文件
echo "http-server.http.port=8412" >config.properties
echo "-server
-Xmx8G
-XX:+UseConcMarkSweepGC
-XX:+ExplicitGCInvokesConcurrent
-XX:+AggressiveOpts
-XX:+HeapDumpOnOutOfMemoryError
-XX:OnOutOfMemoryError=kill -9 %p">jvm.config
echo "node.environment=presto
node.id=dddddddd-dddd-dddd-dddd-dddddddddddd
node.data-dir=/data/hadoop/presto/discovery-server-1.16/data">node.properties
至此discovery部署完成
进入presto0.173的安装目录并创建etc目录和data目录
cd presto-server-0.173
mkdir etc data
cd etc
创建相应的配置文件
echo "coordinator=true
datasources=jmx,hive
node-scheduler.include-coordinator=false
http-server.http.port=8411
query.max-memory=12GB
discovery-server.enabled=true
discovery.uri=http://namenode:8412">config.properties
echo "-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">jvm.config
echo "com.facebook.presto=DEBUG">log.properties
echo "node.environment=presto
node.id=11111111-1111-1111-1111-111111111111
node.data-dir=/data/hadoop/presto/presto-server-0.173/data">node.properties
创建catalog目录
mkdir catalog
cd catalog
echo "connector.name=hive-hadoop2
hive.metastore.uri=thrift://namenode:9083
hive.config.resources=/data/hadoop/hadoop-2.6.4/etc/hadoop/core-site.xml,/data/hadoop/hadoop-2.6.4/etc/hadoop/hdfs-site.xml">hive.properties
echo "connector.name=jmx">jmx.properties
将presto-server-0.173分发到两个子节点的相应目录,并修改node.properties文件里的node_id。node_id为节点的唯一标识。不可重复。
修改两个子节点的config.properties
echo "coordinator=false
datasources=jmx,hive
http-server.http.port=8411
query.max-memory=12GB
discovery.uri=http://namenode:8412">config.properties
回到主节点启动persto服务
bin/launcher start
观察日志是否正常启动。此处遇到一个坑,提示no factory to create hive-hadoop2
我的解决方案是重新下了hive-hadoop2里的jar然后覆盖plugins里的相应目录
下载地址:https://repo1.maven.org/maven2/com/facebook/presto/presto-hive-hadoop1/0.173/presto-hive-hadoop1-0.173.zip
此时presto安装完毕
下载presto-cli-0.170-executable.jar到presto-server-0.173目录
cp presto-cli-0.170-executable.jar presto
启动客户端
./presto --server localhost:8411 --catalog hive --schema default
2.2 yanagishima安装
在github下载相应的文件
git clone https://github.com/wyukawa/yanagishima
修改相应的配置文件yanagishima.properties
cp yanagishima.properties yanagishima.properties.bak
echo "jetty.port=8888
presto.query.max-run-time-seconds=1800
presto.max-result-file-byte-size=1073741824
presto.datasources=hive
presto.coordinator.server.hive=http://${namenode:ip}:8411
presto.redirect.server.hive=http://${namenode:ip}:8411
catalog.hive=hive
schema.hive=ods
select.limit=500
audit.http.header.name=some.auth.header
to.values.query.limit=500
check.datasource=false">yanagishima.properties
注:无论是参数还是值有hive的地方均是变量,需根据自己环境情况填写。
启动服务
bin/yanagishima-start.sh
三台机器分布式查询
hadoop2.6.4+hive1.2.2+presto0.173+yanagishima5.0+jdk1.8.0_121
2.安装
hadoop和hive的安装部署略过。
2.1presto安装
下载prestoy和discovery安装文件并解压到相应路径
mkdir -p /data/hadoop/presto
cd /data/hadoop/presto
tar -zxvf ~/install_package/presto-server-0.173.tar.gz
tar -zxvf ~/install_package/discovrey_server-1.16.tar.gz
配置discovery
cd discovery-server-1.16
创建etc目录和data目录
mkdir etc data
cd etc
创建相应的配置文件
echo "http-server.http.port=8412" >config.properties
echo "-server
-Xmx8G
-XX:+UseConcMarkSweepGC
-XX:+ExplicitGCInvokesConcurrent
-XX:+AggressiveOpts
-XX:+HeapDumpOnOutOfMemoryError
-XX:OnOutOfMemoryError=kill -9 %p">jvm.config
echo "node.environment=presto
node.id=dddddddd-dddd-dddd-dddd-dddddddddddd
node.data-dir=/data/hadoop/presto/discovery-server-1.16/data">node.properties
至此discovery部署完成
进入presto0.173的安装目录并创建etc目录和data目录
cd presto-server-0.173
mkdir etc data
cd etc
创建相应的配置文件
echo "coordinator=true
datasources=jmx,hive
node-scheduler.include-coordinator=false
http-server.http.port=8411
query.max-memory=12GB
discovery-server.enabled=true
discovery.uri=http://namenode:8412">config.properties
echo "-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">jvm.config
echo "com.facebook.presto=DEBUG">log.properties
echo "node.environment=presto
node.id=11111111-1111-1111-1111-111111111111
node.data-dir=/data/hadoop/presto/presto-server-0.173/data">node.properties
创建catalog目录
mkdir catalog
cd catalog
echo "connector.name=hive-hadoop2
hive.metastore.uri=thrift://namenode:9083
hive.config.resources=/data/hadoop/hadoop-2.6.4/etc/hadoop/core-site.xml,/data/hadoop/hadoop-2.6.4/etc/hadoop/hdfs-site.xml">hive.properties
echo "connector.name=jmx">jmx.properties
将presto-server-0.173分发到两个子节点的相应目录,并修改node.properties文件里的node_id。node_id为节点的唯一标识。不可重复。
修改两个子节点的config.properties
echo "coordinator=false
datasources=jmx,hive
http-server.http.port=8411
query.max-memory=12GB
discovery.uri=http://namenode:8412">config.properties
回到主节点启动persto服务
bin/launcher start
观察日志是否正常启动。此处遇到一个坑,提示no factory to create hive-hadoop2
我的解决方案是重新下了hive-hadoop2里的jar然后覆盖plugins里的相应目录
下载地址:https://repo1.maven.org/maven2/com/facebook/presto/presto-hive-hadoop1/0.173/presto-hive-hadoop1-0.173.zip
此时presto安装完毕
下载presto-cli-0.170-executable.jar到presto-server-0.173目录
cp presto-cli-0.170-executable.jar presto
启动客户端
./presto --server localhost:8411 --catalog hive --schema default
2.2 yanagishima安装
在github下载相应的文件
git clone https://github.com/wyukawa/yanagishima
修改相应的配置文件yanagishima.properties
cp yanagishima.properties yanagishima.properties.bak
echo "jetty.port=8888
presto.query.max-run-time-seconds=1800
presto.max-result-file-byte-size=1073741824
presto.datasources=hive
presto.coordinator.server.hive=http://${namenode:ip}:8411
presto.redirect.server.hive=http://${namenode:ip}:8411
catalog.hive=hive
schema.hive=ods
select.limit=500
audit.http.header.name=some.auth.header
to.values.query.limit=500
check.datasource=false">yanagishima.properties
注:无论是参数还是值有hive的地方均是变量,需根据自己环境情况填写。
启动服务
bin/yanagishima-start.sh