कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें
एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed का उपयोग करता है। क्या थी?
डेटा विश्लेषण के लिए पारंपरिक दृष्टिकोण का उपयोग करना असंभव है, जब डेटासेट एक निश्चित आकार तक पहुंचते हैं। डेटा के विशाल सेट का विश्लेषण करने का एक आधुनिक विकल्प मशीन सीखने के तरीकों का उपयोग कर रहा है। मशीन लर्निंग तेज और कुशल एल्गोरिदम का उपयोग करते समय सटीक परिणाम देने में सक्षम है।
Apache PredictionIO एक ओपन सोर्स मशीन लर्निंग सर्वर है जिसका इस्तेमाल किसी भी मशीन लर्निंग टास्क के लिए प्रेडिक्टिव इंजन बनाने के लिए किया जाता है। यह अनुकूलन योग्य इंजन टेम्प्लेट का उपयोग करके प्रयोगशाला से उत्पादन के लिए मशीन लर्निंग एप्लिकेशन के समय को छोटा करता है जिसे जल्दी से बनाया और तैनात किया जा सकता है। यह डेटा संग्रह और सेवारत घटक प्रदान करता है, और एक एपीआई को उजागर करने के लिए अंतर्निहित प्रौद्योगिकी को अमूर्त करता है जो डेवलपर्स को परिवर्तन घटकों पर ध्यान केंद्रित करने की अनुमति देता है। एक बार PredictionIO के इंजन सर्वर को वेब सेवा के रूप में तैनात किया जाता है, यह वास्तविक समय में गतिशील प्रश्नों का जवाब दे सकता है।
Apache PredictionIO में विभिन्न घटक होते हैं।
इस ट्यूटोरियल में, हम 192.0.2.1
सर्वर के सार्वजनिक आईपी पते के रूप में उपयोग करेंगे। 192.0.2.1
अपने Vultr सार्वजनिक आईपी पते के साथ सभी घटनाओं को बदलें ।
सेंटोस 7 को अपडेट करने के लिए गाइड का उपयोग करके अपनी आधार प्रणाली को अपडेट करें । एक बार आपका सिस्टम अपडेट हो जाने के बाद, जावा इंस्टॉल करने के लिए आगे बढ़ें।
PredictionIO के कई घटकों को काम करने के लिए JDK या जावा डेवलपमेंट किट, संस्करण 8 की आवश्यकता होती है। यह OpenJDK और Oracle जावा दोनों को सपोर्ट करता है। इस ट्यूटोरियल में, हम OpenJDK संस्करण 8 स्थापित करेंगे।
OpenJDK को आसानी से स्थापित किया जा सकता है, क्योंकि पैकेज डिफ़ॉल्ट YUM रिपॉजिटरी में उपलब्ध है।
sudo yum -y install java-1.8.0-openjdk-devel
यह सुनिश्चित करने के लिए जावा के संस्करण को सत्यापित करें कि यह सही ढंग से स्थापित किया गया था।
java -version
आपको एक समान आउटपुट मिलेगा।
[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)
इससे पहले कि हम आगे बढ़ें, हमें JAVA_HOME
और JRE_HOME
पर्यावरण चर स्थापित करने की आवश्यकता होगी । अपने सिस्टम में निष्पादन योग्य JAVA का संपूर्ण मार्ग खोजें।
readlink -f $(which java)
आपको एक समान आउटपुट दिखाई देगा।
[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
अब, जावा निर्देशिका के पथ के अनुसार सेट JAVA_HOME
और JRE_HOME
पर्यावरण चर।
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
bash_profile
फ़ाइल निष्पादित करें ।
source ~/.bash_profile
अब आप यह echo $JAVA_HOME
जांचने के लिए कमांड चला सकते हैं कि पर्यावरण चर सेट है या नहीं।
[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
Apache PredictionIO सोर्स फाइल्स प्रदान करती है जिन्हें स्थानीय स्तर पर डाउनलोड और संकलित किया जा सकता है। स्रोत फ़ाइल को डाउनलोड करने और संकलित करने के लिए एक नई अस्थायी निर्देशिका बनाएं।
mkdir /tmp/pio_sourcefiles && cd /tmp/pio_sourcefiles
किसी भी अपाचे मिरर साइट का उपयोग करके प्रिडिक्टियो स्रोत फ़ाइल संग्रह डाउनलोड करें ।
wget http://apache.mirror.vexxhost.com/incubator/predictionio/0.12.0-incubating/apache-predictionio-0.12.0-incubating.tar.gz
संग्रह निकालें और PredictionIO का वितरण बनाने के लिए स्रोत संकलित करें।
tar xf apache-predictionio-0.12.0-incubating.tar.gz
./make-distribution.sh
ऊपर वितरण निर्भरता है, जो कर रहे हैं के डिफ़ॉल्ट संस्करण के खिलाफ बनाया जाएगा Scala 2.11.8
, Spark 2.1.1
, Hadoop 2.7.3
और ElasticSearch 5.5.2
। बिल्ड खत्म होने तक प्रतीक्षा करें, आपके सिस्टम के प्रदर्शन के आधार पर इसे पूरा करने में लगभग दस मिनट लगेंगे।
नोट : आप निर्भरता के नवीनतम समर्थित संस्करण का उपयोग करने के लिए स्वतंत्र हैं, लेकिन आप निर्माण के दौरान कुछ चेतावनियाँ देख सकते हैं क्योंकि कुछ कार्यों को पदावनत किया जा सकता है। भागो ./make-distribution.sh -Dscala.version=2.11.11 -Dspark.version=2.1.2 -Dhadoop.version=2.7.4 -Delasticsearch.version=5.5.3
, अपनी पसंद के अनुसार संस्करण संख्या की जगह।
एक बार बिल्ड सफलतापूर्वक पूरा हो जाने के बाद, आपको अंत में निम्न संदेश दिखाई देगा।
...
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-0.12.0-incubating.tar.gz
संग्रह में सहेजा जाएगा । /opt
निर्देशिका में संग्रह निकालें और वर्तमान उपयोगकर्ता को स्वामित्व प्रदान करें।
sudo tar xf PredictionIO-0.12.0-incubating.tar.gz -C /opt/
sudo chown -R $USER:$USER /opt/PredictionIO-0.12.0-incubating
PIO_HOME
पर्यावरण चर सेट करें ।
echo "export PIO_HOME=/opt/PredictionIO-0.12.0-incubating" >> ~/.bash_profile
source ~/.bash_profile
PredictionIO निर्भरता जैसे HBase
, Spark
और स्थापित करने के लिए एक नई निर्देशिका बनाएँ Elasticsearch
।
mkdir /opt/PredictionIO-0.12.0-incubating/vendors
स्कैला संस्करण 2.11.8 डाउनलोड करें और इसे vendors
निर्देशिका में निकालें ।
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
Apache Hadoop संस्करण 2.7.3 डाउनलोड करें और इसे vendors
निर्देशिका में निकालें ।
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, PredictionIO के लिए डिफ़ॉल्ट प्रोसेसिंग इंजन है। स्पार्क संस्करण 2.1.1 डाउनलोड करें और इसे vendors
निर्देशिका में निकालें ।
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
Elasticsearch संस्करण 5.5.2 डाउनलोड करें और इसे vendors
निर्देशिका में निकालें ।
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
अंत में, HBase संस्करण 1.2.6 डाउनलोड करें और इसे vendors
निर्देशिका में निकालें ।
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
hbase-site.xml
एक स्टैंडअलोन वातावरण में काम करने के लिए HBase को कॉन्फ़िगर करने के लिए कॉन्फ़िगरेशन फ़ाइल खोलें ।
nano /opt/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/conf/hbase-site.xml
खाली कॉन्फ़िगरेशन ब्लॉक ढूंढें और इसे निम्न कॉन्फ़िगरेशन से बदलें।
<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 द्वारा डेटा निर्देशिका स्वचालित रूप से बनाई जाएगी। JAVA_HOME
पथ सेट करने के लिए HBase वातावरण फ़ाइल संपादित करें ।
nano /opt/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/conf/hbase-env.sh
बिना लाइन की संख्या 27 और अपने जावा इंस्टॉलेशन JAVA_HOME
के पथ पर सेट करें jre
। आप readlink -f $(which java)
कमांड का उपयोग करके जेएवीए निष्पादन योग्य का मार्ग पा सकते हैं ।
# 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
इसके अलावा, लाइन संख्या 46 और 47 पर टिप्पणी करें क्योंकि वे जेएवीए 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"
PredictionIO पर्यावरण फ़ाइल में डिफ़ॉल्ट कॉन्फ़िगरेशन pio-env.sh
मानता है कि हम PostgreSQL या MySQL का उपयोग कर रहे हैं। जैसा कि हमने HBase और Elasticsearch का उपयोग किया है, हमें फ़ाइल में लगभग हर कॉन्फ़िगरेशन को संशोधित करना होगा। मौजूदा फ़ाइल का बैकअप लेना और एक नया प्रिडिक्शनियो एनवायरनमेंट फ़ाइल बनाना सबसे अच्छा है।
mv /opt/PredictionIO-0.12.0-incubating/conf/pio-env.sh /opt/PredictionIO-0.12.0-incubating/conf/pio-env.sh.bak
अब PredictionIO पर्यावरण कॉन्फ़िगरेशन के लिए एक नई फ़ाइल बनाएं।
nano /opt/PredictionIO-0.12.0-incubating/conf/pio-env.sh
फ़ाइल को निम्न कॉन्फ़िगरेशन से आबाद करें।
# 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
फ़ाइल को सहेजें और संपादक से बाहर निकलें।
Elasticsearch कॉन्फ़िगरेशन फ़ाइल खोलें।
nano /opt/PredictionIO-0.12.0-incubating/vendors/elasticsearch-5.5.2/config/elasticsearch.yml
लाइन को अनइंस्टॉल करें और क्लस्टर नाम को ठीक उसी तरह सेट करें जैसा कि प्रिडिक्शनियो एनवायरनमेंट फाइल में दिया गया है। क्लस्टर pio
कॉन्फ़िगरेशन उपरोक्त कॉन्फ़िगरेशन में सेट है ।
# Use a descriptive name for your cluster:
#
cluster.name: pio
अब $PIO_HOME/bin
निर्देशिका को PATH चर में जोड़ें, ताकि PredictionIO निष्पादक सीधे निष्पादित हों।
echo "export PATH=$PATH:$PIO_HOME/bin" >> ~/.bash_profile
source ~/.bash_profile
इस बिंदु पर, PredictionIO आपके सर्वर पर सफलतापूर्वक स्थापित किया गया है।
आप PredictionIO में सभी सेवाओं को शुरू कर सकते हैं जैसे कि एलियटसर्च, HBase और इवेंट सर्वर एक ही कमांड का उपयोग करके।
pio-start-all
आप निम्न आउटपुट देखेंगे।
[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...
PredictionIO सर्वर की स्थिति की जांच करने के लिए निम्न कमांड का उपयोग करें।
pio status
आप निम���न आउटपुट देखेंगे।
[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.
जैसा कि हम उपरोक्त संदेशों में देख सकते हैं, हमारा सिस्टम इंजन टेम्पलेट को लागू करने और डेटा की भविष्यवाणी करने के लिए उपयोग करने के लिए तैयार है।
इंजन टेम्प्लेट का उपयोग करने के लिए तैयार कई प्रेडिक्टियो टेम्प्लेट गैलरी पर उपलब्ध हैं जिन्हें आसानी से प्रिडिक्शनियो सर्वर पर स्थापित किया जा सकता है। आप अपनी आवश्यकताओं के करीब है या आप अपने खुद के इंजन लिख सकते हैं खोजने के लिए इंजन टेम्पलेट्स की सूची के माध्यम से ब्राउज़ करने के लिए स्वतंत्र हैं।
इस ट्यूटोरियल में, हम E-Commerce Recommendation
कुछ नमूना डेटा का उपयोग करके PredictionIO सर्वर की कार्यक्षमता को प्रदर्शित करने के लिए इंजन टेम्पलेट को लागू करेंगे । यह इंजन टेम्प्लेट एक ई-कॉमर्स वेबसाइट में उपयोगकर्ता को कुछ व्यक्तिगत सिफारिश प्रदान करता है। डिफ़ॉल्ट रूप से, इसमें ऐसी विशेषताएं हैं जो स्टॉक आइटमों को छोड़कर या उपयोगकर्ता को सिफारिशें प्रदान करना है जो मॉडल के प्रशिक्षित होने के बाद साइन अप करते हैं। इसके अलावा, डिफ़ॉल्ट रूप से, इंजन टेम्पलेट एक उपयोगकर्ता का दृष्टिकोण लेता है और घटनाओं, श्रेणियों और संपत्तियों और अनुपलब्ध वस्तुओं की सूची खरीदता है। एक बार इंजन को प्रशिक्षित और तैनात करने के बाद, आप अनुशंसित होने के लिए उपयोगकर्ता आईडी और मदों की संख्या के साथ एक क्वेरी भेज सकते हैं। उत्पन्न आउटपुट अनुशंसित आइटम आईडी की एक सूचीबद्ध सूची होगी।
Git स्थापित करें, क्योंकि इसका उपयोग रिपॉजिटरी को क्लोन करने के लिए किया जाएगा।
cd ~
sudo yum -y install git
अपने सिस्टम पर ई-कॉमर्स एडवाइजर इंजन टेम्पलेट को क्लोन करें।
git clone https://github.com/apache/incubator-predictionio-template-ecom-recommender.git MyEComRecomm
ई-कॉमर्स सिफारिश टेम्पलेट इंजन के लिए एक नया एप्लिकेशन बनाएं। PredictionIO में प्रत्येक एप्लिकेशन का उपयोग डेटा को एक अलग वेबसाइट के लिए संग्रहीत करने के लिए किया जाता है। यदि आपके पास कई वेबसाइट हैं, तो आप प्रत्येक वेबसाइट के डेटा को एक अलग एप्लिकेशन में संग्रहीत करने के लिए कई ऐप बना सकते हैं। आप अपने आवेदन के लिए कोई भी नाम चुनने के लिए स्वतंत्र हैं।
cd MyEComRecomm/
pio app new myecom
आप निम्न आउटपुट देखेंगे।
[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
ऊपर दिए गए आउटपुट में एक्सेस कुंजी भी होती है जिसका उपयोग इवेंट सर्वर पर इनपुट डेटा भेजते समय प्रमाणित करने के लिए किया जाएगा।
आप हमेशा रनिंग एप्लिकेशन की सूची के साथ उपलब्ध एप्लिकेशन की सूची पा सकते हैं।
pio app list
आपको निम्न आउटपुट दिखाई देंगे जिसमें अनुप्रयोगों की सूची और एक्सेस कुंजी होगी।
[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).
अब जब हमने एक नया एप्लिकेशन बनाया है, तो हम इसमें कुछ डेटा जोड़ेंगे। उत्पादन परिवेश में, आप इवेंट सर्वर API को एप्लिकेशन में एकीकृत करके डेटा को इवेंट सर्वर पर स्वचालित रूप से भेजना चाहेंगे। प्रिडिक्टियो कैसे काम करता है, यह जानने के लिए, हम इसमें कुछ नमूना डेटा आयात करेंगे। टेम्पलेट इंजन एक पायथन स्क्रिप्ट प्रदान करता है, जो नमूना डेटा को इवेंट सर्वर में आयात करने के लिए आसानी से उपयोग किया जा सकता है।
अजगर पाइप स्थापित करें।
sudo yum -y install python-pip
sudo pip install --upgrade pip
पाइप का उपयोग करके प्रिडिक्शनियो पायथन एसडीके स्थापित करें।
sudo pip install predictionio
इवेंट सर्वर पर नमूना डेटा जोड़ने के लिए पायथन स्क्रिप्ट चलाएँ।
python data/import_eventserver.py --access_key a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t
अपनी वास्तविक एक्सेस कुंजी के साथ एक्सेस कुंजी को प्रतिस्थापित करना सुनिश्चित करें। आपको एक समान आउटपुट दिखाई देगा।
[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.
उपरोक्त स्क्रिप्ट 10 उपयोगकर्ताओं, 6 श्रेणियों में 50 आइटम और खरीद और विचारों की कुछ यादृच्छिक घटनाएं आयात करती है। यह जाँचने के लिए कि ईवेंट आयात किए गए हैं या नहीं, आप निम्न क्वेरी चला सकते हैं।
curl -i -X GET "http://localhost:7070/events.json?accessKey=a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t"
आउटपुट आपको JSON प्रारूप में सभी आयातित घटनाओं की सूची दिखाएगा।
अब, engine.json
फ़ाइल को संपादक में खोलें । इस फ़ाइल में इंजन का विन्यास है।
nano engine.json
appName
आपके द्वारा पहले बनाए गए ऐप के वास्तविक नाम के साथ दोनों की घटनाओं का पता लगाएं और मूल्य को बदलें।
{
"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
}
}
]
}
एप्लिकेशन का निर्माण करें।
pio build --verbose
यदि आप लॉग संदेश नहीं देखना चाहते हैं, तो --verbose
विकल्प को हटा दें । पहली बार इंजन टेम्पलेट का निर्माण करने में कुछ मिनट लगेंगे। बिल्ड के सफलतापूर्वक पूर्ण होने पर आपको एक समान आउटपुट दिखाई देगा।
[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.
अब इंजन को प्रशिक्षित करें। प्रशिक्षण के दौरान, इंजन डेटा सेट का विश्लेषण करता है और प्रदान किए गए एल्गोरिदम के अनुसार खुद को प्रशिक्षित करता है।
pio train
इससे पहले कि हम एप्लिकेशन को तैनात करें, हमें पोर्ट को खोलने की आवश्यकता होगी 8000
ताकि एप्लिकेशन की स्थिति वेब GUI पर देखी जा सके। साथ ही, ईवेंट सर्वर का उपयोग करने वाली वेबसाइटें और एप्लिकेशन इस पोर्ट के माध्यम से अपने प्रश्नों को भेजेंगे और प्राप्त करेंगे।
sudo firewall-cmd --zone=public --permanent --add-port=8000/tcp
sudo firewall-cmd --reload
अब आप PredictionIO इंजन को तैनात कर सकते हैं।
pio deploy
उपरोक्त आदेश 8000
ई-कॉमर्स वेबसाइटों और अनुप्रयोगों से प्रश्नों का जवाब देने के लिए इंजन और अंतर्निहित वेब सर्वर को पोर्ट पर तैनात करेगा। इंजन को सफलतापूर्वक तैनात करने के बाद आपको अंत में निम्नलिखित आउटपुट दिखाई देंगे।
[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.
आप http://192.0.2.1:8000
किसी भी आधुनिक ब्राउज़र का उपयोग करके इंजन की स्थिति को सत्यापित कर सकते हैं । सुनिश्चित करें कि आप 192.0.2.1
अपने वास्तविक Vultr IP पते से प्रतिस्थापित करते हैं।
यह दर्शाता है कि ई-कॉमर्स अनुशंसा के लिए इंजन टेम्पलेट तैनात और सफलतापूर्वक चल रहा है। आप u5
एक नए टर्मिनल सत्र में निम्नलिखित क्वेरी चलाकर उपयोगकर्ता के लिए पाँच अनुशंसाएँ लाने के लिए इंजन टेम्पलेट को क्वेरी कर सकते हैं ।
curl -H "Content-Type: application/json" \
-d '{ "user": "u5", "num": 5 }' \
http://localhost:8000/queries.json
आप उपयोगकर्ता के लिए उत्पन्न सिफारिशें देखेंगे 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}]}
बधाई हो, Apache PredictionIO आपके सर्वर पर सफलतापूर्वक तैनात किया गया है। अब आप उपयोगकर्ता के लिए सिफारिशों का अनुमान लगाने के लिए इंजन में डेटा आयात करने के लिए ईवेंट सर्वर के एपीआई का उपयोग कर सकते हैं। यदि आप चाहें, तो आप टेम्पलेट गैलरी से कुछ अन्य टेम्पलेट्स का ���पयोग कर सकते हैं। ई-कॉमर्स, समाचार या वीडियो सहित लगभग सभी उपयोग के मामलों में उपयोग किए जाने वाले यूनिवर्सल अनुशंसाकर्ता इंजन टेम्पलेट की जांच करना सुनिश्चित करें ।
एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed का उपयोग करता है। क्या थी?
FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं
एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा
अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ
RockMongo एक वेब-आधारित MongoDB प्रबंधन उपकरण है जो MySQL प्रबंधन उपकरण के समान है: phpMyAdmin। यह ट्यूटोरियल इंस्टॉलिन की प्रक्रिया को कवर करेगा
एक अलग प्रणाली का उपयोग? आवश्यकताएँ एक Vultr CentOS 7 सर्वर उदाहरण। एक sudo यूजर। चरण 1: सिस्टम को पहले अपडेट करें, अपने सिस्टम सर्वर को वें में अपडेट करें
एक अलग प्रणाली का उपयोग? नेटडाटा रियल-टाइम सिस्टम मेट्रिक्स मॉनिटरिंग के क्षेत्र में एक उभरता हुआ सितारा है। एक ही तरह के अन्य उपकरणों की तुलना में, नेटडाटा:
एक अलग प्रणाली का उपयोग? इस ट्यूटोरियल में, बीमार समझा जा रहा है कि CentOS 7 पर एक स्टारबाउंड सर्वर को कैसे सेटअप किया जाए। आवश्यक शर्तें आपको इस गेम को खुद पर बनाना होगा।
वेब एप्लिकेशन लिखने के लिए Django एक लोकप्रिय पायथन फ्रेमवर्क है। Django के साथ, आप तेजी से अनुप्रयोगों का निर्माण कर सकते हैं, पहिया को फिर से बनाए बिना। अगर आप चाहते हैं
एक अन्य Vultr ट्यूटोरियल में आपका स्वागत है। यहां, आप सीखेंगे कि एसएएमपी सर्वर कैसे स्थापित करें और चलाएं। यह गाइड CentOS 6 के लिए लिखा गया था
Revive Adserver एक स्वतंत्र और खुला स्रोत विज्ञापन सेवारत प्रणाली है जिसका उपयोग वेबसाइटों पर, ऐप्स में और / या वीडियो खिलाड़ियों में विज्ञापनों को प्रबंधित करने के लिए किया जा सकता है। इस लेख में,
पार्स सर्वर पार्स बैकेंड सेवा के लिए खुला स्रोत विकल्प है जिसे बंद किया जा रहा है। यदि आप इस सेवा के प्रशंसक हैं, तो आप अभी भी वें का आनंद ले सकते हैं
एक अलग प्रणाली का उपयोग? एल्ग एक खुला स्रोत सोशल नेटवर्किंग इंजन है जो परिसर के सामाजिक नेटवर्क जैसे सामाजिक वातावरण के निर्माण की अनुमति देता है
एक अलग प्रणाली का उपयोग? डायस्पोरा एक गोपनीयता-जागरूक, ओपन सोर्स सोशल नेटवर्क है। इस ट्यूटोरियल में, आप सीखेंगे कि डायस्पोरा पो को कैसे सेट और कॉन्फ़िगर करें
अवलोकन यह लेख आपको कुबेरनेट क्लस्टर प्राप्त करने और कुछ ही समय में कुबेदम के साथ चलने में मदद करने के लिए है। यह गाइड दो सर्वरों को तैनात करेगा
परिचय लिनक्स सिस्टम पर काम करने का मतलब है कि कोई कमांड लाइन का उपयोग अधिक बार नहीं कर रहा है। स्वागत के रूप में बार-बार लंबी निर्देशिका के नाम टाइप करना
ओपनकार्ट एक लोकप्रिय ओपन सोर्स शॉपिंग कार्ट सॉल्यूशन है जिसे उत्कृष्ट कार्यक्षमता, उपयोग में आसानी और उपस्थिति प्रदान करने के लिए डिज़ाइन किया गया है। OpenCart के साथ, आप सीए
एक अलग प्रणाली का उपयोग? परिचय Sails.js Node.js के लिए MVC फ्रेमवर्क है, जो रूबी ऑन रेल्स के समान है। यह आधुनिक अनुप्रयोगों को विकसित करने के लिए बनाता है
एक अलग प्रणाली का उपयोग? NGINX को HTTP / HTTPS सर्वर, रिवर्स प्रॉक्सी सर्वर, मेल प्रॉक्सी सर्वर, लोड बैलेंसर, TLS टर्मिनेटर, या कैचिन के रूप में उपयोग किया जा सकता है
एक अलग प्रणाली का उपयोग? dotCMS जावा में लिखा एक ओपन सोर्स एंटरप्राइज ग्रेड कंटेंट मैनेजमेंट सिस्टम है। इसमें लगभग हर सुविधा आवश्यक टी होती है
LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है
एनएफएस एक नेटवर्क-आधारित फाइल सिस्टम है जो कंप्यूटरों को कंप्यूटर नेटवर्क पर फाइलों तक पहुंचने की अनुमति देता है। यह मार्गदर्शिका बताती है कि आप एनएफ पर फ़ोल्डर्स को कैसे उजागर कर सकते हैं
एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है
टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं
परिचय यह आलेख बताएगा कि विंडोज सर्वर 2012 पर गारस मोड सर्वर को कैसे डाउनलोड और इंस्टॉल किया जाए। यह गाइड गहराई में होने के लिए बनाया गया है।
एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed का उपयोग करता है। क्या थी?
FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं
एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा
Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar
अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ