Ubuntu 16.04 पर Apache Zeppelin कैसे स्थापित करें

अपाचे ज़ेपेलिन एक वेब-आधारित खुला स्रोत नोटबुक और इंटरैक्टिव डेटा अंतर्ग्रहण, खोज, विश्लेषण और विज़ुअलाइज़ेशन के लिए सहयोगी उपकरण है। ज़ेपेलिन अपाचे स्पार्क, एसक्यूएल, आर, इलास्टिसर्च और कई सहित 20 से अधिक भाषाओं का समर्थन करता है। अपाचे ज़ेपेलिन आपको सुंदर डेटा-चालित दस्तावेज़ बनाने और अपने विश्लेषिकी के परिणाम देखने की अनुमति देता है।

आवश्यक शर्तें

  • एक Vultr Ubuntu 16.04 सर्वर उदाहरण।
  • एक sudo यूजर
  • एक डोमेन नाम सर्वर की ओर इशारा किया।

इस ट्यूटोरियल के लिए, हम zeppelin.example.com Vultr उदाहरण की ओर इंगित डोमेन नाम के रूप में उपयोग करेंगे। कृपया उदाहरण डोमेन नाम की सभी घटनाओं को वास्तविक के साथ बदलना सुनिश्चित करें।

गाइड का उपयोग करके अपने बेस सिस्टम को अपडेट करें Ubuntu 16.04 कैसे अपडेट करें । एक बार आपका सिस्टम अपडेट हो जाने के बाद, जावा इंस्टॉल करने के लिए आगे बढ़ें।

जावा स्थापित करें

Apache Zeppelin जावा में लिखा गया है, इस प्रकार इसे काम करने के लिए JDK की आवश्यकता होती है। Oracle जावा 8 के लिए Ubuntu रिपॉजिटरी जोड़ें।

sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update

Oracle जावा स्थापित करें।

sudo apt -y install oracle-java8-installer

इसका संस्करण सत्यापित करें।

java -version

आप निम्न आउटपुट देखेंगे।

user@vultr:~$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

निम्नलिखित पैकेज को स्थापित करके जावा के लिए डिफ़ॉल्ट पथ सेट करें।

sudo apt -y install oracle-java8-set-default

यदि आप JAVA_HOMEरनिंग द्वारा सेट किए गए हैं तो आप सत्यापित कर सकते हैं ।

echo $JAVA_HOME

तुम देखोगे।

user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle

यदि आपको कोई आउटपुट नहीं दिखता है, तो आपको वर्तमान शेल से लॉग आउट करके वापस लॉग इन करना होगा।

ज़ेपेलिन स्थापित करें

अपाचे ज़ेपेलिन बाइनरी फ़ाइलों के साथ-साथ सभी निर्भरता को जहाज करता है, इसलिए हमें जावा के अलावा और कुछ भी स्थापित करने की आवश्यकता नहीं है। अपने सिस्टम पर Zeppelin बाइनरी डाउनलोड करें। आप हमेशा Zeppelin डाउनलोड पेज पर एप्लिकेशन का नवीनतम संस्करण पा सकते हैं ।

wget http://www-us.apache.org/dist/zeppelin/zeppelin-0.7.3/zeppelin-0.7.3-bin-all.tgz

संग्रह निकालें।

sudo tar xf zeppelin-*-bin-all.tgz -C /opt

उपरोक्त कमांड पुरालेख को संग्रहित करेगा /opt/zeppelin-0.7.3-bin-all। सुविधा के लिए निर्देशिका का नाम बदलें।

sudo mv /opt/zeppelin-*-bin-all /opt/zeppelin

अपाचे ज़ेपेलिन अब स्थापित किया गया है। आप तुरंत आवेदन शुरू कर सकते हैं, लेकिन यह आपके लिए सुलभ नहीं होगा, क्योंकि यह localhostकेवल सुनता है । हम अपाचे ज़ेपेलिन को एक सेवा के रूप में कॉन्फ़िगर करेंगे। हम Nginx को रिवर्स प्रॉक्सी के रूप में भी कॉन्फ़िगर करेंगे।

Systemd कॉन्फ़िगर करें

इस चरण में, हम Zeppelin एप्लिकेशन के लिए एक Systemd इकाई फ़ाइल स्थापित करेंगे। यह सुनिश्चित करेगा कि सिस्टम रीस्टार्ट और विफल होने पर आवेदन प्रक्रिया स्वतः शुरू हो जाती है।

सुरक्षा कारणों से, ज़ेपेलिन प्रक्रिया को चलाने के लिए एक अप्रभावी उपयोगकर्ता बनाएं।

sudo useradd -d /opt/zeppelin -s /bin/false zeppelin

नए बनाए गए Zeppelin उपयोगकर्ता को फ़ाइलों का स्वामित्व प्रदान करें।

sudo chown -R zeppelin:zeppelin /opt/zeppelin

एक नई Systemd सेवा इकाई फ़ाइल बनाएँ।

sudo nano /etc/systemd/system/zeppelin.service

फ़ाइल को निम्न के साथ आबाद करें।

[Unit]
Description=Zeppelin service
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/opt/zeppelin/bin/zeppelin-daemon.sh start
ExecStop=/opt/zeppelin/bin/zeppelin-daemon.sh stop
ExecReload=/opt/zeppelin/bin/zeppelin-daemon.sh reload
User=zeppelin
Group=zeppelin
Restart=always

[Install]
WantedBy=multi-user.target

आवेदन शुरू करें।

sudo systemctl start zeppelin

बूट समय पर स्वचालित रूप से शुरू करने के लिए ज़ेपेलिन सेवा सक्षम करें।

sudo systemctl enable zeppelin

यह सुनिश्चित करने के लिए कि सेवा चल रही है, आप निम्नलिखित चला सकते हैं।

sudo systemctl status zeppelin

रिवर्स प्रॉक्सी कॉन्फ़िगर करें

डिफ़ॉल्ट रूप से, ज़ेपेलिन सर्वर localhost पोर्ट पर सुनता है 8080। हम Nginx को एक रिवर्स प्रॉक्सी के रूप में उपयोग करेंगे ताकि एप्लिकेशन को मानक HTTP और HTTPS बंदरगाहों के माध्यम से एक्सेस किया जा सके । लेट्स एनक्रिप्ट फ्री SSL CA के साथ उत्पन्न SSL का उपयोग करने के लिए हम Nginx को भी कॉन्फ़िगर करेंगे।

Nginx स्थापित करें।

sudo apt -y install nginx

Nginx प्रारंभ करें और इसे बूट समय पर स्वचालित रूप से प्रारंभ करने के लिए सक्षम करें।

sudo systemctl start nginx
sudo systemctl enable nginx

Certbot रिपॉजिटरी जोड़ें।

sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update

सर्टिफिकेट स्थापित करें, जो कि चलो एनक्रिप्ट एनए के लिए क्लाइंट एप्लिकेशन है।

sudo apt -y install certbot

नोट : लेट्स एनक्रिप्ट एन से सर्टिफिकेट प्राप्त करने के लिए, जिस डोमेन के लिए सर्टिफिकेट जेनरेट किया जाना है, उसे सर्वर की ओर इंगित किया जाना चाहिए। यदि नहीं, तो डोमेन के DNS रिकॉर्ड्स में आवश्यक परिवर्तन करें और फिर से प्रमाणपत्र अनुरोध करने से पहले DNS के प्रचार के लिए प्रतीक्षा करें। सर्टिफिकेट सर्टिफिकेट प्रदान करने से पहले डोमेन प्राधिकरण की जांच करता है।

एसएसएल प्रमाणपत्र उत्पन्न करें।

sudo certbot certonly --webroot -w /var/www/html -d zeppelin.example.com

जनरेट किए गए प्रमाणपत्रों को संग्रहीत किए जाने की संभावना है /etc/letsencrypt/live/zeppelin.example.com/। एसएसएल प्रमाण पत्र के रूप में संग्रहीत किया जाएगा fullchain.pem और निजी कुंजी के रूप में संग्रहीत किया जाएगा privkey.pem

आइए 90 दिनों में प्रमाणपत्रों को एन्क्रिप्ट करें, इसलिए क्रोन नौकरियों का उपयोग करके प्रमाणपत्रों के स्वत: नवीनीकरण की सिफारिश की जाती है।

क्रोन जॉब फ़ाइल खोलें।

sudo crontab -e

फ़ाइल के अंत में निम्न पंक्ति जोड़ें।

30 5 * * * /usr/bin/certbot renew --quiet

उपरोक्त क्रोन नौकरी हर दिन सुबह 5:30 बजे चलेगी। यदि प्रमाण पत्र समाप्ति के लिए है, तो यह स्वतः नवीनीकृत हो जाएगा।

Zeppelin साइट के लिए एक नया सर्वर ब्लॉक फ़ाइल बनाएँ।

sudo nano /etc/nginx/sites-available/zeppelin

फ़ाइल को पॉप्युलेट करें।

upstream zeppelin {
server 127.0.0.1:8080;
}
server {
    listen 80;
    server_name zeppelin.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443;
    server_name zeppelin.example.com;

    ssl_certificate           /etc/letsencrypt/live/zeppelin.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/zeppelin.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log  /var/log/nginx/zeppelin.access.log;

location / {
        proxy_pass http://zeppelin;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;
        proxy_redirect off;
    }
location /ws {
    proxy_pass http://zeppelin/ws;
    proxy_http_version 1.1;
    proxy_set_header Upgrade websocket;
    proxy_set_header Connection upgrade;
    proxy_read_timeout 86400;
    }
  }

कॉन्फ़िगरेशन फ़ाइल को सक्रिय करें।

sudo ln -s /etc/nginx/sites-available/zeppelin /etc/nginx/sites-enabled/zeppelin

Nginx को पुनरारंभ करें ताकि परिवर्तन प्रभावी हो सकें।

sudo systemctl restart nginx zeppelin

Zeppelin अब निम्नलिखित पते पर उपलब्ध है।

https://zeppelin.example.com

डिफ़ॉल्ट रूप से, कोई प्रमाणीकरण सक्षम नहीं है, इसलिए आप सीधे एप्लिकेशन का उपयोग कर सकते हैं।

चूंकि आवेदन सभी के लिए सुलभ है, आपके द्वारा बनाई गई नोटबुक भी सभी के लिए सुलभ हैं। अनाम पहुंच को अक्षम करना और प्रमाणीकरण सक्षम करना बहुत महत्वपूर्ण है ताकि केवल प्रमाणित उपयोगकर्ता ही एप्लिकेशन तक पहुंच सकें।

अनाम पहुँच अक्षम करें

डिफ़ॉल्ट अनाम पहुंच को अक्षम करने के लिए, कॉन्फ़िगरेशन फ़ाइल टेम्पलेट को उसके लाइव स्थान पर कॉपी करें।

cd /opt/zeppelin
sudo cp conf/zeppelin-site.xml.template conf/zeppelin-site.xml

कॉन्फ़िगरेशन फ़ाइल संपादित करें।

sudo nano conf/zeppelin-site.xml

फ़ाइल में निम्न पंक्तियाँ खोजें।

<property>
  <name>zeppelin.anonymous.allowed</name>
  <value>true</value>

false अनाम पहुँच को अक्षम करने के लिए मान बदलें ।

शिरो प्रमाणीकरण सक्षम करें

अब जब हमने अनाम पहुंच को अक्षम कर दिया है, तो हमें कुछ प्रकार के प्रमाणीकरण तंत्र को सक्षम करने की आवश्यकता है ताकि विशेषाधिकार प्राप्त उपयोगकर्ता लॉग इन कर सकें। Apache Zeppelin Apache Shiro प्रमाणीकरण का उपयोग करता है। शिरो कॉन्फ़िगरेशन फ़ाइल की प्रतिलिपि बनाएँ।

sudo cp conf/shiro.ini.template conf/shiro.ini

कॉन्फ़िगरेशन फ़ाइल संपादित करें।

sudo nano conf/shiro.ini

फ़ाइल में निम्न पंक्तियाँ खोजें।

[users]

admin = password1, admin
user1 = password2, role1, role2
user2 = password3, role3
user3 = password4, role2

सूची में उपयोगकर्ताओं के उपयोगकर्ता नाम, पासवर्ड और भूमिकाएं शामिल हैं। अभी के लिए, हम केवल उपयोग करेंगे admin और user1। का पासवर्ड बदलें admin और user1 टिप्पणी करके अन्य उपयोगकर्ताओं को अक्षम करें। आप उपयोगकर्ताओं के उपयोगकर्ता नाम और भूमिका भी बदल सकते हैं। अपाचे शेरो उपयोगकर्ताओं और भूमिकाओं के बारे में अधिक जानने के लिए, शेरो प्राधिकरण गाइड पढ़ें ।

एक बार जब आप पासवर्ड बदल लेते हैं, तो कोड ब्लॉक इस तरह का होना चाहिए।

[users]

admin = StrongPassword, admin
user1 = UserPassword, role1, role2
# user2 = password3, role3
# user3 = password4, role2

अब परिवर्तनों को लागू करने के लिए ज़ेपेलिन को फिर से शुरू करें।

sudo systemctl restart zeppelin

आप देखेंगे कि प्रमाणीकरण सक्षम हो गया है और आप शेरो कॉन्फ़िगरेशन फ़ाइल में सेट उपयोगकर्ता नाम और पासवर्ड का उपयोग करके लॉग इन कर पाएंगे।



Leave a Comment

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है

डेबियन पर सेटअप NFS शेयर

डेबियन पर सेटअप NFS शेयर

एनएफएस एक नेटवर्क-आधारित फाइल सिस्टम है जो कंप्यूटरों को कंप्यूटर नेटवर्क पर फाइलों तक पहुंचने की अनुमति देता है। यह मार्गदर्शिका बताती है कि आप एनएफ पर फ़ोल्डर्स को कैसे उजागर कर सकते हैं

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है

Linux पर एक TeamTalk Server सेटअप करें

Linux पर एक TeamTalk Server सेटअप करें

टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

परिचय यह आलेख बताएगा कि विंडोज सर्वर 2012 पर गारस मोड सर्वर को कैसे डाउनलोड और इंस्टॉल किया जाए। यह गाइड गहराई में होने के लिए बनाया गया है।

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed ​​का उपयोग करता है। क्या थी?

CentOS पर FFmpeg कैसे स्थापित करें

CentOS पर FFmpeg कैसे स्थापित करें

FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा

अपने Vultr VPS को कैसे एक्सेस करें

अपने Vultr VPS को कैसे एक्सेस करें

Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ