Ubuntu 16.04 Üzerinde Apache Zeppelin Kurulumu

Apache Zeppelin, etkileşimli veri alımı, keşfi, analitiği ve görselleştirmesi için web tabanlı bir açık kaynak not defteri ve işbirliği aracıdır. Zeppelin, Apache Spark, SQL, R, Elasticsearch ve daha pek çok dil dahil 20'den fazla dili desteklemektedir. Apache Zeppelin, güzel veri odaklı belgeler oluşturmanıza ve analizlerinizin sonuçlarını görmenize olanak tanır.

Ön şartlar

  • Bir Vultr Ubuntu 16.04 sunucu örneği.
  • Bir sudo kullanıcısı .
  • Bir alan adı sunucuya işaret etti.

Bu eğitimde, zeppelin.example.com Vultr örneğine işaret eden alan adı olarak kullanacağız . Lütfen örnek alan adının tüm tekrarlarını gerçek adla değiştirdiğinizden emin olun.

Ubuntu 16.04 Güncelleme kılavuzunu kullanarak temel sisteminizi güncelleyin . Sisteminiz güncellendiğinde, Java'yı yüklemeye devam edin.

Java'yı yükleyin

Apache Zeppelin Java ile yazılmıştır, dolayısıyla JDK'nın çalışmasını gerektirir. Oracle Java 8 için Ubuntu deposunu ekleyin.

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

Oracle Java'yı yükleyin.

sudo apt -y install oracle-java8-installer

Sürümünü doğrulayın.

java -version

Aşağıdaki çıktıyı göreceksiniz.

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)

Aşağıdaki paketi yükleyerek Java için varsayılan yolu ayarlayın.

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

Koşarak JAVA_HOMEayarlanıp ayarlanmadığını doğrulayabilirsiniz .

echo $JAVA_HOME

Göreceksin.

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

Hiç çıktı görmüyorsanız, geçerli kabuktan çıkış yapmanız ve tekrar oturum açmanız gerekir.

Zeppelin'i yükleyin

Apache Zeppelin, ikili dosyalar ile birlikte tüm bağımlılıkları gönderir, bu nedenle Java dışında başka bir şey yüklememiz gerekmez. Sisteminize Zeppelin ikili dosyasını indirin. Uygulamanın en son sürümünü her zaman Zeppelin indirme sayfasında bulabilirsiniz .

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

Arşivi çıkartın.

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

Yukarıdaki komut arşivi ayıklayacaktır /opt/zeppelin-0.7.3-bin-all. Kolaylık sağlamak için dizini yeniden adlandırın.

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

Apache Zeppelin kuruldu. Uygulamayı hemen başlatabilirsiniz, ancak localhostyalnızca dinlediği için erişilemez . Apache Zeppelin'i bir hizmet olarak yapılandıracağız. Nginx'i ters proxy olarak da yapılandıracağız.

Systemd'yi Yapılandır

Bu adımda, Zeppelin uygulaması için bir Systemd birim dosyası kuracağız. Bu, uygulama işleminin sistem yeniden başlatılırken ve hatalarda otomatik olarak başlatılmasını sağlar.

Güvenlik nedeniyle, Zeppelin işlemini çalıştırmak için ayrıcalıklı bir kullanıcı oluşturun.

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

Yeni oluşturulan Zeppelin kullanıcısına dosyaların sahipliğini sağlayın.

sudo chown -R zeppelin:zeppelin /opt/zeppelin

Yeni bir Systemd hizmet birimi dosyası oluşturun.

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

Dosyayı aşağıdakilerle doldurun.

[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

Uygulamayı başlatın.

sudo systemctl start zeppelin

Zeppelin hizmetinin önyükleme zamanında otomatik olarak başlamasını etkinleştirin.

sudo systemctl enable zeppelin

Hizmetin çalıştığından emin olmak için aşağıdakileri çalıştırabilirsiniz.

sudo systemctl status zeppelin

Ters Proxy'yi Yapılandırma

Varsayılan olarak, Zeppelin sunucusu localhost bağlantı noktasında dinler 8080. Uygulamaya standart HTTP ve HTTPS bağlantı noktaları üzerinden erişilebilmesi için Nginx'i ters proxy olarak kullanacağız . Ayrıca Nginx'i, ücretsiz SSL CA'sını Şifreleyelim ile oluşturulan bir SSL kullanacak şekilde de yapılandıracağız.

Nginx'i yükleyin.

sudo apt -y install nginx

Nginx'i başlatın ve önyükleme zamanında otomatik olarak başlamasını sağlayın.

sudo systemctl start nginx
sudo systemctl enable nginx

Certbot deposunu ekleyin.

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

Let's Encrypt CA'nın istemci uygulaması olan Certbot'u yükleyin.

sudo apt -y install certbot

Not : Let's Encrypt CA'dan sertifika almak için, sertifikaların oluşturulacağı etki alanı sunucuya yönlendirilmelidir. Değilse, etki alanının DNS kayıtlarında gerekli değişiklikleri yapın ve sertifika isteğini yeniden yapmadan önce DNS'nin yayılmasını bekleyin. Certbot, sertifikaları vermeden önce etki alanı yetkilisini denetler.

SSL sertifikaları oluşturun.

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

Oluşturulan sertifikaların depolanması muhtemeldir /etc/letsencrypt/live/zeppelin.example.com/. SSL sertifikası olarak fullchain.pem ve özel anahtar olarak depolanacaktır privkey.pem.

Sertifikaların şifrelenmesini 90 gün içinde sona erdirelim, bu nedenle Cron işlerini kullanarak sertifikaların otomatik olarak yenilenmesi önerilir.

Cron iş dosyasını açın.

sudo crontab -e

Dosyanın sonuna aşağıdaki satırı ekleyin.

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

Yukarıdaki cron işi her gün 05: 30'da çalışacaktır. Sertifikanın geçerlilik süresi dolmuşsa, otomatik olarak yenilenir.

Zeppelin sitesi için yeni bir sunucu blok dosyası oluşturun.

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

Dosyayı doldurun.

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;
    }
  }

Yapılandırma dosyasını etkinleştirin.

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

Değişikliklerin etkili olabilmesi için Nginx'i yeniden başlatın.

sudo systemctl restart nginx zeppelin

Zeppelin artık aşağıdaki adresten erişilebilir.

https://zeppelin.example.com

Varsayılan olarak, kimlik doğrulama etkin değildir, bu nedenle uygulamayı doğrudan kullanabilirsiniz.

Uygulamaya herkes erişebildiğinden, oluşturduğunuz not defterlerine herkes erişebilir. Anonim erişimi devre dışı bırakmak ve kimlik doğrulamayı etkinleştirmek çok önemlidir, böylece uygulamaya yalnızca kimliği doğrulanmış kullanıcılar erişebilir.

Anonim Erişimi Devre Dışı Bırak

Varsayılan anonim erişimi devre dışı bırakmak için yapılandırma dosyası şablonunu canlı konumuna kopyalayın.

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

Yapılandırma dosyasını düzenleyin.

sudo nano conf/zeppelin-site.xml

Dosyada aşağıdaki satırları bulun.

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

false Anonim erişimi devre dışı bırakmak için değeri değiştirin .

Shiro Kimlik Doğrulamasını Etkinleştir

Anonim erişimi devre dışı bıraktığımıza göre, ayrıcalıklı kullanıcıların oturum açabilmesi için bir tür kimlik doğrulama mekanizmasını etkinleştirmemiz gerekiyor. Apache Zeppelin, Apache Shiro kimlik doğrulamasını kullanıyor. Shiro yapılandırma dosyasını kopyalayın.

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

Yapılandırma dosyasını düzenleyin.

sudo nano conf/shiro.ini

Dosyada aşağıdaki satırları bulun.

[users]

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

Liste, kullanıcı adını, şifreyi ve kullanıcıların rollerini içerir. Şimdilik sadece admin ve kullanacağız user1. Parolasını değiştirin admin ve user1 bunları yorum yaparak diğer kullanıcıları devre dışı bırakın. Ayrıca kullanıcıların kullanıcı adlarını ve rollerini de değiştirebilirsiniz. Apache Shiro kullanıcıları ve rolleri hakkında daha fazla bilgi edinmek için Shiro yetkilendirme kılavuzunu okuyun .

Parolaları değiştirdikten sonra, kod bloğu böyle olacaktır.

[users]

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

Şimdi değişiklikleri uygulamak için Zeppelin'i yeniden başlatın.

sudo systemctl restart zeppelin

Kimlik doğrulamanın etkinleştirildiğini göreceksiniz ve Shiro yapılandırma dosyasında ayarlanan kullanıcı adını ve şifreyi kullanarak oturum açabileceksiniz.



Leave a Comment

FreeBSD 12 Üzerinde X-Cart 5 Kurulumu

FreeBSD 12 Üzerinde X-Cart 5 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? X-Cart, tonlarca özellik ve entegrasyona sahip son derece esnek bir açık kaynaklı e-ticaret platformudur. X-Cart kaynak kodu aceleci

Debian 9 InvoicePlane Nasıl Kurulur

Debian 9 InvoicePlane Nasıl Kurulur

Farklı Bir Sistem mi Kullanıyorsunuz? InvoicePlane ücretsiz ve açık kaynaklı bir faturalandırma uygulamasıdır. Kaynak kodu bu Github deposunda bulunabilir. Bu rehber

Akauntingi CentOS 7ye Yükleme

Akauntingi CentOS 7ye Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Akaunting, küçük işletmeler ve serbest çalışanlar için tasarlanmış ücretsiz, açık kaynaklı ve çevrimiçi bir muhasebe yazılımıdır. Zekâ ile inşa edilmiştir

Ubuntu 16.04 Üzerinde Alfresco Community Edition Kurulumu

Ubuntu 16.04 Üzerinde Alfresco Community Edition Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Alfresco Community Edition, Alfresco İçerik Hizmetlerinin açık kaynaklı bir sürümüdür. Java ile yazılmıştır ve PostgreSQL t kullanır

Ubuntu 18.04 LTS Üzerinde Sylius e-Ticaret Platformu Nasıl Kurulur

Ubuntu 18.04 LTS Üzerinde Sylius e-Ticaret Platformu Nasıl Kurulur

Farklı Bir Sistem mi Kullanıyorsunuz? Sylius, Symfony Frameworke dayanan PHP için modern bir e-ticaret platformudur. Sylius kaynağı GitHubda. Bu kılavuz

Alfresco Community Editionı CentOS 7ye Yükleme

Alfresco Community Editionı CentOS 7ye Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Alfresco Community Edition, Alfresco İçerik Hizmetlerinin açık kaynaklı bir sürümüdür. Java ile yazılmıştır ve PostgreSQL t kullanır

FreeBSD 12 Dolibarr Kurulumu

FreeBSD 12 Dolibarr Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Dolibarr, işletmeler için açık kaynaklı bir kurumsal kaynak planlaması (ERP) ve müşteri ilişkileri yönetimi (CRM). Dolibarr

Debian 9 Üzerinde Dolibarr Kurulumu

Debian 9 Üzerinde Dolibarr Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Dolibarr, işletmeler için açık kaynaklı bir kurumsal kaynak planlaması (ERP) ve müşteri ilişkileri yönetimi (CRM). Dolibarr

Fedora 30 Üzerinde osTicket Kurulumu

Fedora 30 Üzerinde osTicket Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? osTicket açık kaynaklı bir müşteri destek bilet sistemidir. osTicket kaynak kodu Githubda herkese açık olarak barındırılmaktadır. Bu öğreticide

CentOS 7 Üzerinde Sentrifugo HRM Kurulumu

CentOS 7 Üzerinde Sentrifugo HRM Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Sentrifugo HRM ücretsiz ve açık kaynaklı bir İnsan Kaynakları Yönetimi uygulamasıdır. Zengin özelliklere sahip ve kolayca yapılandırılabilir

Akauntingi Ubuntu 16.04e Yükleme

Akauntingi Ubuntu 16.04e Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Akaunting, küçük işletmeler ve serbest çalışanlar için tasarlanmış ücretsiz, açık kaynaklı ve çevrimiçi bir muhasebe yazılımıdır. Zekâ ile inşa edilmiştir

FreeBSD 11 Üzerinde Matomo Analytics Kurulumu

FreeBSD 11 Üzerinde Matomo Analytics Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Matomo (eski adıyla Piwik), Google Analyticse açık bir alternatif olan açık kaynaklı bir analiz platformudur. Matomo kaynağı o barındırılıyor o

CentOS 7de OpenMeetings Kurulumu

CentOS 7de OpenMeetings Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Apache OpenMeetings açık kaynaklı bir web konferansı uygulamasıdır. Java ile yazılmıştır ve birden çok veritabanı sunucusunu destekler. ben

FreeBSD 12 Mailtrain Haber Bülteni Uygulaması Nasıl Kurulur

FreeBSD 12 Mailtrain Haber Bülteni Uygulaması Nasıl Kurulur

Farklı Bir Sistem mi Kullanıyorsunuz? Mailtrain, Node.js ve MySQL / MariaDB üzerine kurulmuş açık kaynaklı, kendi kendine barındırılan bir bülten uygulamasıdır. Mailtrains kaynağı GitHubda. Thi

CentOS 8 Üzerinde X-Cart 5 Kurulumu

CentOS 8 Üzerinde X-Cart 5 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? X-Cart, tonlarca özellik ve entegrasyona sahip son derece esnek bir açık kaynaklı e-ticaret platformudur. X-Cart kaynak kodu aceleci

Ubuntu 18.04 Üzerine Cezerin eCommerce Kurulumu

Ubuntu 18.04 Üzerine Cezerin eCommerce Kurulumu

Cezerin, React ve Node.js kullanılarak oluşturulan açık kaynaklı bir e-ticaret aşamalı web uygulamasıdır. Bu derste, bir Cezerini productio için nasıl dağıtacağınızı öğreneceksiniz.

PrestaShop ve Apache ile E-Ticaret Çözümü Olarak OpenBSD

PrestaShop ve Apache ile E-Ticaret Çözümü Olarak OpenBSD

Giriş Bu eğitici program OpenBSDyi PrestaShop ve Apache kullanarak bir e-ticaret çözümü olarak göstermektedir. Apache gereklidir çünkü PrestaShop karmaşık URye sahiptir

Fedora 28 Osclass Kurulumu

Fedora 28 Osclass Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Osclass, herhangi bir teknik bilgi olmadan kolayca sınıflandırılmış bir site oluşturmanıza izin veren açık kaynaklı bir projedir. Onun kaynağı

Debian 10a X-Cart 5 Kurulumu

Debian 10a X-Cart 5 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? X-Cart, tonlarca özellik ve entegrasyona sahip son derece esnek bir açık kaynaklı e-ticaret platformudur. X-Cart kaynak kodu aceleci

Taiga Proje Yönetim Aracı CentOS 7 Kurulumu

Taiga Proje Yönetim Aracı CentOS 7 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Tayga proje yönetimi için ücretsiz ve açık kaynak kodlu bir uygulamadır. Diğer proje yönetim araçlarının aksine, Taiga artımlı

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?