## Prophet是什么?
* 一个优秀的大数据查询平台,提供hive异步任务查询、LDAP用户、表级查询权限控制、历史查询任务与结果存储、邮件通知、excel下载等功能。
* 具有查询性能快、查询方便的特点
## 开发环境
* java 8
* springboot
* VUE + iview
## 准备工作
* 搭建hadoop集群、hive集群(强烈推荐hive-server2-2.x版本)、metastore
* 搭建prophet会用到的mysql,推荐mysql 5.6及以上版本
## 安装步骤
* 1.安装jdk,强烈推荐使用jdk 1.8
* 安装jdk
* 修改PATH
* 2.下载文件(非编译安装)
* 二进制文件下载地址:https://pan.baidu.com/s/1eSgx4fo
* 或者下载ZIP包并解压,解压后会看到prophet_server、prophet_fe、prophet_sql三个目录
* 3.后端服务部署
* prophet_sql目录:连接到prophet会用到的mysql里source prophet.sql这个文件将库表建好
* prophet_server目录:后端服务,请部署在后端服务器适当目录下
* 修改主配置文件:prophet_server/conf/application.properties
* 启动服务:./bin/startup.sh
* 检查日志:./logs/prophet.log
* 4.前端服务部署
* prophet_fe目录:前端页面,请部署在nginx服务器或某个web服务器目录下例如/static/prophet_fe/,并参照下一步nginx配置
* 5.前端服务nginx配置
```javascript
upstream prophet{
ip_hash;
server 192.168.1.11:8090;
#server 192.168.1.12:8090;
}
server {
listen 80;
server_name prophet.xxx.com;
gzip on;
gzip_min_length 1k;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css application/xml application/json application/javascript application/xhtml+xml;
client_max_body_size 300M;
index index.php index.html index.htm;
access_log /log/nginx/prophet.access.log main;
error_log /log/nginx/prophet.error.log;
location ~ \.json$ {
proxy_pass http://prophet;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 200m;
client_body_buffer_size 128k;
proxy_connect_timeout 86400;
#因为后端hive任务执行时间较长,因此该项应该设置无限大,单位秒
proxy_read_timeout 259200;
proxy_buffer_size 4k;
}
location / {
root "/static/prophet_fe/";
}
}
```
配置完重启nginx即可
* 6.配置域名解析prophet.xxx.com到该nginx所在ip
* 7.打开浏览器,访问http://prophet.xxx.com/,输入用户名和密码进行登录。
* 如果配置了LDAP:则填写LDAP账号,prophet内置用户系统不生效。
* 如果配置了prophet内置用户系统:则默认初始化管理账号为admin1,密码为admin1
* 8.开始使用吧!
## 系统截图
* 1.登录页面
* ![image](https://github.com/jly8866/prophet/raw/master/screenshots/login.png)
* 2.主查询界面
* ![image](https://github.com/jly8866/prophet/raw/master/screenshots/hive_query.png)
* 3.所有机密表展示
* ![image](https://github.com/jly8866/prophet/raw/master/screenshots/all_secrets.png)
* 4.标记哪些表成为机密表
* ![image](https://github.com/jly8866/prophet/raw/master/screenshots/config_secrets.png)
* 5.内置用户系统管理
* ![image](https://github.com/jly8866/prophet/raw/master/screenshots/user_config.png)
## 性能调优
* prophet JVM能容纳的最大并发线程数NThreads = CPU核心数 * 总CPU利用率 * (1 + CPU等待时间/CPU处理时间)
* 如果一个任务CPU处理时间为100ms,99ms是IO等待时间,系统8核心,CPU利用率50%,则NThreads = 8 * 50% * (1 + 99/100) = 7.96 ~ 8
* 该指标可用于估算单进程prophet最大可运行的并发任务数
* 如果指标不够则需要扩容
## 联系方式:
QQ群:669833720
加群请注明来历
没有合适的资源?快使用搜索试试~ 我知道了~
一个优秀的大数据查询平台,提供hive异步任务查询、LDAP用户、数据权限控制、历史查询任务与结果存储、邮件通知、e.zip
共55个文件
java:38个
png:5个
xml:4个
需积分: 5 0 下载量 170 浏览量
2024-03-07
17:41:11
上传
评论
收藏 183KB ZIP 举报
温馨提示
一个优秀的大数据查询平台,提供hive异步任务查询、LDAP用户、数据权限控制、历史查询任务与结果存储、邮件通知、e
资源推荐
资源详情
资源评论
收起资源包目录
一个优秀的大数据查询平台,提供hive异步任务查询、LDAP用户、数据权限控制、历史查询任务与结果存储、邮件通知、e.zip (55个子文件)
prophet-master
screenshots
user_config.png 35KB
config_secrets.png 36KB
login.png 13KB
all_secrets.png 22KB
hive_query.png 62KB
pom.xml 5KB
src
test
java
junit
EmailTest01.java 2KB
prophet
HiveTest01.java 803B
HQLParserTest01.java 584B
main
assembly
bin
startup.sh 2KB
restart.sh 141B
stop.sh 468B
conf
application.properties 4KB
resources
application.properties 4KB
assembly.xml 1KB
logging.xml 2KB
application.properties.github 4KB
java
com
prophet
Application.java 835B
web
UserController.java 6KB
postparameters
HiveQueryCommand.java 609B
HiveSecretDataController.java 3KB
BaseController.java 2KB
HiveQueryController.java 13KB
dao
HiveSecretUserPrivsDao.java 1KB
HiveMetaStoreDao.java 776B
HiveServerDao.java 6KB
EmailUtil.java 2KB
task
HiveResultSendmailRunnableTask.java 1005B
HiveQueryAsyncTask.java 6KB
AdminDao.java 823B
UserAuthProphetDao.java 2KB
QueryHistoryDao.java 5KB
HiveSecretTableDao.java 4KB
UserAuthLdapDao.java 5KB
interfaces
UserAuthDaoInterface.java 412B
service
UserAuthService.java 6KB
HiveServerService.java 4KB
HiveMetaStoreService.java 2KB
HiveSecretDataService.java 6KB
BaseService.java 930B
QueryHistoryService.java 2KB
filter
LoginFilter.java 2KB
common
QueryHistoryStatusEnum.java 2KB
HQLParser.java 12KB
ThreadPool.java 3KB
Encryptor.java 1KB
util
DateTimeUtil.java 661B
domain
QueryHistory.java 2KB
HiveSecretTable.java 505B
config
HiveDataSourceConfig.java 914B
HiveResultTextConfig.java 877B
MySQLDataSourceConfig.java 1KB
webapp
WEB-INF
web.xml 216B
.gitignore 177B
README.md 4KB
共 55 条
- 1
资源评论
日刷百题
- 粉丝: 5301
- 资源: 951
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Java面试题+Java并发编程(J.U.C)+Java8实战+Redis+kafka
- Kotlin基础.pdf(39页,包含基础篇和进阶篇)
- 动态语义SLAM-目标检测+VSLAM+光流+多视角几何动态物体检测源码+octomap地图+目标数据库.zip
- 中国石油大学软件工程课程设计 网上在线销售系统
- 基于STM32F103C8T6、LCD1602、DS1338U(I2C接口)时钟采集显示系统proteus仿真设计
- python数据分析建模基础数据可视化自然语言处理入门基础.zip
- 使用YOLOv9+DeepSort实现的目标跟踪算法python源码.zip
- 鸿蒙OS ArkTS语言网络接口请求
- 基于序参量体系的大系统物质流与能量流协同度计算软件V1.0
- 基于STM32F103C8T6、LCD1602、DS1338(I2C接口)电子时钟proteus仿真设计
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功