在上面,我们通过PostgreSQL来作为PredictionIO的存储后端,从而存储event data,metadata,model data。自0.11.0之后,我们也可以使用Elasticsearch作为event data,meta data的存储后端。

首先model data可以通过本地文件系统存储,在pio-env.sh中配置如下:

PIO_FS_BASEDIR=$HOME/.pio_store
PIO_FS_ENGINESDIR=$PIO_FS_BASEDIR/engines
PIO_FS_TMPDIR=$PIO_FS_BASEDIR/tmp


PIO_STORAGE_REPOSITORIES_MODELDATA_NAME=pio_model
PIO_STORAGE_REPOSITORIES_MODELDATA_SOURCE=LOCALFS

PIO_STORAGE_SOURCES_LOCALFS_TYPE=localfs
PIO_STORAGE_SOURCES_LOCALFS_PATH=$PIO_FS_BASEDIR/models

安装Elasticsearch 5.5.2

tar zxvfC elasticsearch-5.5.2.tar.gz PredictionIO-0.12.0-incubating/vendors

在pio-env.sh配置ES

PIO_STORAGE_REPOSITORIES_METADATA_NAME=pio_meta
PIO_STORAGE_REPOSITORIES_METADATA_SOURCE=ELASTICSEARCH

PIO_STORAGE_SOURCES_ELASTICSEARCH_TYPE=elasticsearch
PIO_STORAGE_SOURCES_ELASTICSEARCH_HOSTS=localhost
PIO_STORAGE_SOURCES_ELASTICSEARCH_PORTS=9200
PIO_STORAGE_SOURCES_ELASTICSEARCH_SCHEMES=http
PIO_STORAGE_SOURCES_ELASTICSEARCH_HOME=$PIO_HOME/vendors/elasticsearch-5.5.2

vendors/elasticsearch-5.5.2/config/elasticsearch.yml修改es的网络主机配置

network.host: 127.0.0.1

安装hbase-1.2.6

tar zxvfC hbase-1.2.6-bin.tar.gz PredictionIO-0.12.0-incubating/vendors

配置pio-env.sh

PIO_STORAGE_REPOSITORIES_EVENTDATA_NAME=pio_event
PIO_STORAGE_REPOSITORIES_EVENTDATA_SOURCE=HBASE

PIO_STORAGE_SOURCES_HBASE_TYPE=hbase
PIO_STORAGE_SOURCES_HBASE_HOME=$PIO_HOME/vendors/hbase-1.2.6

hbase的standalone mode的最小化配置,配置在vendors/hbase-1.2.6/conf/hbase-site.xml

<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>file:///opt/modules/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/data</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/opt/modules/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/zookeeper</value>
    </property>
</configuration>

配置vendors/hbase-1.2.6/conf/hbase-env.sh

export JAVA_HOME=/opt/modules/jdk1.8.0_151

启动服务

启动服务最好不要使用root用户,此时可以创建超级用户kevin。

启动服务

$ pio-start-all

启动命令执行之后,所有的服务不会立刻启动,一般es会启动较慢。此时可以使用jps或pio status查看服务是否启动成功。

有时pio-start-all并不能将全部的服务启动,比较常见的问题是无法启动hbase,此时可以直接使用pio eventserver 启动hbase。

results matching ""

    No results matching ""