部署PrestoDB on Cassandra
1、准备一个5节点的cassandra集群
略
node1,node2,node3,node4,node5
2、在node1上下载presto
wget https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.131/presto-server-0.131.tar.gz
3、解压缩
tar zxvf presto-server-0.131.tar.gz
mv presto-server-0.131 /presto
4、更改属主为nosql
chown nosql.nosql /presto
5、建立数据目录
mkdir /prestodata
chown nosql.nosql /prestodata
在node2、node3、node4、node5上也要建立
6、配置文件编辑
node.properties:每个节点的环境配置
jvm.config:jvm 参数
config.properties:配置 Presto Server 参数
log.properties:配置日志等级
Catalog Properties:Catalog 的配置
mkdir /presto/etc/
vim /presto/etc/node.properties
加入:
node.environment=production
node.id=1
node.data-dir=/prestodata
vim /presto/etc/jvm.config
加入:
-server
-Xmx2G
-XX:+UseConcMarkSweepGC
-XX:+ExplicitGCInvokesConcurrent
-XX:+CMSClassUnloadingEnabled
-XX:+AggressiveOpts
-XX:+HeapDumpOnOutOfMemoryError
-XX:OnOutOfMemoryError=kill -9 %p
-XX:ReservedCodeCacheSize=150M
vim /presto/etc/config.properties
加入:
coordinator=true
node-scheduler.include-coordinator=false
http-server.http.port=8080
discovery-server.enabled=true
discovery.uri=http://node1:8080
vim /presto/etc/log.properties
加入:
com.facebook.presto=INFO
vim /presto/etc/jmx.properties
加入:
connector.name=jmx
mkdir /presto/etc/catalog
vim /presto/etc/catalog/cassandra.properties
加入:
connector.name=cassandra
cassandra.contact-points=node2,node3,node4,node5
7、分发
scp -r /presto node2:/
scp -r /presto node3:/
scp -r /presto node4:/
scp -r /presto node5:/
前往node2、node3、node4、node5更改属主
chown nosql.nosql /presto -R
8、更改每个节点各自的配置文件
vim /presto/etc/node.properties
更改
node.id=2(node.id=3、4、5,建议使用uuid)
vim config.properties
更改:
coordinator=false
http-server.http.port=8080
discovery.uri=http://node1:8080
9、启动
先启动coordinator
在node1上
/presto/bin/launcher run
再启动worker
在node2/3/4/5上
/presto/bin/launcher run
10、其它
下载cli
wget https://repo1.maven.org/maven2/com/facebook/presto/presto-cli/0.100/presto-cli-0.100-executable.jar
mv presto-cli-0.100-executable.jar presto-cli
./presto-cli --server node1:8080 --catalog cassandra --schema default
输入SQL:
use mykeyspace;
select count(*) from users;
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341