如何使用mysql作为数据源运行predictionio引擎?

jxct1oxe  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(396)

我使用第一种方法从以下链接安装了predictionio引擎。现在我想使用mysql作为数据源来运行引擎。
因此,我配置了env.sh文件,如下所述:


# !/usr/bin/env bash

# 

# Copy this file as pio-env.sh and edit it for your site's configuration.

# 

# Licensed to the Apache Software Foundation (ASF) under one or more

# contributor license agreements.  See the NOTICE file distributed with

# this work for additional information regarding copyright ownership.

# The ASF 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

# 

# Unless required by applicable law or agreed to in writing, software

# distributed under the License 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.

# 

# PredictionIO Main Configuration

# 

# This section controls core behavior of PredictionIO. It is very likely that

# you need to change these to fit your site.

# SPARK_HOME: Apache Spark is a hard dependency and must be configured.

# SPARK_HOME=$PIO_HOME/vendors/spark-2.0.2-bin-hadoop2.7

SPARK_HOME=$PIO_HOME/vendors/spark-2.1.1-bin-hadoop2.6

POSTGRES_JDBC_DRIVER=$PIO_HOME/lib/postgresql-42.0.0.jar
MYSQL_JDBC_DRIVER=$PIO_HOME/lib/mysql-connector-java-8.0.11.jar

# PredictionIO Storage Configuration

# 

# This section controls programs that make use of PredictionIO's built-in

# storage facilities. Default values are shown below.

# 

# For more information on storage configuration please refer to

# http://predictionio.apache.org/system/anotherdatastore/

# Storage Repositories

# Default is to use PostgreSQL

PIO_STORAGE_REPOSITORIES_METADATA_NAME=pio_meta
PIO_STORAGE_REPOSITORIES_METADATA_SOURCE=MYSQL

PIO_STORAGE_REPOSITORIES_EVENTDATA_NAME=pio_event
PIO_STORAGE_REPOSITORIES_EVENTDATA_SOURCE=MYSQL

PIO_STORAGE_REPOSITORIES_MODELDATA_NAME=pio_model
PIO_STORAGE_REPOSITORIES_MODELDATA_SOURCE=MYSQL

# Storage Data Sources

# PostgreSQL Default Settings

# Please change "pio" to your database name in PIO_STORAGE_SOURCES_PGSQL_URL

# Please change PIO_STORAGE_SOURCES_PGSQL_USERNAME and

# PIO_STORAGE_SOURCES_PGSQL_PASSWORD accordingly

PIO_STORAGE_SOURCES_PGSQL_TYPE=jdbc
PIO_STORAGE_SOURCES_PGSQL_URL=jdbc:postgresql://localhost/pio
PIO_STORAGE_SOURCES_PGSQL_USERNAME=pio
PIO_STORAGE_SOURCES_PGSQL_PASSWORD=pio

# MySQL Example

PIO_STORAGE_SOURCES_MYSQL_TYPE=jdbc
PIO_STORAGE_SOURCES_MYSQL_URL=jdbc:mysql://localhost:3306/pio
PIO_STORAGE_SOURCES_MYSQL_USERNAME=root
PIO_STORAGE_SOURCES_MYSQL_PASSWORD=root

我还将mysql java连接器jar放在pio\u home/lib目录中。但是,当我运行pio status命令时,出现以下错误:

[INFO] [Management$] PredictionIO 0.12.1 is installed at /home/oodles/predictionio/PredictionIO-0.12.1
[INFO] [Management$] Inspecting Apache Spark...
[INFO] [Management$] Apache Spark is installed at /home/oodles/predictionio/PredictionIO-0.12.1/vendors/spark-2.1.1-bin-hadoop2.6
[INFO] [Management$] Apache Spark 2.1.1 detected (meets minimum requirement of 1.3.0)
[INFO] [Management$] Inspecting storage backend connections...
[INFO] [Storage$] Verifying Meta Data Backend (Source: MYSQL)...
[ERROR] [Management$] Unable to connect to all storage backends successfully.
The following shows the error message from the storage backend.

No suitable driver found for jdbc:mysql://localhost:3306/pio (java.sql.SQLException)

Dumping configuration of initialized storage backend sources.
Please make sure they are correct.

Source Name: MYSQL; Type: jdbc; Configuration: PASSWORD -> root, URL -> jdbc:mysql://localhost:3306/pio, TYPE -> jdbc, USERNAME -> root

有人能帮我解决这个问题吗?

rryofs0p

rryofs0p1#

我也遇到过同样的问题,这是因为没有安装jdbc驱动程序,尽管您可能会认为它来自pio-env.sh,表示存在某种jar文件。你要做的是转到这个网站https://dev.mysql.com/downloads/connector/j/ 然后选择“与平台无关”选项,然后单击“下载”按钮。这个甲骨文网站试图让你注册一些东西,但不要这样做。转到页面底部,上面写着“不,谢谢,开始下载”,然后右键单击并保存该链接。现在,您可以使用“wget”命令获取文件,然后在linux/ubuntu环境中解压缩该文件。我忘了解压命令文件是什么。我不熟悉linux/unix环境,但这对我使用pio确实有效。

b1payxdu

b1payxdu2#

改变 jdbc:mysql://localhost:3306/piojdbc:mysql://localhost/pio 在env.sh文件中

相关问题