Installige Plesk operatsioonisüsteemi CentOS 7
Kas kasutate teistsugust süsteemi? Plesk on patenteeritud veebihosti juhtpaneel, mis võimaldab kasutajatel hallata oma isiklikke ja/või klientide veebisaite, andmebaase
Traditsioonilisi andmeanalüüsi lähenemisviise on võimatu kasutada, kui andmekogumid jõuavad teatud suuruseni. Kaasaegne alternatiiv tohutute andmehulkade analüüsimisele on masinõppemeetodite kasutamine. Masinõpe suudab kiire ja tõhusa algoritmi kasutamisel anda täpseid tulemusi.
Apache PredictionIO on avatud lähtekoodiga masinõppeserver, mida kasutatakse ennustavate mootorite loomiseks mis tahes masinõppeülesande jaoks. See lühendab masinõpperakenduse aega laborist tootmiseni, kasutades kohandatavaid mootorimalle, mida saab kiiresti ehitada ja juurutada. See pakub andmete kogumise ja teenindamise komponente ning koostab aluseks oleva tehnoloogia, et paljastada API, mis võimaldab arendajatel keskenduda teisenduskomponentidele. Kui PredictionIO mootoriserver on veebiteenusena kasutusele võetud, saab see dünaamilistele päringutele reaalajas vastata.
Apache PredictionIO koosneb erinevatest komponentidest.
Selles õpetuses kasutame 192.0.2.1
serveri avaliku IP-aadressina. Asendage kõik esinemised 192.0.2.1
oma Vultri avaliku IP-aadressiga.
Värskendage oma baassüsteemi, kasutades juhendit CentOS 7 värskendamine . Kui teie süsteem on värskendatud, jätkake Java installimisega.
Paljud PredictionIO komponendid nõuavad töötamiseks JDK või Java arenduskomplekti versiooni 8. See toetab nii OpenJDK kui ka Oracle Java. Selles õpetuses installime OpenJDK versiooni 8.
OpenJDK-d saab hõlpsasti installida, kuna pakett on saadaval YUM-i vaikehoidlas.
sudo yum -y install java-1.8.0-openjdk-devel
Kontrollige Java versiooni, et veenduda, et see on õigesti installitud.
java -version
Saate sarnase väljundi.
[user@vultr ~]$ java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
Enne jätkamist peame seadistama JAVA_HOME
ja JRE_HOME
keskkonnamuutujad. Leidke oma süsteemis JAVA käivitatava faili absoluutne tee.
readlink -f $(which java)
Näete sarnast väljundit.
[user@vultr ~]$ readlink -f $(which java)
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre/bin/java
Nüüd määrake JAVA_HOME
ja JRE_HOME
keskkonnamuutuja vastavalt Java kataloogi teele.
echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64" >> ~/.bash_profile
echo "export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre" >> ~/.bash_profile
Käivitage bash_profile
fail.
source ~/.bash_profile
Nüüd saate käivitada echo $JAVA_HOME
käsu, et kontrollida, kas keskkonnamuutuja on määratud.
[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
Apache pakub PredictionIO lähtefaile, mida saab kohapeal alla laadida ja kompileerida. Looge lähtefaili allalaadimiseks ja kompileerimiseks uus ajutine kataloog.
mkdir /tmp/pio_sourcefiles && cd /tmp/pio_sourcefiles
Laadige mis tahes Apache Mirrori saidi abil alla PredictionIO lähtefaili arhiiv .
wget http://apache.mirror.vexxhost.com/incubator/predictionio/0.12.0-incubating/apache-predictionio-0.12.0-incubating.tar.gz
Pakkige arhiiv välja ja kompileerige allikas, et luua PredictionIO distributsioon.
tar xf apache-predictionio-0.12.0-incubating.tar.gz
./make-distribution.sh
Ülaltoodud jaotus luuakse sõltuvuste vaikeversioonide vastu, milleks on Scala 2.11.8
, Spark 2.1.1
, Hadoop 2.7.3
ja ElasticSearch 5.5.2
. Oodake, kuni ehitamine lõpeb. Olenevalt teie süsteemi jõudlusest kulub selle valmimiseks umbes kümme minutit.
Märkus . Võite vabalt kasutada sõltuvuste uusimat toetatud versiooni, kuid võite näha ehitamise ajal hoiatusi, kuna mõned funktsioonid võivad olla aegunud. Käivitage ./make-distribution.sh -Dscala.version=2.11.11 -Dspark.version=2.1.2 -Dhadoop.version=2.7.4 -Delasticsearch.version=5.5.3
, asendades versiooninumbri vastavalt teie valikule.
Kui ehitamine on edukalt lõppenud, näete lõpus järgmist teadet.
...
PredictionIO-0.12.0-incubating/python/pypio/__init__.py
PredictionIO-0.12.0-incubating/python/pypio/utils.py
PredictionIO-0.12.0-incubating/python/pypio/shell.py
PredictionIO binary distribution created at PredictionIO-0.12.0-incubating.tar.gz
PredictionIO binaarfailid salvestatakse PredictionIO-0.12.0-incubating.tar.gz
arhiivi. Pakkige arhiiv välja /opt
kataloogis ja andke omandiõigus praegusele kasutajale.
sudo tar xf PredictionIO-0.12.0-incubating.tar.gz -C /opt/
sudo chown -R $USER:$USER /opt/PredictionIO-0.12.0-incubating
Määrake PIO_HOME
keskkonnamuutuja.
echo "export PIO_HOME=/opt/PredictionIO-0.12.0-incubating" >> ~/.bash_profile
source ~/.bash_profile
Looge uus kataloog, et installida PredictionIO sõltuvusi, nagu HBase
, Spark
ja Elasticsearch
.
mkdir /opt/PredictionIO-0.12.0-incubating/vendors
Laadige alla Scala versioon 2.11.8 ja ekstraktige see vendors
kataloogi.
wget https://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz
tar xf scala-2.11.8.tgz -C /opt/PredictionIO-0.12.0-incubating/vendors
Laadige alla Apache Hadoopi versioon 2.7.3 ja ekstraktige see vendors
kataloogi.
wget https://archive.apache.org/dist/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz
tar xf hadoop-2.7.3.tar.gz -C /opt/PredictionIO-0.12.0-incubating/vendors
Apache Spark on PredictionIO vaiketöötlusmootor. Laadige alla Sparki versioon 2.1.1 ja ekstraktige see vendors
kataloogi.
wget https://archive.apache.org/dist/spark/spark-2.1.1/spark-2.1.1-bin-hadoop2.7.tgz
tar xf spark-2.1.1-bin-hadoop2.7.tgz -C /opt/PredictionIO-0.12.0-incubating/vendors
Laadige alla Elasticsearchi versioon 5.5.2 ja ekstraktige see vendors
kataloogi.
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.2.tar.gz
tar xf elasticsearch-5.5.2.tar.gz -C /opt/PredictionIO-0.12.0-incubating/vendors
Lõpuks laadige alla HBase'i versioon 1.2.6 ja ekstraktige see vendors
kataloogi.
wget https://archive.apache.org/dist/hbase/stable/hbase-1.2.6-bin.tar.gz
tar xf hbase-1.2.6-bin.tar.gz -C /opt/PredictionIO-0.12.0-incubating/vendors
Avage hbase-site.xml
konfiguratsioonifail, et konfigureerida HBase töötama eraldiseisvas keskkonnas.
nano /opt/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/conf/hbase-site.xml
Otsige üles tühi konfiguratsiooniplokk ja asendage see järgmise konfiguratsiooniga.
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///home/user/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/data</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/user/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/zookeeper</value>
</property>
</configuration>
HBase loob andmekataloogi automaatselt. Tee määramiseks redigeerige HBase'i keskkonnafaili JAVA_HOME
.
nano /opt/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/conf/hbase-env.sh
Tühjendage rea number 27 kommentaarid ja määrake oma Java installi JAVA_HOME
tee jre
. JAVA käivitatava faili tee leiate readlink -f $(which java)
käsu abil.
# The java implementation to use. Java 1.7+ required.
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre
Kommenteerige ka reanumbreid 46 ja 47, kuna need pole JAVA 8 jaoks vajalikud.
# Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+
# export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
# export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
PredictionIO keskkonnafaili vaikekonfiguratsioon pio-env.sh
eeldab, et kasutame PostgreSQL-i või MySQL-i. Kuna oleme kasutanud HBase'i ja Elasticsearchi, peame muutma peaaegu kõiki faili konfiguratsioone. Parim on teha olemasolevast failist varukoopia ja luua uus PredictionIO keskkonnafail.
mv /opt/PredictionIO-0.12.0-incubating/conf/pio-env.sh /opt/PredictionIO-0.12.0-incubating/conf/pio-env.sh.bak
Now create a new file for PredictionIO environment configuration.
nano /opt/PredictionIO-0.12.0-incubating/conf/pio-env.sh
Populate the file with the following configuration.
# 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.1.1-bin-hadoop2.7
# POSTGRES_JDBC_DRIVER=$PIO_HOME/lib/postgresql-42.0.0.jar
# MYSQL_JDBC_DRIVER=$PIO_HOME/lib/mysql-connector-java-5.1.41.jar
# ES_CONF_DIR: You must configure this if you have advanced configuration for
# your Elasticsearch setup.
ES_CONF_DIR=$PIO_HOME/vendors/elasticsearch-5.5.2/config
# HADOOP_CONF_DIR: You must configure this if you intend to run PredictionIO
# with Hadoop 2.
HADOOP_CONF_DIR=$PIO_HOME/vendors/spark-2.1.1-bin-hadoop2.7/conf
# HBASE_CONF_DIR: You must configure this if you intend to run PredictionIO
# with HBase on a remote cluster.
HBASE_CONF_DIR=$PIO_HOME/vendors/hbase-1.2.6/conf
# Filesystem paths where PredictionIO uses as block storage.
PIO_FS_BASEDIR=$HOME/.pio_store
PIO_FS_ENGINESDIR=$PIO_FS_BASEDIR/engines
PIO_FS_TMPDIR=$PIO_FS_BASEDIR/tmp
# 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.incubator.apache.org/system/anotherdatastore/
# Storage Repositories
# Default is to use PostgreSQL
PIO_STORAGE_REPOSITORIES_METADATA_NAME=pio_meta
PIO_STORAGE_REPOSITORIES_METADATA_SOURCE=ELASTICSEARCH
PIO_STORAGE_REPOSITORIES_EVENTDATA_NAME=pio_event
PIO_STORAGE_REPOSITORIES_EVENTDATA_SOURCE=HBASE
PIO_STORAGE_REPOSITORIES_MODELDATA_NAME=pio_model
PIO_STORAGE_REPOSITORIES_MODELDATA_SOURCE=LOCALFS
# 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/pio
# PIO_STORAGE_SOURCES_MYSQL_USERNAME=pio
# PIO_STORAGE_SOURCES_MYSQL_PASSWORD=pio
# Elasticsearch Example
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_CLUSTERNAME=pio
PIO_STORAGE_SOURCES_ELASTICSEARCH_HOME=$PIO_HOME/vendors/elasticsearch-5.5.2
# Optional basic HTTP auth
# PIO_STORAGE_SOURCES_ELASTICSEARCH_USERNAME=my-name
# PIO_STORAGE_SOURCES_ELASTICSEARCH_PASSWORD=my-secret
# Elasticsearch 1.x Example
# PIO_STORAGE_SOURCES_ELASTICSEARCH_TYPE=elasticsearch
# PIO_STORAGE_SOURCES_ELASTICSEARCH_CLUSTERNAME=<elasticsearch_cluster_name>
# PIO_STORAGE_SOURCES_ELASTICSEARCH_HOSTS=localhost
# PIO_STORAGE_SOURCES_ELASTICSEARCH_PORTS=9300
# PIO_STORAGE_SOURCES_ELASTICSEARCH_HOME=$PIO_HOME/vendors/elasticsearch-1.7.6
# Local File System Example
PIO_STORAGE_SOURCES_LOCALFS_TYPE=localfs
PIO_STORAGE_SOURCES_LOCALFS_PATH=$PIO_FS_BASEDIR/models
# HBase Example
PIO_STORAGE_SOURCES_HBASE_TYPE=hbase
PIO_STORAGE_SOURCES_HBASE_HOME=$PIO_HOME/vendors/hbase-1.2.6
# AWS S3 Example
# PIO_STORAGE_SOURCES_S3_TYPE=s3
# PIO_STORAGE_SOURCES_S3_BUCKET_NAME=pio_bucket
# PIO_STORAGE_SOURCES_S3_BASE_PATH=pio_model
Save the file and exit from the editor.
Open the Elasticsearch configuration file.
nano /opt/PredictionIO-0.12.0-incubating/vendors/elasticsearch-5.5.2/config/elasticsearch.yml
Uncomment the line and set the cluster name to exactly the same as the one provided in the PredictionIO environment file. The cluster name is set to pio
in the above configuration.
# Use a descriptive name for your cluster:
#
cluster.name: pio
Now add the $PIO_HOME/bin
directory into the PATH variable so that the PredictionIO executables are executed directly.
echo "export PATH=$PATH:$PIO_HOME/bin" >> ~/.bash_profile
source ~/.bash_profile
At this point, PredictionIO is successfully installed on your server.
You can start all the services in PredictionIO such as Elasticsearch, HBase and Event server using a single command.
pio-start-all
You will see the following output.
[user@vultr ~]$ pio-start-all
Starting Elasticsearch...
Starting HBase...
starting master, logging to /opt/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/bin/../logs/hbase-user-master-vultr.guest.out
Waiting 10 seconds for Storage Repositories to fully initialize...
Starting PredictionIO Event Server...
Use the following command to check the status of the PredictionIO server.
pio status
You will see the following output.
[user@vultr ~]$ pio status
[INFO] [Management$] Inspecting PredictionIO...
[INFO] [Management$] PredictionIO 0.12.0-incubating is installed at /opt/PredictionIO-0.12.0-incubating
[INFO] [Management$] Inspecting Apache Spark...
[INFO] [Management$] Apache Spark is installed at /opt/PredictionIO-0.12.0-incubating/vendors/spark-2.1.1-bin-hadoop2.7
[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: ELASTICSEARCH)...
[INFO] [Storage$] Verifying Model Data Backend (Source: LOCALFS)...
[INFO] [Storage$] Verifying Event Data Backend (Source: HBASE)...
[INFO] [Storage$] Test writing to Event Store (App Id 0)...
[INFO] [HBLEvents] The namespace pio_event doesn't exist yet. Creating now...
[INFO] [HBLEvents] The table pio_event:events_0 doesn't exist yet. Creating now...
[INFO] [HBLEvents] Removing table pio_event:events_0...
[INFO] [Management$] Your system is all ready to go.
As we can see in the above messages, our system is ready to use for implementing an engine template and predicting data.
Several ready to use engine templates are available on the PredictionIO Template Gallery which can be easily installed on the PredictionIO server. You are free to browse through the list of engine templates to find the one that is close to your requirements or you can write your own engine.
In this tutorial, we will implement the E-Commerce Recommendation
engine template to demonstrate the functionality of PredictionIO server using some sample data. This engine template provides some personal recommendation to a user in an e-commerce website. By default, it has features such as excluding out of stock items or providing recommendations to a user who signs up after the model is trained. Also, by default, the engine template takes a user's view and buy events, items with categories and properties and list of unavailable items. Once the engine has been trained and deployed, you can send a query with the user id and number of items to be recommended. The generated output will be a ranked list of recommended item ids.
Install Git, as it will be used to clone the repository.
cd ~
sudo yum -y install git
Clone the E-Commerce Recommender engine template on your system.
git clone https://github.com/apache/incubator-predictionio-template-ecom-recommender.git MyEComRecomm
Create a new application for the E-Commerce Recommendation template engine. Each application in PredictionIO is used to store the data for a separate website. If you have multiple websites, then you can create multiple apps to store each website's data into a different application. You are free to choose any name for your application.
cd MyEComRecomm/
pio app new myecom
You will see the following output.
[user@vultr MyEComRecomm]$ pio app new myecom
[INFO] [HBLEvents] The table pio_event:events_1 doesn't exist yet. Creating now...
[INFO] [App$] Initialized Event Store for this app ID: 1.
[INFO] [Pio$] Created a new app:
[INFO] [Pio$] Name: myecom
[INFO] [Pio$] ID: 1
[INFO] [Pio$] Access Key: a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t
The output above also contains the access key which will be used to authenticate when sending the input data to the event server.
You can always find the access key along with the list of available applications by running.
pio app list
You will see the following output containing a list of applications and the access key.
[user@vultr MyEComRecomm]$ pio app list
[INFO] [Pio$] Name | ID | Access Key | Allowed Event(s)
[INFO] [Pio$] myecom | 1 | a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t | (all)
[INFO] [Pio$] Finished listing 1 app(s).
Nüüd, kui oleme loonud uue rakenduse, lisame sellele mõned andmed. Tootmiskeskkonnas soovite andmed automaatselt sündmuste serverisse saata, integreerides rakendusse sündmuseserveri API. PredictionIO toimimise õppimiseks impordime sellesse mõned näidisandmed. Mallimootor pakub Pythoni skripti, mida saab hõlpsasti kasutada näidisandmete importimiseks sündmuste serverisse.
Installige Python pip.
sudo yum -y install python-pip
sudo pip install --upgrade pip
Installige PredictionIO Python SDK, kasutades pip.
sudo pip install predictionio
Näidisandmete lisamiseks sündmuste serverisse käivitage Pythoni skript.
python data/import_eventserver.py --access_key a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t
Asendage pääsuvõti kindlasti oma tegeliku juurdepääsuvõtmega. Näete sarnast väljundit.
[user@vultr MyEComRecomm]$ python data/import_eventserver.py --access_key a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t
Namespace(access_key='a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t', url='http://localhost:7070')
{u'status': u'alive'}
Importing data...
('Set user', 'u1')
('Set user', 'u2')
...
('User', 'u10', 'buys item', 'i30')
('User', 'u10', 'views item', 'i40')
('User', 'u10', 'buys item', 'i40')
204 events are imported.
Ülaltoodud skript impordib 10 kasutajat, 50 üksust 6 kategoorias ning mõned juhuslikud ostu- ja vaatamissündmused. Et kontrollida, kas sündmused on imporditud või mitte, saate käivitada järgmise päringu.
curl -i -X GET "http://localhost:7070/events.json?accessKey=a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t"
Väljund näitab teile kõigi JSON-vormingus imporditud sündmuste loendit.
Nüüd avage engine.json
fail redaktoris. See fail sisaldab mootori konfiguratsiooni.
nano engine.json
Otsige üles mõlemad rakenduse esinemised appName
ja asendage väärtus varem loodud rakenduse tegeliku nimega.
{
"id": "default",
"description": "Default settings",
"engineFactory": "org.example.ecommercerecommendation.ECommerceRecommendationEngine",
"datasource": {
"params" : {
"appName": "myecom"
}
},
"algorithms": [
{
"name": "ecomm",
"params": {
"appName": "myecom",
"unseenOnly": true,
"seenEvents": ["buy", "view"],
"similarEvents": ["view"],
"rank": 10,
"numIterations" : 20,
"lambda": 0.01,
"seed": 3
}
}
]
}
Ehitage rakendus.
pio build --verbose
Kui te ei soovi logiteateid näha, eemaldage see --verbose
valik. Mootori malli esmakordne koostamine võtab paar minutit. Näete sarnast väljundit, kui ehitamine on edukalt lõppenud.
[user@vultr MyEComRecomm]$ pio build --verbose
[INFO] [Engine$] Using command '/opt/PredictionIO-0.12.0-incubating/sbt/sbt' at /home/user/MyEComRecomm to build.
...
[INFO] [Engine$] Build finished successfully.
[INFO] [Pio$] Your engine is ready for training.
Treenige kohe mootorit. Koolituse käigus analüüsib mootor andmekogumit ja treenib ennast vastavalt etteantud algoritmile.
pio train
Enne rakenduse juurutamist peame avama pordi 8000
, et rakenduse olekut saaks veebi GUI-s vaadata. Samuti saadavad ja võtavad selle pordi kaudu vastu oma päringuid sündmuse serverit kasutavad veebisaidid ja rakendused.
sudo firewall-cmd --zone=public --permanent --add-port=8000/tcp
sudo firewall-cmd --reload
Nüüd saate PredictionIO mootori juurutada.
pio deploy
Ülaltoodud käsk juurutab mootori ja sisseehitatud veebiserveri pordis, 8000
et vastata e-kaubanduse veebisaitide ja rakenduste päringutele. Kui mootor on edukalt kasutusele võetud, näete lõpus järgmist väljundit.
[INFO] [HttpListener] Bound to /0.0.0.0:8000
[INFO] [MasterActor] Engine is deployed and running. Engine API is live at http://0.0.0.0:8000.
Mootori olekut saate kontrollida mis http://192.0.2.1:8000
tahes kaasaegse brauseriga. Asendage kindlasti 192.0.2.1
oma tegeliku Vultri IP-aadressiga.
See tähendab, et e-kaubanduse soovituse mootorimall on juurutatud ja töötab edukalt. Saate teha päringu mootori malli kohta, et tuua kasutajale viis soovitust u5
, käivitades uues terminali seansis järgmise päringu.
curl -H "Content-Type: application/json" \
-d '{ "user": "u5", "num": 5 }' \
http://localhost:8000/queries.json
Näete kasutajale loodud soovitusi u5
.
[user@vultr ~]$ curl -H "Content-Type: application/json" \
> -d '{ "user": "u5", "num": 5 }' \
> http://localhost:8000/queries.json
{"itemScores":[{"item":"i25","score":0.9985169366745619},{"item":"i10","score":0.996613946803819},{"item":"i27","score":0.996613946803819},{"item":"i17","score":0.9962796867639341},{"item":"i8","score":0.9955868705972656}]}
Õnnitleme, Apache PredictionIO on teie serverisse edukalt juurutatud. Nüüd saate kasutada sündmuste serveri API-d andmete importimiseks mootorisse, et ennustada kasutajale soovitusi. Soovi korral võite kasutada mõnda muud malli mallide galeriist. Vaadake kindlasti Universal Recommenderi mootorimalli, mida saab kasutada peaaegu kõigil juhtudel, sealhulgas e-kaubanduses, uudistes või videotes.
Kas kasutate teistsugust süsteemi? Plesk on patenteeritud veebihosti juhtpaneel, mis võimaldab kasutajatel hallata oma isiklikke ja/või klientide veebisaite, andmebaase
Squid on populaarne tasuta Linuxi programm, mis võimaldab teil luua edastamise veebipuhverserveri. Selles juhendis näete, kuidas installida Squid CentOS-i, et teid pöörata
Sissejuhatus Lighttpd on Apache'i hark, mille eesmärk on olla palju vähem ressursimahukas. See on kerge, sellest ka oma nimi, ja seda on üsna lihtne kasutada. Installin
VULTR on hiljuti teinud nende osas muudatusi ja kõik peaks nüüd töötama hästi, kui NetworkManager on lubatud. Kui soovite keelata
Icinga2 on võimas seiresüsteem ja kui seda kasutatakse põhikliendi mudelis, võib see asendada vajaduse NRPE-põhiste seirekontrollide järele. Meister-klient
Kas kasutate teistsugust süsteemi? Apache Cassandra on tasuta ja avatud lähtekoodiga NoSQL-i andmebaasihaldussüsteem, mis on loodud pakkuma skaleeritavust, hig.
Kas kasutate teistsugust süsteemi? Microweber on avatud lähtekoodiga pukseeritav CMS-i ja veebipood. Microweberi lähtekoodi majutatakse GitHubis. See juhend näitab teile
Kas kasutate teistsugust süsteemi? Mattermost on avatud lähtekoodiga isehostitav alternatiiv Slack SAAS-i sõnumsideteenusele. Teisisõnu, Mattermostiga saate ca
Mida vajate Vultr VPS-i, millel on vähemalt 1 GB muutmälu. SSH-juurdepääs (juur-/administraatoriõigustega). 1. samm: BungeeCordi installimine Kõigepealt
Pleski juhtpaneelil on Lets Encrypti jaoks väga kena integratsioon. Lets Encrypt on üks ainsatest SSL-i pakkujatest, kes väljastab sertifikaate täielikult
Lets Encrypt on sertifitseerimisasutus, mis on pühendunud SSL-sertifikaatide tasuta pakkumisele. cPanel on teie ja teie kliendi jaoks loonud korraliku integratsiooni
Kas kasutate teistsugust süsteemi? Concrete5 on avatud lähtekoodiga CMS, mis pakub palju eristatavaid ja kasulikke funktsioone, mis aitavad toimetajatel sisu hõlpsalt luua.
Kas kasutate teistsugust süsteemi? Review Board on tasuta avatud lähtekoodiga tööriist lähtekoodi, dokumentatsiooni, piltide ja palju muu ülevaatamiseks. See on veebipõhine tarkvara
In this guide, you will learn how to setup HTTP authentication for an Nginx web server running on CentOS 7. Requirements To get started, youll need th
YOURLS (Your Own URL Shortener) on avatud lähtekoodiga URL-i lühendamise ja andmeanalüüsi rakendus. Selles artiklis käsitleme installimisprotsessi
Kas kasutate teistsugust süsteemi? Sissejuhatus ArangoDB on avatud lähtekoodiga NoSQL-i andmebaas, millel on paindlik andmemudel dokumentide, graafikute ja võtmeväärtuste jaoks. see on
Sissejuhatus Kataloog /etc/ mängib Linuxi süsteemi toimimises kriitilist rolli. Selle põhjuseks on peaaegu iga süsteemi konfiguratsioon
Paljud süsteemiadministraatorid haldavad suuri servereid. Kui failidele on vaja juurde pääseda erinevatest serveritest, logige igasse eraldi sisse ca
See õpetus hõlmab Half Life 2 mänguserveri installimist süsteemi CentOS 6 System. 1. samm: eeltingimuste installimine Ou seadistamiseks
Laravel GitScrum ehk GitScrum on avatud lähtekoodiga produktiivsuse tööriist, mis on loodud selleks, et aidata arendusmeeskondadel rakendada Scrumi metoodikat sarnasel viisil.
Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.
Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.
Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.
Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.
Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…
Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.
Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.
Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.
Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.
Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit