Cara Memasang Graylog Server pada CentOS 7
Menggunakan Sistem yang Berbeda? Graylog server adalah perangkat lunak manajemen log sumber terbuka siap pakai perusahaan. Ia mengumpulkan log dari berbagai sumber dan menganalisis
Pendekatan tradisional untuk analisis data tidak mungkin digunakan ketika dataset mencapai ukuran tertentu. Alternatif modern untuk menganalisis set besar data menggunakan metode pembelajaran mesin. Pembelajaran mesin mampu menghasilkan hasil yang akurat ketika menggunakan algoritma yang cepat dan efisien.
Apache PredictionIO adalah server pembelajaran mesin sumber terbuka yang digunakan untuk membuat mesin prediktif untuk tugas pembelajaran mesin apa pun. Ini mempersingkat waktu aplikasi pembelajaran mesin dari lab ke produksi dengan menggunakan templat mesin yang dapat disesuaikan yang dapat dibangun dan digunakan dengan cepat. Ini menyediakan pengumpulan data dan komponen penyajian, dan abstrak teknologi yang mendasari untuk mengekspos API yang memungkinkan pengembang untuk fokus pada komponen transformasi. Setelah server engine PredictionIO digunakan sebagai layanan web, ia dapat menanggapi permintaan dinamis secara waktu nyata.
Apache PredictionIO terdiri dari berbagai komponen.
Dalam tutorial ini, kita akan menggunakan 192.0.2.1
alamat IP publik dari server. Ganti semua kemunculan 192.0.2.1
dengan alamat IP publik Vultr Anda.
Perbarui sistem basis Anda menggunakan panduan Cara Memperbarui CentOS 7 . Setelah sistem Anda diperbarui, lanjutkan untuk menginstal Java.
Banyak komponen PredictionIO membutuhkan JDK, atau Java Development Kit, versi 8 agar berfungsi. Ini mendukung OpenJDK dan Oracle Java. Dalam tutorial ini, kita akan menginstal OpenJDK versi 8.
OpenJDK dapat dengan mudah diinstal, karena paket tersedia dalam repositori YUM default.
sudo yum -y install java-1.8.0-openjdk-devel
Verifikasi versi Java untuk memastikannya diinstal dengan benar.
java -version
Anda akan mendapatkan hasil yang serupa.
[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)
Sebelum kita dapat melangkah lebih jauh, kita perlu mengatur variabel JAVA_HOME
dan JRE_HOME
lingkungan. Temukan jalur absolut dari JAVA yang dapat dieksekusi di sistem Anda.
readlink -f $(which java)
Anda akan melihat output yang serupa.
[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
Sekarang, set JAVA_HOME
dan JRE_HOME
variabel lingkungan sesuai dengan jalur direktori Java.
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
Jalankan bash_profile
file.
source ~/.bash_profile
Sekarang Anda dapat menjalankan echo $JAVA_HOME
perintah untuk memeriksa apakah variabel lingkungan diatur.
[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
Apache menyediakan file sumber PredictionIO yang dapat diunduh dan dikompilasi secara lokal. Buat direktori sementara baru untuk mengunduh dan mengkompilasi file sumber.
mkdir /tmp/pio_sourcefiles && cd /tmp/pio_sourcefiles
Unduh arsip file sumber PredictionIO menggunakan situs Apache Mirror apa pun .
wget http://apache.mirror.vexxhost.com/incubator/predictionio/0.12.0-incubating/apache-predictionio-0.12.0-incubating.tar.gz
Ekstrak arsip dan kompilasi sumber untuk membuat distribusi PredictionIO.
tar xf apache-predictionio-0.12.0-incubating.tar.gz
./make-distribution.sh
Distribusi di atas akan dibangun terhadap versi default dari dependensi, yang Scala 2.11.8
, Spark 2.1.1
, Hadoop 2.7.3
dan ElasticSearch 5.5.2
. Tunggu pembangunan selesai, dibutuhkan sekitar sepuluh menit untuk menyelesaikan tergantung pada kinerja sistem Anda.
Catatan : Anda bebas menggunakan versi dependensi terbaru yang didukung, tetapi Anda mungkin melihat beberapa peringatan selama pembangunan karena beberapa fungsi mungkin tidak digunakan lagi. Jalankan ./make-distribution.sh -Dscala.version=2.11.11 -Dspark.version=2.1.2 -Dhadoop.version=2.7.4 -Delasticsearch.version=5.5.3
, ganti nomor versi sesuai pilihan Anda.
Setelah pembangunan selesai, Anda akan melihat pesan berikut di bagian akhir.
...
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
File biner PredictionIO akan disimpan dalam PredictionIO-0.12.0-incubating.tar.gz
arsip. Ekstrak arsip di /opt
direktori dan berikan kepemilikan kepada pengguna saat ini.
sudo tar xf PredictionIO-0.12.0-incubating.tar.gz -C /opt/
sudo chown -R $USER:$USER /opt/PredictionIO-0.12.0-incubating
Atur PIO_HOME
variabel lingkungan.
echo "export PIO_HOME=/opt/PredictionIO-0.12.0-incubating" >> ~/.bash_profile
source ~/.bash_profile
Buat direktori baru untuk menginstal dependensi PredictionIO seperti HBase
, Spark
dan Elasticsearch
.
mkdir /opt/PredictionIO-0.12.0-incubating/vendors
Unduh Scala versi 2.11.8 dan ekstrak ke vendors
direktori.
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
Unduh Apache Hadoop versi 2.7.3 dan ekstrak ke vendors
direktori.
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 adalah mesin pemrosesan default untuk PredictionIO. Unduh Spark versi 2.1.1 dan ekstrak ke vendors
direktori.
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
Unduh Elasticsearch versi 5.5.2 dan ekstrak ke vendors
direktori.
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
Terakhir, unduh HBase versi 1.2.6 dan ekstrak ke vendors
direktori.
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
Buka hbase-site.xml
file konfigurasi untuk mengkonfigurasi HBase agar berfungsi di lingkungan mandiri.
nano /opt/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/conf/hbase-site.xml
Temukan blok konfigurasi kosong dan ganti dengan konfigurasi berikut.
<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>
Direktori data akan dibuat secara otomatis oleh HBase. Edit file lingkungan HBase untuk mengatur JAVA_HOME
path.
nano /opt/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/conf/hbase-env.sh
Batalkan nomor baris 27 dan setel JAVA_HOME
ke jalur jre
, instalasi Java Anda. Anda dapat menemukan path ke JAVA yang dapat dieksekusi menggunakan readlink -f $(which java)
perintah.
# 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
Juga, komentari nomor baris 46 dan 47 karena tidak diperlukan untuk 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"
Konfigurasi default dalam file lingkungan PredictionIO pio-env.sh
mengasumsikan bahwa kita menggunakan PostgreSQL atau MySQL. Karena kami telah menggunakan HBase dan Elasticsearch, kami perlu memodifikasi hampir setiap konfigurasi dalam file. Yang terbaik untuk mengambil cadangan file yang ada dan membuat file lingkungan PredictionIO baru.
mv /opt/PredictionIO-0.12.0-incubating/conf/pio-env.sh /opt/PredictionIO-0.12.0-incubating/conf/pio-env.sh.bak
Sekarang buat file baru untuk konfigurasi lingkungan PredictionIO.
nano /opt/PredictionIO-0.12.0-incubating/conf/pio-env.sh
Populasikan file dengan konfigurasi berikut.
# 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
Simpan file dan keluar dari editor.
Buka file konfigurasi Elasticsearch.
nano /opt/PredictionIO-0.12.0-incubating/vendors/elasticsearch-5.5.2/config/elasticsearch.yml
Batalkan komentar pada baris dan setel nama cluster persis sama dengan yang disediakan dalam file lingkungan PredictionIO. Nama cluster diatur ke pio
dalam konfigurasi di atas.
# Use a descriptive name for your cluster:
#
cluster.name: pio
Sekarang tambahkan $PIO_HOME/bin
direktori ke dalam variabel PATH sehingga executable PredictionIO dieksekusi secara langsung.
echo "export PATH=$PATH:$PIO_HOME/bin" >> ~/.bash_profile
source ~/.bash_profile
Pada titik ini, PredictionIO berhasil diinstal di server Anda.
Anda dapat memulai semua layanan di PredictionIO seperti Elasticsearch, HBase dan server Acara menggunakan satu perintah.
pio-start-all
Anda akan melihat output berikut.
[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...
Gunakan perintah berikut untuk memeriksa status server PredictionIO.
pio status
Anda akan melihat output berikut.
[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.
Seperti yang dapat kita lihat dalam pesan di atas, sistem kami siap digunakan untuk mengimplementasikan templat mesin dan memperkirakan data.
Beberapa templat mesin yang siap pakai tersedia di Galeri Template PredictionIO yang dapat dengan mudah dipasang di server PredictionIO. Anda bebas menelusuri daftar templat mesin untuk menemukan templat yang dekat dengan kebutuhan Anda atau Anda dapat menulis mesin sendiri.
Dalam tutorial ini, kami akan menerapkan E-Commerce Recommendation
templat mesin untuk menunjukkan fungsionalitas server PredictionIO menggunakan beberapa data sampel. Templat mesin ini memberikan beberapa rekomendasi pribadi kepada pengguna di situs web e-commerce. Secara default, ia memiliki fitur seperti mengecualikan stok barang habis atau memberikan rekomendasi kepada pengguna yang mendaftar setelah model dilatih. Selain itu, secara default, templat mesin mengambil tampilan pengguna dan membeli acara, item dengan kategori dan properti, serta daftar item yang tidak tersedia. Setelah mesin dilatih dan digunakan, Anda dapat mengirim kueri dengan id pengguna dan jumlah item yang akan direkomendasikan. Output yang dihasilkan akan menjadi daftar peringkat id barang yang direkomendasikan.
Instal Git, karena akan digunakan untuk mengkloning repositori.
cd ~
sudo yum -y install git
Kloning templat mesin E-Commerce Recommender pada sistem Anda.
git clone https://github.com/apache/incubator-predictionio-template-ecom-recommender.git MyEComRecomm
Buat aplikasi baru untuk mesin template Rekomendasi E-Commerce. Setiap aplikasi di PredictionIO digunakan untuk menyimpan data untuk situs web yang terpisah. Jika Anda memiliki beberapa situs web, maka Anda dapat membuat beberapa aplikasi untuk menyimpan data setiap situs web ke dalam aplikasi yang berbeda. Anda bebas memilih nama apa pun untuk aplikasi Anda.
cd MyEComRecomm/
pio app new myecom
Anda akan melihat output berikut.
[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
Output di atas juga berisi kunci akses yang akan digunakan untuk mengotentikasi saat mengirim data input ke server acara.
Anda selalu dapat menemukan kunci akses bersama dengan daftar aplikasi yang tersedia dengan menjalankan.
pio app list
Anda akan melihat output berikut yang berisi daftar aplikasi dan tombol akses.
[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).
Sekarang kami telah membuat aplikasi baru, kami akan menambahkan beberapa data ke dalamnya. Dalam lingkungan produksi, Anda ingin secara otomatis mengirim data ke server peristiwa dengan mengintegrasikan API server peristiwa ke dalam aplikasi. Untuk mempelajari cara kerja PredictionIO, kami akan mengimpor beberapa data sampel ke dalamnya. Mesin template menyediakan skrip Python yang dapat dengan mudah digunakan untuk mengimpor data sampel ke server acara.
Instal Python pip.
sudo yum -y install python-pip
sudo pip install --upgrade pip
Instal PredictionIO Python SDK menggunakan pip.
sudo pip install predictionio
Jalankan skrip Python untuk menambahkan data sampel ke server acara.
python data/import_eventserver.py --access_key a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t
Pastikan untuk mengganti kunci akses dengan kunci akses Anda yang sebenarnya. Anda akan melihat output yang serupa.
[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.
Skrip di atas mengimpor 10 pengguna, 50 item dalam 6 kategori dan beberapa peristiwa pembelian dan tampilan secara acak. Untuk memeriksa apakah acara diimpor atau tidak, Anda dapat menjalankan kueri berikut.
curl -i -X GET "http://localhost:7070/events.json?accessKey=a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t"
Output akan menampilkan daftar semua peristiwa yang diimpor dalam format JSON.
Sekarang, buka engine.json
file ke editor. File ini berisi konfigurasi mesin.
nano engine.json
Temukan kemunculan appName
dan ganti nilainya dengan nama sebenarnya dari aplikasi yang Anda buat sebelumnya.
{
"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
}
}
]
}
Bangun aplikasinya.
pio build --verbose
Jika Anda tidak ingin melihat pesan log, hapus --verbose
opsi. Membangun templat mesin untuk pertama kalinya akan memakan waktu beberapa menit. Anda akan melihat output yang sama ketika build berhasil selesai.
[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.
Latih mesinnya sekarang. Selama pelatihan, mesin menganalisis kumpulan data dan melatih dirinya sendiri sesuai dengan algoritma yang disediakan.
pio train
Sebelum kita menyebarkan aplikasi, kita perlu membuka port 8000
agar status aplikasi dapat dilihat di Web GUI. Selain itu, situs web dan aplikasi yang menggunakan server acara akan mengirim dan menerima pertanyaan mereka melalui port ini.
sudo firewall-cmd --zone=public --permanent --add-port=8000/tcp
sudo firewall-cmd --reload
Sekarang Anda dapat menggunakan mesin PredictionIO.
pio deploy
Perintah di atas akan menggunakan engine dan server web bawaan pada port 8000
untuk menanggapi pertanyaan dari situs web dan aplikasi e-commerce. Anda akan melihat output berikut di akhir setelah mesin berhasil digunakan.
[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.
Anda dapat memverifikasi status mesin dengan membuka http://192.0.2.1:8000
peramban modern apa pun. Pastikan Anda mengganti 192.0.2.1
dengan alamat IP Vultr Anda yang sebenarnya.
Ini menandakan bahwa templat mesin untuk rekomendasi E-Commerce digunakan dan berjalan dengan sukses. Anda dapat meminta templat mesin untuk mengambil lima rekomendasi bagi pengguna u5
dengan menjalankan kueri berikut dalam sesi terminal baru.
curl -H "Content-Type: application/json" \
-d '{ "user": "u5", "num": 5 }' \
http://localhost:8000/queries.json
Anda akan melihat rekomendasi yang dihasilkan untuk pengguna 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}]}
Selamat, Apache PredictionIO telah berhasil digunakan di server Anda. Anda sekarang dapat menggunakan API dari server acara untuk mengimpor data ke mesin untuk memprediksi rekomendasi bagi pengguna. Jika mau, Anda bisa menggunakan beberapa templat lain dari galeri templat. Pastikan untuk memeriksa templat mesin Universal Recommender yang dapat digunakan di hampir semua kasus penggunaan termasuk e-commerce, berita atau video.
Menggunakan Sistem yang Berbeda? Graylog server adalah perangkat lunak manajemen log sumber terbuka siap pakai perusahaan. Ia mengumpulkan log dari berbagai sumber dan menganalisis
Pada kesempatan tertentu, Administrator Sistem mungkin perlu membuat akun pengguna dan membatasi akses mereka untuk hanya mengelola file mereka sendiri melalui sFTP, tetapi tidak
Menggunakan Sistem yang Berbeda? Chamilo adalah sistem manajemen pembelajaran (LMS) gratis dan open source yang banyak digunakan untuk pendidikan online dan kolaborasi tim
Odoo, sebelumnya dikenal sebagai OpenERP, adalah platform bisnis ERP open source yang terkenal. Perusahaan dengan ukuran berapa pun dapat mengambil manfaat dari Odoo, berkat lisnya yang berlimpah
Menggunakan Sistem yang Berbeda? Couch CMS adalah Content Management System (CMS) sederhana dan fleksibel, gratis dan open source yang memungkinkan desainer web untuk mendesain
NextCloud, seperti namanya, adalah alternatif yang menjanjikan dari solusi hosting file sumber terbuka lainnya OwnCloud. Dalam artikel ini, saya akan menunjukkan kepada Anda ho
Menggunakan Sistem yang Berbeda? Netdata adalah bintang yang naik di bidang pemantauan metrik sistem waktu-nyata. Dibandingkan dengan alat lain dengan jenis yang sama, Netdata:
Menggunakan Sistem yang Berbeda? ERP atau Enterprise Resource Planning adalah rangkaian aplikasi perusahaan yang digunakan untuk mengelola proses bisnis inti. ERPNext adalah gratis
Selamat datang di tutorial Vultr lainnya. Di sini, Anda akan belajar cara menginstal dan menjalankan server SAMP. Panduan ini ditulis untuk CentOS 6. Prasyarat Anda akan tahu
Menggunakan Sistem yang Berbeda? Elgg adalah mesin jejaring sosial open source yang memungkinkan penciptaan lingkungan sosial seperti jejaring sosial kampus
Bolt adalah CMS open source yang ditulis dalam PHP. Kode sumber baut di-host di GitHub. Panduan ini akan menunjukkan kepada Anda cara menginstal Bolt CMS pada CentOS 7 Vult yang baru
Bugzilla adalah sistem pelacakan bug sumber bebas dan terbuka yang banyak digunakan oleh berbagai vendor untuk terus meningkatkan softwar mereka
Ikhtisar Artikel ini dimaksudkan untuk membantu Anda mendapatkan kluster Kubernet dan menjalankan dengan kubeadm dalam waktu singkat. Panduan ini akan menggunakan dua server, pada
Menggunakan Sistem yang Berbeda? Pendahuluan Sails.js adalah kerangka kerja MVC untuk Node.js, mirip dengan Ruby on Rails. Itu membuat untuk mengembangkan aplikasi modern ver
Tutorial ini akan membahas proses pemasangan server game Half Life 2 pada Sistem CentOS 6. Langkah 1: Menginstal prasyarat Untuk mengatur ou
Pendahuluan Sistem Linux dilengkapi dengan alat pemantauan secara default seperti top, df, dan du yang membantu memonitor proses dan ruang disk. Namun sering kali, mereka ar
Menggunakan Sistem yang Berbeda? Kolab Groupware adalah aplikasi groupware berbasis web gratis dan open source. Fitur-fiturnya terdiri dari komunikasi email, acara
Menggunakan Sistem yang Berbeda? Koel adalah aplikasi streaming audio pribadi sederhana berbasis web yang ditulis dalam Vue di sisi klien dan Laravel di sisi server. Koe
GDB adalah debugger untuk C, C ++, Objective-C, Pascal, Fortran, Go, D, OpenCL C, Ada, dan Modula-2. CentOS didasarkan pada RHEL (Red Hat Enterprise Linux). Salah satu th
Menggunakan Sistem yang Berbeda? Akaunting adalah perangkat lunak akuntansi sumber terbuka dan gratis yang dirancang untuk usaha kecil dan freelancer. Itu dibangun kecerdasan
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.
Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.
Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.
Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.
CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?
Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.
Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!
Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.
Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut