• presto搭建,并配置hive


    我是cdh6.3,当然你hadoop也是一样可以的

    注意:

    hive中的表字段不能为中文,如果为中文,presto会连接超时,但是hive本身以及hue或者spark都不会有影响。只有presto会连接超时

     

    英文

     

    cdh,我采用的是jdk1.8_188

    听其他人说,presto的jdk的小版本要大于155,因为我是188大于155,所以我没有遇到过,如果你不是用的cdh带的jdk,你要稍微注意一下噢

     

     开始正题:

    搭建什么的很简单。就是上面那个玩意,把我整傻了。因为他的报错原因就1个,超时。根本搜不到解决方案。谁能想到超时和中文字段有关?:)

    单节点

    2个包,一个客户端,一个服务端

    地址的

    https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.184/presto-server-0.184.tar.gz https://repo1.maven.org/maven2/com/facebook/presto/presto-cli/0.184/presto-cli-0.184-executable.jar

    上传他们到这个目录/opt/cloudera/parcels/

    cd /opt/cloudera/parcels/

    tar -xvf presto-server-0.184.tar.gz

    进入目录server目录

    cd /opt/cloudera/parcels/presto-server-0.184

    presto他会默认读server目录下面etc中的配置

    mkdir etc

    创建4个文件,1个文件夹

     4个文件是presto的基础配置,catalog文件夹(名称不能改)是presto可集成的数据源目录

    每个文件配置,可以直接复制,除了绿色部分,写成自己的

    vi config.properties

    coordinator=true
    node-scheduler.include-coordinator=true
    http-server.http.port=20080
    query.max-memory=3GB
    discovery-server.enabled=true
    discovery.uri=http://192.168.30.101:20080

    vi jvm.config

    -server
    -Xmx32G
    -XX:+UseG1GC
    -XX:G1HeapRegionSize=150M
    -XX:+UseGCOverheadLimit
    -XX:+ExplicitGCInvokesConcurrent
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:+ExitOnOutOfMemoryError
    -DHADOOP_USER_NAME=presto

    adduser presto

    vi log.properties

    com.facebook.presto=INFO

    vi node.properties

    node.environment=presto
    node.id=presto1
    node.data-dir=/data/presto

    解释environment是集群标识,如果3台节点,那么这个都是相同的,id是唯一的,每台节点不同

    在catlog创建hive的配置,这样就可以连接hive

    cd catalog/

    vi hive.properties

    connector.name=hive-hadoop2
    hive.metastore.uri=thrift://hadoop1:9083
    hive.config.resources=/etc/hadoop/conf/core-site.xml,/etc/hadoop/conf/hdfs-site.xml

    hive.metastore.uri中的hadoop1

    是在cdh的管理平台选择的,我配置了hosts。集群也用的别名。

     

     

    resources是cdh的默认core-site.xml和hdfs-site.xml地址,如果你是hadoop,你要去指向你安装hdfs路径的这2个内容。

    然后会到server的bin目录就可以启动了

    cd /opt/cloudera/parcels/presto-server-0.184

    ./bin/launcher start --server-log-file=./logs/server.log

    这里会生成日志文件,他的logs下面,可以查看presto的运行情况

    成功后,可以通过界面访问

     

    启动客户端,进行查询

    客户端就是一起上传过来的那个jar包

    cd /opt/cloudera/parcels

    java -jar presto-cli-0.184-executable.jar --server hadoop01:20080 --catalog hive --schema default

    集群的话,也很简单分发一样,参考(亲测,能搭出来)

    presto安装(基于cdh6.1集成hive+sentry)_belialxing的博客-CSDN博客

  • 相关阅读:
    九、Linux高阶命令
    AJAX(二):axios 和 fetch函数发送AJAX请求、同源策略、 jsonp、CORS
    Python实现人脸识别
    【Python 实战基础】Pandas如何移除包含空值的行
    扩展-Hooks
    计算机网络自学笔记007_Real(传输层)
    理论第十一课——字符串
    源码阅读技巧总结-Android
    使用接口包装器模块简化在FPGA上实现PCIe的过程
    c++中的异常处理
  • 原文地址:https://blog.csdn.net/qq_38403590/article/details/126168262