天天看点

用引导操作给E-MapReduce集群安装presto组件准备脚本安装和验证

当前emr集群的jdk版本是1.7,由于presto 0.86以上版本最低jdk要求是jdk8,所以需要给集群安装jdk8。以后集群默认jdk版本升级到jdk8以后这一步可以省略。

这个脚本从e-mapreduce团队提供的一个开放读取的oss地址下载oracle jdk8,解压缩,并设置javahome环境变量。要注意环境变量的设置对已存在的进程和其子进程是不生效的,后面启动presto前,应<code>source /etc/bashrc</code>

下面详细讲解脚本的内容。

从e-mapreduce团队提供的一个开放读取的oss地址下载presto 0.147,解压缩到指定目录。

根据hostname是否包含指定字符串,分别下载coordinator和worker的默认配置文件到presto的安装目录。两组默认配置文件都包含相同的jvm.config,log.preperties,node.preperties, catalog/hive.preperties, catalog/jmx.preperties文件,区别是config.preperties里前者指定了coordinator=true。默认的配置内容如下所示,如果要修改配置内容,比如修改查询请求的最大内存,您可以额外提供一个脚本修改配置内容。

coordinator的config.preperties

worker的config.preperties

后面的脚本会将localhost替换为coordinator的ip

node.preperties

后面的脚本会用uuid设置node.id的值

jvm.config

log.preperties

catalog/jmx.properties

catalog/hive.properties

后面的脚本会将localhost替换为metastore所在的master1节点的ip

各进程的node id必须 不同,这里用uuid自动生成。

取master1节点的内网ip,设置为discovery和metastore的ip地址。

先加载bashrc环境变量,再启动presto服务进程。

ssh用root用户 登陆master,输入·hive·进入hivecli,创建表并插入一条测试数据:

退出hive cli,进入presto cli

<code>./presto --server localhost:9090 --catalog hive --schema default</code>

执行<code>show tables</code>能看见刚刚创建的表,执行<code>select * from test;</code>能查到刚才插入的数据。如果未显示,可能是还未同步,稍等一会