Installera Plesk på CentOS 7
Använder du ett annat system? Plesk är en egen kontrollpanel för webbhotell som tillåter användare att administrera sina personliga och/eller klienters webbplatser, databaser
Traditionella metoder för dataanalys är omöjliga att använda när datamängder når en viss storlek. Ett modernt alternativ till att analysera de enorma uppsättningarna data är att använda maskininlärningsmetoder. Maskininlärning kan ge exakta resultat när du använder en snabb och effektiv algoritm.
Apache PredictionIO är en maskininlärningsserver med öppen källkod som används för att skapa prediktiva motorer för alla maskininlärningsuppgifter. Det förkortar tiden för maskininlärning från labb till produktion genom att använda anpassningsbara motormallar som kan byggas och distribueras snabbt. Det tillhandahåller datainsamlings- och serverkomponenter och sammanfattar underliggande teknologi för att exponera ett API som gör det möjligt för utvecklare att fokusera på transformationskomponenter. När motorservern för PredictionIO väl har distribuerats som en webbtjänst kan den svara på dynamiska frågor i realtid.
Apache PredictionIO består av olika komponenter.
I den här handledningen kommer vi att använda 192.0.2.1
som serverns offentliga IP-adress. Ersätt alla förekomster av 192.0.2.1
med din Vultr offentliga IP-adress.
Uppdatera ditt bassystem med hjälp av guiden Hur man uppdaterar CentOS 7 . När ditt system har uppdaterats, fortsätt att installera Java.
Många av komponenterna i PredictionIO kräver JDK, eller Java Development Kit, version 8 för att fungera. Den stöder både OpenJDK och Oracle Java. I den här handledningen kommer vi att installera OpenJDK version 8.
OpenJDK kan enkelt installeras, eftersom paketet är tillgängligt i standard YUM-förvaret.
sudo yum -y install java-1.8.0-openjdk-devel
Verifiera Javas version för att säkerställa att den installerades korrekt.
java -version
Du kommer att få en liknande utgång.
[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)
Innan vi kan gå vidare måste vi ställa in variablerna JAVA_HOME
och JRE_HOME
miljö. Hitta den absoluta sökvägen för den körbara JAVA-filen i ditt system.
readlink -f $(which java)
Du kommer att se en liknande utgång.
[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
Ställ nu in JAVA_HOME
och JRE_HOME
miljövariabel enligt sökvägen till Java-katalogen.
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ör bash_profile
filen.
source ~/.bash_profile
Nu kan du köra echo $JAVA_HOME
kommandot för att kontrollera om miljövariabeln är inställd.
[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
Apache tillhandahåller PredictionIO-källfiler som kan laddas ner och kompileras lokalt. Skapa en ny tillfällig katalog för att ladda ner och kompilera källfilen.
mkdir /tmp/pio_sourcefiles && cd /tmp/pio_sourcefiles
Ladda ner PredictionIO-källfilarkivet med hjälp av valfri Apache Mirror-webbplats .
wget http://apache.mirror.vexxhost.com/incubator/predictionio/0.12.0-incubating/apache-predictionio-0.12.0-incubating.tar.gz
Extrahera arkivet och kompilera källan för att skapa en distribution av PredictionIO.
tar xf apache-predictionio-0.12.0-incubating.tar.gz
./make-distribution.sh
Ovanstående distribution kommer att byggas mot standardversionerna av beroenden, som är Scala 2.11.8
, Spark 2.1.1
, Hadoop 2.7.3
och ElasticSearch 5.5.2
. Vänta tills bygget är klart, det tar cirka tio minuter att slutföra beroende på ditt systems prestanda.
Obs : Du är fri att använda den senaste versionen av beroenden som stöds, men du kan se några varningar under konstruktionen eftersom vissa funktioner kan vara utfasade. Kör ./make-distribution.sh -Dscala.version=2.11.11 -Dspark.version=2.1.2 -Dhadoop.version=2.7.4 -Delasticsearch.version=5.5.3
, ersätt versionsnumret enligt ditt val.
När bygget har slutförts kommer du att se följande meddelande i slutet.
...
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
De binära filerna för PredictionIO kommer att sparas i PredictionIO-0.12.0-incubating.tar.gz
arkivet. Extrahera arkivet i /opt
katalogen och ge äganderätten till den aktuella användaren.
sudo tar xf PredictionIO-0.12.0-incubating.tar.gz -C /opt/
sudo chown -R $USER:$USER /opt/PredictionIO-0.12.0-incubating
Ställ in PIO_HOME
miljövariabeln.
echo "export PIO_HOME=/opt/PredictionIO-0.12.0-incubating" >> ~/.bash_profile
source ~/.bash_profile
Skapa en ny katalog för att installera PredictionIO-beroenden som HBase
, Spark
och Elasticsearch
.
mkdir /opt/PredictionIO-0.12.0-incubating/vendors
Ladda ner Scala version 2.11.8 och extrahera den i vendors
katalogen.
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
Ladda ner Apache Hadoop version 2.7.3 och extrahera den i vendors
katalogen.
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 är standardbearbetningsmotorn för PredictionIO. Ladda ner Spark version 2.1.1 och extrahera den i vendors
katalogen.
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
Ladda ner Elasticsearch version 5.5.2 och extrahera den i vendors
katalogen.
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
Slutligen, ladda ner HBase version 1.2.6 och extrahera den i vendors
katalogen.
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
Öppna hbase-site.xml
konfigurationsfilen för att konfigurera HBase att fungera i en fristående miljö.
nano /opt/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/conf/hbase-site.xml
Hitta det tomma konfigurationsblocket och ersätt det med följande konfiguration.
<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>
Datakatalogen skapas automatiskt av HBase. Redigera HBase-miljöfilen för att ange JAVA_HOME
sökvägen.
nano /opt/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/conf/hbase-env.sh
Avkommentera rad nummer 27 och ställ JAVA_HOME
in sökvägen till jre
din Java-installation. Du kan hitta sökvägen till den körbara JAVA-filen med readlink -f $(which java)
kommandot.
# 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
Kommentera också radnummer 46 och 47 eftersom de inte krävs för JAVA 8.
# 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"
Standardkonfigurationen i PredictionIO-miljöfilen pio-env.sh
förutsätter att vi använder PostgreSQL eller MySQL. Eftersom vi har använt HBase och Elasticsearch kommer vi att behöva modifiera nästan varje konfiguration i filen. Det är bäst att ta en säkerhetskopia av den befintliga filen och skapa en ny PredictionIO-miljöfil.
mv /opt/PredictionIO-0.12.0-incubating/conf/pio-env.sh /opt/PredictionIO-0.12.0-incubating/conf/pio-env.sh.bak
Skapa nu en ny fil för PredictionIO-miljökonfiguration.
nano /opt/PredictionIO-0.12.0-incubating/conf/pio-env.sh
Fyll filen med följande konfiguration.
# 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
Spara filen och avsluta redigeraren.
Öppna Elasticsearch-konfigurationsfilen.
nano /opt/PredictionIO-0.12.0-incubating/vendors/elasticsearch-5.5.2/config/elasticsearch.yml
Avkommentera raden och ställ in klusternamnet till exakt samma som det som finns i PredictionIO-miljöfilen. Klusternamnet är satt till pio
i ovanstående konfiguration.
# Use a descriptive name for your cluster:
#
cluster.name: pio
Lägg nu till $PIO_HOME/bin
katalogen i PATH-variabeln så att PredictionIO körbara filer exekveras direkt.
echo "export PATH=$PATH:$PIO_HOME/bin" >> ~/.bash_profile
source ~/.bash_profile
Vid denna tidpunkt är PredictionIO framgångsrikt installerad på din server.
Du kan starta alla tjänster i PredictionIO som Elasticsearch, HBase och Event server med ett enda kommando.
pio-start-all
Du kommer att se följande utdata.
[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...
Använd följande kommando för att kontrollera statusen för PredictionIO-servern.
pio status
Du kommer att se följande utdata.
[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.
I den här handledningen kommer vi att implementera E-Commerce Recommendation
motormallen för att demonstrera funktionaliteten hos PredictionIO-servern med hjälp av några exempeldata. Denna motormall ger några personliga rekommendationer till en användare på en e-handelswebbplats. Som standard har den funktioner som att utesluta slut i lager eller ge rekommendationer till en användare som registrerar sig efter att modellen har tränats. Som standard tar motormallen också en användares vy och köphändelser, objekt med kategorier och egenskaper och lista över otillgängliga objekt. När motorn har tränats och distribuerats kan du skicka en förfrågan med användar-id och antal objekt som ska rekommenderas. Den genererade utdatan kommer att vara en rankad lista med rekommenderade artikel-ID.
Installera Git, eftersom det kommer att användas för att klona förvaret.
cd ~
sudo yum -y install git
Klona E-Commerce Recommender-motormallen på ditt system.
git clone https://github.com/apache/incubator-predictionio-template-ecom-recommender.git MyEComRecomm
Skapa en ny applikation för mallmotorn för e-handelsrekommendationer. Varje applikation i PredictionIO används för att lagra data för en separat webbplats. Om du har flera webbplatser kan du skapa flera appar för att lagra varje webbplatss data i en annan applikation. Du är fri att välja vilket namn som helst för din ansökan.
cd MyEComRecomm/
pio app new myecom
Du kommer att se följande utdata.
[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
Utdata ovan innehåller också åtkomstnyckeln som kommer att användas för att autentisera när indata skickas till händelseservern.
Du kan alltid hitta åtkomstnyckeln tillsammans med listan över tillgängliga applikationer genom att köra.
pio app list
Du kommer att se följande utdata som innehåller en lista över applikationer och åtkomstnyckeln.
[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).
Nu när vi har skapat en ny applikation kommer vi att lägga till lite data till den. I produktionsmiljön vill du automatiskt skicka data till händelseservern genom att integrera händelseserverns API i applikationen. För att lära oss hur PredictionIO fungerar kommer vi att importera några exempeldata till den. Mallmotorn tillhandahåller ett Python-skript som enkelt kan användas för att importera exempeldata till händelseservern.
Installera Python pip.
sudo yum -y install python-pip
sudo pip install --upgrade pip
Installera PredictionIO Python SDK med pip.
sudo pip install predictionio
Kör Python-skriptet för att lägga till exempeldata till händelseservern.
python data/import_eventserver.py --access_key a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t
Se till att ersätta åtkomstnyckeln med din faktiska åtkomstnyckel. Du kommer att se en liknande utgång.
[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.
Ovanstående skript importerar 10 användare, 50 artiklar i 6 kategorier och några slumpmässiga händelser med köp och visningar. För att kontrollera om händelserna är importerade eller inte kan du köra följande fråga.
curl -i -X GET "http://localhost:7070/events.json?accessKey=a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t"
Utdata kommer att visa dig listan över alla importerade händelser i JSON-format.
Öppna nu engine.json
filen i editorn. Den här filen innehåller konfigurationen av motorn.
nano engine.json
Hitta både förekomsterna av appName
och ersätt värdet med det faktiska namnet på appen du har skapat tidigare.
{
"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
}
}
]
}
Bygg applikationen.
pio build --verbose
Om du inte vill se loggmeddelandena, ta bort --verbose
alternativet. Att bygga motormallen för första gången tar några minuter. Du kommer att se en liknande utdata när konstruktionen är klar.
[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.
Träna motorn nu. Under utbildningen analyserar motorn datamängden och tränar sig själv enligt den tillhandahållna algoritmen.
pio train
Innan vi distribuerar applikationen måste vi öppna porten 8000
så att applikationens status kan ses på webbgränssnittet. Webbplatserna och applikationerna som använder händelseservern kommer också att skicka och ta emot sina frågor via denna port.
sudo firewall-cmd --zone=public --permanent --add-port=8000/tcp
sudo firewall-cmd --reload
Nu kan du distribuera PredictionIO-motorn.
pio deploy
Ovanstående kommando kommer att distribuera motorn och den inbyggda webbservern på porten för 8000
att svara på frågorna från e-handelswebbplatserna och applikationerna. Du kommer att se följande utdata i slutet när motorn har installerats.
[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.
Du kan verifiera motorns status genom att http://192.0.2.1:8000
använda vilken modern webbläsare som helst. Se till att du ersätter 192.0.2.1
med din faktiska Vultr IP-adress.
Detta betyder att motormallen för e-handelsrekommendation har distribuerats och körs framgångsrikt. Du kan fråga motormallen för att hämta fem rekommendationer för användare u5
genom att köra följande fråga i en ny terminalsession.
curl -H "Content-Type: application/json" \
-d '{ "user": "u5", "num": 5 }' \
http://localhost:8000/queries.json
Du kommer att se de genererade rekommendationerna för användaren 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}]}
Grattis, Apache PredictionIO har implementerats framgångsrikt på din server. Du kan nu använda händelseserverns API för att importera data till motorn för att förutsäga rekommendationerna för användaren. Om du vill kan du använda några andra mallar från mallgalleriet. Var noga med att kolla in motormallen Universal Recommender som kan användas i nästan alla användningsfall inklusive e-handel, nyheter eller video.
Använder du ett annat system? Plesk är en egen kontrollpanel för webbhotell som tillåter användare att administrera sina personliga och/eller klienters webbplatser, databaser
Squid är ett populärt, gratis Linux-program som låter dig skapa en webbproxy för vidarebefordran. I den här guiden ser du hur du installerar Squid på CentOS för att förvandla dig
Inledning Lighttpd är en apachegaffel som syftar till att vara mycket mindre resurskrävande. Den är lätt, därav namnet, och är ganska enkel att använda. Installera
VULTR har nyligen gjort ändringar på deras sida, och allt borde nu fungera bra direkt när NetworkManager är aktiverat. Om du vill inaktivera
Icinga2 är ett kraftfullt övervakningssystem, och när det används i en master-klient-modell kan det ersätta behovet av NRPE-baserade övervakningskontroller. Master-klienten
Använder du ett annat system? Apache Cassandra är ett gratis NoSQL-databashanteringssystem med öppen källkod som är designat för att ge skalbarhet, hög
Använder du ett annat system? Microweber är en öppen källkod för dra och släpp CMS och onlinebutik. Microweber källkod finns på GitHub. Denna guide kommer att visa dig
Använder du ett annat system? Vanilla forum är en open source forumapplikation skriven i PHP. Det är en helt anpassningsbar, enkel att använda och stöder externa
Använder du ett annat system? Mattermost är ett alternativ med öppen källkod, självvärd till meddelandetjänsten Slack SAAS. Med andra ord, med Mattermost, du ca
Vad du behöver En Vultr VPS med minst 1 GB RAM. SSH-åtkomst (med root-/administrativa privilegier). Steg 1: Installera BungeeCord Först till kvarn
Plesks kontrollpanel har en mycket trevlig integration för Lets Encrypt. Lets Encrypt är en av de enda SSL-leverantörerna som ger ut certifikat fullständigt
Lets Encrypt är en certifikatmyndighet dedikerad till att tillhandahålla SSL-certifikat gratis. cPanel har byggt en snygg integration så att du och din klient
Använder du ett annat system? Concrete5 är ett CMS med öppen källkod som erbjuder många distinkta och användbara funktioner för att hjälpa redaktörer att producera innehåll enkelt och
Använder du ett annat system? Review Board är ett gratis och öppen källkodsverktyg för att granska källkod, dokumentation, bilder och många fler. Det är webbaserad mjukvara
I den här guiden lär du dig hur du ställer in HTTP-autentisering för en Nginx-webbserver som körs på CentOS 7. Krav För att komma igång behöver du
YOURLS (Your Own URL Shortener) är ett webbadressförkortnings- och dataanalysprogram med öppen källkod. I den här artikeln kommer vi att täcka installationsprocessen
Använder du ett annat system? Inledning ArangoDB är en NoSQL-databas med öppen källkod med en flexibel datamodell för dokument, grafer och nyckel-värden. Det är
Inledning Katalogen /etc/ spelar en avgörande roll för hur ett Linux-system fungerar. Anledningen till detta är att nästan varje systemkonfiguration
Många systemadministratörer hanterar stora mängder servrar. När filer behöver nås över olika servrar, logga in på var och en individuellt ca
Denna handledning kommer att täcka processen att installera en Half Life 2-spelserver på CentOS 6 System. Steg 1: Installera förutsättningarna För att ställa in ou
Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.
Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.
Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.
Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.
Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...
När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.
Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.
Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.
I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.
Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer