Skip to content

Instantly share code, notes, and snippets.

@greenqy
Last active December 21, 2015 02:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save greenqy/6541222e965c3b25917d to your computer and use it in GitHub Desktop.
Save greenqy/6541222e965c3b25917d to your computer and use it in GitHub Desktop.
install-workflow.md

工作流调度引擎

依赖

需要依赖 hadoop 生态圈的多种服务:

(其中 workflow 中的机器学习任务需要依赖 spark, 数据分析以及导入任务需要依赖 hive.)

以及:

安装

mvn

Ubuntu 官方源里面的 maven 版本较老, 去maven 官网 下载安装.

yellowbook

安装 yellowbook:

$ git clone http://10.214.224.201/baihe/yellowbook.git
$ cd yellowbook
$ (cd shared && mvn clean install)
$ (cd yellowbook-plugin-driver && mvn clean install)
$ mvn clean package 

配置 yellowbook, 修改 config/application.properties 中的配置.

启动 yellowbook:

$ java -jar target/YellowBook-1.0-SNAPSHOT.jar

安装 yellowbook client

$ git clone http://10.214.224.201/baihe/yellowbookclient.git
$ cd yellowbookclient
$ mvn clean install

session-server

编译:

$ git clone http://10.214.224.201/ally/session-server.git
$ cd session-server
$ mvn clean package

修改 config 目录下的配置文件

启动:

$ java -jar target/SessionServer-0.1.0.jar

新建用户:

$ hbase shell

## 创建表
hbase(main):001:0> create 'user', 'attr'
hbase(main):002:0> create 'session', 'info'

## 新建用户
$ curl -X POST localhost:8473/api/users --data 'username=user1&password=user1&role=USER'
$ curl -X POST localhost:8473/api/users --data 'username=admin&password=admin&role=ADMIN'
$ curl -X POST localhost:8473/api/users --data 'username=test&password=test&role=ADMIN'

session-client

安装 session-client:

$ git clone http://10.214.224.201/ally/session-client.git
$ cd session-client && mvn clean install

打开hive的thrift端口(用于数据库导入hive)

运行并保持打开状态

$ hive --service hiveserver -p 10002 
$ hiveserver2

workflow

安装 workflow:

$ git clone http://10.214.224.201/jie/apiserver.git
$ cd apiserver && mvn clean package

配置 workflow, 修改 config/application.properties 中的配置:

  • application.properties 中配置 workflow 端口等配置
  • hadoop.properties 中配置 hdfs 相关信息
  • session.properties 中配置 session-server 相关信息

创建用户目录:

$ hadoop fs -mkdir /user
$ hadoop fs -mkdir /user/ubuntu
$ hadoop fs -mkdir /user/ubuntu/users
$ hadoop fs -mkdir /user/ubuntu/users/admin
$ hadoop fs -mkdir /user/ubuntu/users/admin/Data
$ hadoop fs -mkdir /user/ubuntu/users/admin/Models
$ hadoop fs -mkdir /user/ubuntu/users/user1
$ hadoop fs -mkdir /user/ubuntu/users/user1/Data
$ hadoop fs -mkdir /user/ubuntu/users/user1/Models
$ hadoop fs -mkdir /user/ubuntu/users/test
$ hadoop fs -mkdir /user/ubuntu/users/test/Data
$ hadoop fs -mkdir /user/ubuntu/users/test/Models

启动 workflow:

$ java -jar target/WorkflowServer-1.0.0.jar

初始化数据(模板, 现有数据):

$ cp data/entrys/jar/* ~/workflowJar/
##  拷贝ml相关的jar包到根目录下的workflowJar目录下

$ cd data/entrys
$ ./initial.sh
## 默认开启用户身份认证以后, 无法直接初始化, 
## 需要登陆admin用户, 获得session.id后,
## 修改 initial.sh 中的 url, 在末尾加上`?session.id=#{session.id}`

UI

下载:

$ git clone http://10.214.224.201/baihe/workflow-ui.git

修改配置 js/app/Settings.js :

其中的 API_HOST 为 workflow 服务, LOG_HOST 为 session-server 服务

配置 web 服务

安装 apache2:

$ sudo apt-get install apache2

将 web 页面放到 /var/www/html/workflow 目录下:

$ sudo mv workflow-ui /var/www/html/workflow

新建网站:

$ cd /etc/apache2/sites-available
$ sudo cp 000-default.conf workflow.conf
$ sudo vim workflow.conf

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html/workflow
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

$ sudo a2dissite 000-default.conf
$ sudo a2ensite workflow.conf
$ sudo service apache2 reload

访问网站:

http://namenode

用之前新建的用户 admin:admin 或者 user1:user1 来登陆

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment