一、前提环境
- 确保
Ambari
已安装好HDP2.6
- 确保
Python
服务软链指向的环境变量是系统自带的Python
,若使用Anaconda
带的Python
,后续安装Presto
会报错no module named rpm
- 禁用
requiretty
,否则,后续安装Presto
会报错:sudo:sorry,you must have a tty to run sudo
1、禁用 requiretty
方法
编辑 /etc/sudoers
文件,注释掉 Defaults requiretty
二、下载&安装 ambari-presto-1.2.tar.gz
1、下载地址
wget https://github.com/prestodb/ambari-presto-service/releases/download/v1.2/ambari-presto-1.2.tar.gz
说明:安装 ambari-presto-1.2.tar.gz
才能在 Ambari
的 UI
界面操作 presto
2、安装
1)新建 PRESTO
文件夹
mkdir /var/lib/ambari-server/resources/stacks/HDP/2.6/services/PRESTO
2)新建PRESTO文件夹
tar xvf ambari-presto-1.2.tar.gz --strip-components 1 -C /var/lib/ambari-server/resources/stacks/HDP/2.6/services/PRESTO
说明:参数 --strip-components 1
为去除目录结构,1代表去除最外面第一层。若不去掉第一层目录(ambari-server
),启动 ambari
之后,在增加组件那一栏中不会显示 presto
服务
3)修改PRESTO文件夹权限
chmod -R +x /var/lib/ambari-server/resources/stacks/HDP/2.6/services/PRESTO/*
三、下载 presto
离线安装包
# 创建目录
mkdir presto_repo
# 切换到目录
cd presto_repo/
# 下载presto-server-rpm-0.198.rpm服务
wget http://search.maven.org/remotecontent?filepath=com/facebook/presto/presto-server-rpm/0.198/presto-server-rpm-0.198.rpm
# 下载presto-cli-0.198-executable.jar,presto客户端启动所需的jar包
wget http://search.maven.org/remotecontent?filepath=com/facebook/presto/presto-cli/0.198/presto-cli-0.198-executable.jar
四、配置 presto
仓库
1、安装包移动到指定目录
cp /root/presto_repo/* /var/www/html/ambari/
2、配置路径
vi /var/lib/ambari-server/resources/stacks/HDP/2.6/services/PRESTO/package/scripts/download.ini
[download]
presto_rpm_url = http://机器的IP地址/ambari/presto-server-rpm-0.198.rpm
presto_cli_url = http://机器的IP地址/ambari/presto-cli-0.198-executable.jar
3、修改版本号
vim /var/lib/ambari-server/resources/stacks/HDP/2.6/services/PRESTO/metainfo.xml
<version>0.198</version>
五、建立新缓存,重启ambari
服务
清除缓存
yum clean all
建立新缓存
yum makecache
重启ambari
服务
ambari-server restart
重启 Ambari server
后,在浏览器 UI
界面,点击 Add Service
,根据指示安装 Presto
。
六、配置注意事项
注意添加 Connectors
的时候,外面还有一层大括号
{
'hive':[
'connector.name=hive-hadoop2',
'hive.metastore.uri=thrift://node2:9083' #Hive Metastore
],
'kafka':[
'connector.name=kafka',
'kafka.table-names=test',#kafka topic
'kafka.nodes=node2:6667' #kafka bootstrap_servers
]
}
若是不小心丢了大括号,后续安装会报错
resource_management.core.exceptions.ExecutionFailed:Execution of ‘/etc/init.d/presto status’ returned 3.Getting status for presto
七、卸载 presto
服务注意事项
手动卸载 presto
的 rpm
查看的presto的包名
rpm -qa|grep presto
卸载
rpm -e rpm包名