Oryx 2.1.2版本: Serving Layer的研究&Debug环境搭建

先从暴露给用户的HTTP接口层:Serving Layer来进入。

1)启动脚本

如果是本地编译的话,路径位于:

\oryx-oryx-2.1.2\oryx-oryx-2.1.2\deploy\bin\oryx-run.sh

2)serving对应的jar包

oryx-oryx-2.1.2\oryx-oryx-2.1.2\deploy\oryx-serving\target\oryx-serving-2.1.2.jar

3)创建oryx.conf

一个可能的如下:

# Copyright (c) 2014, Cloudera, Inc. All Rights Reserved.
#
# Cloudera, Inc. licenses this file to you under the Apache License,
# Version 2.0 (the "License"). You may not use this file except in
# compliance with the License. You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# This software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
# CONDITIONS OF ANY KIND, either express or implied. See the License for
# the specific language governing permissions and limitations under the
# License.

# A very basic example config file configuring only the essential elements to
# run an ALS application.

# It's possible to specify reusable values:
kafka-brokers = "b03.example.com:9092,b04.example.com:9092"
zk-servers = "b01.example.com:2181,b02.example.com:2181/kafka"
hdfs-base = "hdfs:///user/example/Oryx"

oryx {
  id = "ALSExample"
  als {
    rescorer-provider-class = null
  }
  input-topic {
    broker = ${kafka-brokers}
    lock = {
      master = ${zk-servers}
    }
  }
  update-topic {
    broker = ${kafka-brokers}
    lock = {
      master = ${zk-servers}
    }
  }
  batch {
    streaming {
      generation-interval-sec = 300
      num-executors = 4
      executor-cores = 8
      executor-memory = "4g"
    }
    update-class = "com.cloudera.oryx.app.batch.mllib.als.ALSUpdate"
    storage {
      data-dir =  ${hdfs-base}"/data/"
      model-dir = ${hdfs-base}"/model/"
    }
    ui {
      port = 4040
    }
  }
  speed {
    model-manager-class = "com.cloudera.oryx.app.speed.als.ALSSpeedModelManager"
    ui {
      port = 4041
    }
  }
  serving {
    model-manager-class = "com.cloudera.oryx.app.serving.als.model.ALSServingModelManager"
    application-resources = "com.cloudera.oryx.app.serving,com.cloudera.oryx.app.serving.als"
    api {
      port = 8080
    }
  }
}

4)上面的都放在一个文件夹里,

然后执行以下命令

./oryx-run.sh serving

5)观察主类

   java -Xmx4000m -Dconfig.file=oryx.conf -cp oryx-serving-2.1.2.jar: com.cloudera.oryx.serving.Main

com.cloudera.oryx.serving.Main

6)以此建立eclipse开发环境

7)建立Linux的debug环境

Oryx 2.1.2版本: Serving Layer的研究&Debug环境搭建_第1张图片

好,可以开始了!

jdb com.cloudera.oryx.serving.Main


stop in com.cloudera.oryx.serving.Main.main

stop in com.cloudera.oryx.lambda.serving.ServingLayer.makeConnector

run


你可能感兴趣的:(Mahout,Oryx)