Step 1: 在 GitHub 上注册一个账号,并 fork 一份Dr. Elephant
项目代码。
Step 2: 检出代码。
$> git clone https://github.com/<username>/dr-elephant $> cd dr-elephant*
Step 3: 先决条件:
play
或者activator
命令行。下载activator
zip 包https://downloads.typesafe.com/typesafe-activator/1.3.12/typesafe-activator-1.3.12.zip ,解压并添加activator
命令到你自己的环境变量$PATH
。对于老版的play
,你需要添加paly
命令并替换activator
。export ACTIVATOR_HOME=/path/to/unzipped/activator export PATH=$ACTIVATOR_HOME/bin:$PATH
Dr.Elephant
将分析数据结果存储在 MySQL 数据中。如果你还没装,请先安装好 MySQL。(推荐 5.5 以上版本)Dr. Elephant
UI 界面,需要安装npm
及其依赖sudo yum install npm sudo npm install -g bower cd web; bower install; cd ..
Step 4:(可选,Beta 阶段)如果你想尝试自动优化的新功能,请按照以下步骤来操作。(更多详情:https://github.com/linkedin/dr-elephant/wiki/Auto-Tuning)
app-conf/AutoTuningConf.xml
中autotuning.enabled
的选项为true
来启用自动优化功能app-conf/AutoTuningConf.xml
配置文件中的python.path
选项。PYTHON_PATH
设置为所需要的 python 版本的可执行文件路径即可:inspyred
包:
sudo pip install inspyred
Step 5: 编译Dr. Elephant
代码并打包生产zip
包。Compile.sh
脚本可以带一个配置文件路径参数,其中包含要编译的 Hadoop 和 Spark 的版本信息。具体信息请参阅开发者指南。
$> ./compile.sh [./compile.conf]
编译完成后,打包文件在dist
目录下。
$> ls dist dr-elephant*.zip
Step 6: 复制打包后的程序到你打算安装Dr. Elephant
的服务器上。
Step 7: 在你安装Dr. Elephant
的服务器上,确认以下环境变量配置好了。
$> export HADOOP_HOME=/path/to/hadoop/home $> export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop $> export SPARK_HOME=/path/to/spark/home $> export SPARK_CONF_DIR=/path/to/conf
Step 8: 你同样需要一个存储数据的后端数据库。在elephant.conf
配置文件中配置 MySQL 数据库的相关连接信息。
# Database configuration db_url=localhost db_name=drelephant db_user=root db_password=""
Step 9: 如果你的群集是kerberised
,则更新keytab
用户和elephant.conf
文件中的keytab
文件位置。
Step 10: 如果你是第一次运行Dr. Elephant
,你需要打开evolutions
功能,为此,请在elephant.conf
配置文件中添加(或取消注释),-Devolutionplugin=enabled
和 -DapplyEvolutions.default=true
。这将会让Dr. Elephant
自动创建相关的 MySQL 表,下次重启程序时记得关闭这个选项。
$> vim ./app-conf/elephant.conf jvm_props=" -Devolutionplugin=enabled -DapplyEvolutions.default=true"
Step 11: 要启动Dr. Elephant
,需要在运行启动脚本时指定配置文件目录。
$> /bin/start.sh /path/to/app-conf/directory
要验证Dr. Elephant
是否启动成功,请检查dr.log
文件。
$> less $DR_RELEASE/dr.log ... play - database [default] connected at jdbc:mysql://localhost/drelephant?characterEncoding=UTF-8 application - Starting Application... play - Application started (Prod) play - Listening for HTTP on /0:0:0:0:0:0:0:0:8080
要分析Dr. Elephant
是否正确的分析作业,请检查dr.log
文件。
$> less $DR_RELEASE/../logs/elephant/dr_elephant.log
Step 12: 一旦应用启动,你可以打开 ip:port (localhost:8080),查看 UI 界面。
Step 13: 要停止应用,只需执行
$> bin/stop.sh
本文分享自微信公众号 - 极客运维(hypernetworker),作者:hyperxu
原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。
原始发表时间:2019-10-28
本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。
我来说两句