Jak zainstalować Apache Zeppelin na CentOS 7

Apache Zeppelin to internetowy notatnik typu open source i narzędzie do współpracy w zakresie interaktywnego wprowadzania danych, odkrywania, analiz i wizualizacji. Zeppelin obsługuje ponad 20 języków, w tym Apache Spark, SQL, R, Elasticsearch i wiele innych. Apache Zeppelin pozwala tworzyć piękne dokumenty oparte na danych i wyświetlać wyniki analiz.

Wymagania wstępne

  • Instancja serwera Vultr CentOS 7.
  • Użytkownik sudo .
  • Nazwa domeny wskazuje na serwer.

W tym samouczku użyjemy zeppelin.example.comjako nazwy domeny wskazanej na instancję Vultr. Pamiętaj, aby zamienić wszystkie wystąpienia przykładowej nazwy domeny na rzeczywistą.

Zaktualizuj system podstawowy za pomocą przewodnika Jak zaktualizować CentOS 7 . Po zaktualizowaniu systemu przejdź do instalacji Java.

Zainstaluj Javę

Apache Zeppelin jest napisany w Javie, dlatego wymaga pracy JDK. Pobierz pakiet Oracle SE JDK RPM.

wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.rpm"

Zainstaluj pobrany pakiet.

sudo yum -y localinstall jdk-8u151-linux-x64.rpm

Jeśli Java została zainstalowana pomyślnie, powinieneś mieć możliwość zweryfikowania jej wersji.

java -version

Zobaczysz następujące dane wyjściowe.

[user@vultr ~]$ java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

Zanim przejdziemy dalej, musimy skonfigurować zmienne środowiskowe JAVA_HOMEi JRE_HOME. Znajdź absolutną ścieżkę pliku wykonywalnego JAVA w swoim systemie.

readlink -f $(which java)

Zobaczysz podobne wyjście.

[user@vultr ~]$ readlink -f $(which java)
/usr/java/jdk1.8.0_151/jre/bin/java

Teraz ustaw zmienne środowiskowe JAVA_HOMEi JRE_HOMEzgodnie ze ścieżką do katalogu Java.

echo "export JAVA_HOME=/usr/java/jdk1.8.0_151" >> ~/.bash_profile
echo "export JRE_HOME=/usr/java/jdk1.8.0_151/jre" >> ~/.bash_profile

Uruchom bash_profileplik.

source ~/.bash_profile

Teraz możesz uruchomić echo $JAVA_HOMEpolecenie, aby sprawdzić, czy zmienna środowiskowa jest ustawiona.

[user@vultr ~]$ echo $JAVA_HOME
/usr/java/jdk1.8.0_151

Zainstaluj Zeppelin

Apache Zeppelin dostarcza wszystkie zależności wraz z plikami binarnymi, więc nie musimy instalować niczego poza Javą. Pobierz plik binarny Zeppelin na swój system. Zawsze możesz znaleźć najnowszą wersję aplikacji na stronie pobierania Zeppelin .

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

Wypakuj archiwum.

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

Powyższe polecenie wyodrębni archiwum do /opt/zeppelin-0.7.3-bin-all. Zmień nazwę katalogu dla wygody.

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

Apache Zeppelin jest teraz zainstalowany. Możesz natychmiast uruchomić aplikację, ale nie będzie ona dostępna, ponieważ tylko nasłuchuje localhost. Skonfigurujemy Apache Zeppelin jako usługę. Skonfigurujemy również serwer WWW Nginx jako odwrotne proxy.

Skonfiguruj usługę Systemd

W tym kroku skonfigurujemy plik jednostki Systemd dla aplikacji Zeppelin. Zapewni to automatyczne uruchomienie procesu aplikacji przy ponownym uruchomieniu systemu i awariach.

Ze względów bezpieczeństwa utwórz nieuprzywilejowanego użytkownika do uruchomienia procesu Zeppelin.

sudo adduser -d /opt/zeppelin -s /sbin/nologin zeppelin

Przekaż własność plików nowo utworzonemu użytkownikowi Zeppelin.

sudo chown -R zeppelin:zeppelin /opt/zeppelin

Utwórz nowy plik jednostki serwisowej Systemd.

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

Wypełnij plik następującymi danymi.

[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

Uruchom aplikację.

sudo systemctl start zeppelin

Włącz usługę Zeppelin, aby automatycznie uruchamiała się podczas rozruchu.

sudo systemctl enable zeppelin

Aby sprawdzić, czy usługa jest uruchomiona, możesz uruchomić następujące czynności.

sudo systemctl status zeppelin

Skonfiguruj odwrotny serwer proxy

Domyślnie serwer Zeppelin nasłuchuje localhostna porcie 8080. W tym samouczku użyjemy Nginx jako odwrotnego proxy, aby aplikacja była dostępna za pośrednictwem standardu HTTPi HTTPSportów. Skonfigurujemy również Nginx do korzystania z SSL wygenerowanego za pomocą Let's Encrypt darmowego SSL CA.

Zainstaluj Nginx.

sudo yum -y install nginx

Uruchom Nginx i włącz automatyczne uruchamianie podczas uruchamiania.

sudo systemctl start nginx
sudo systemctl enable nginx

Zainstaluj Certbot, czyli aplikację kliencką Let's Encrypt CA.

sudo yum -y install certbot

Aby móc zażądać certyfikatów, musisz zezwolić na port 80i / 443lub standard HTTPi HTTPSusługi za pośrednictwem zapory.

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload

Uwaga : Aby uzyskać certyfikaty z Let's Encrypt CA, domena, dla której mają być generowane certyfikaty, musi być skierowana w stronę serwera. Jeśli nie, dokonaj niezbędnych zmian w rekordach DNS domeny i poczekaj na propagację DNS przed ponownym żądaniem certyfikatu. Certbot sprawdza urząd domeny przed podaniem certyfikatów.

Wygeneruj certyfikaty SSL.

sudo certbot certonly --webroot -w /usr/share/nginx/html -d zeppelin.example.com

Wygenerowane certyfikaty prawdopodobnie będą przechowywane /etc/letsencrypt/live/zeppelin.example.com/. Certyfikat SSL będzie przechowywany jako, fullchain.pema klucz prywatny będzie przechowywany jako privkey.pem.

Ważność certyfikatów Let's Encrypt wygasa za 90 dni, dlatego zaleca się skonfigurowanie automatycznego odnawiania certyfikatów za pomocą zadań Cron.

Otwórz plik zadania cron.

sudo crontab -e

Dodaj następujący wiersz na końcu pliku.

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

Powyższe zadanie crona będzie uruchamiane codziennie o 5:30. Jeśli termin ważności certyfikatu upływa, zostanie on automatycznie odnowiony.

Utwórz nowy plik bloku serwera dla strony Zeppelin.

sudo nano /etc/nginx/conf.d/zeppelin.example.com.conf

Wypełnij plik.

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

Uruchom ponownie Nginx, aby zmiany mogły zostać wprowadzone.

sudo systemctl restart nginx zeppelin

Zeppelin jest teraz dostępny pod następującym adresem.

https://zeppelin.example.com

Domyślnie uwierzytelnianie nie jest włączone, więc możesz bezpośrednio korzystać z aplikacji.

Ponieważ aplikacja jest dostępna dla wszystkich, tworzone przez ciebie notesy są również dostępne dla wszystkich. Bardzo ważne jest, aby wyłączyć dostęp anonimowy i włączyć uwierzytelnianie, aby tylko uwierzytelnieni użytkownicy mieli dostęp do aplikacji.

Wyłącz dostęp anonimowy

Aby wyłączyć domyślny dostęp anonimowy, skopiuj szablon pliku konfiguracyjnego do jego lokalizacji na żywo.

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

Edytuj plik konfiguracyjny.

sudo nano conf/zeppelin-site.xml

Znajdź następujące wiersze w pliku.

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

Zmień wartość, falseaby wyłączyć dostęp anonimowy.

Włącz uwierzytelnianie Shiro

Teraz, gdy wyłączyliśmy dostęp anonimowy, musimy włączyć mechanizm uwierzytelniania, aby uprzywilejowani użytkownicy mogli się zalogować. Apache Zeppelin korzysta z uwierzytelniania Apache Shiro. Skopiuj plik konfiguracyjny Shiro.

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

Edytuj plik konfiguracyjny.

sudo nano conf/shiro.ini

Znajdź następujące wiersze w pliku.

[users]

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

Lista zawiera nazwę użytkownika, hasło i role użytkowników. Na razie będziemy używać tylko admini user1. Zmienić hasło admini user1i wyłączyć innym użytkownikom i ich komentowania. Możesz także zmienić nazwę użytkownika i role użytkowników. Aby dowiedzieć się więcej o użytkownikach i rolach Apache Shiro, przeczytaj przewodnik autoryzacji Shiro .

Po zmianie haseł blok kodu powinien wyglądać następująco.

[users]

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

Teraz uruchom ponownie Zeppelin, aby zastosować zmiany.

sudo systemctl restart zeppelin

Powinieneś zobaczyć, że uwierzytelnianie zostało włączone i będziesz mógł zalogować się przy użyciu nazwy użytkownika i hasła ustawionych w pliku konfiguracyjnym Shiro.



Leave a Comment

Jak zainstalować Matomo Analytics na Fedorze 28

Jak zainstalować Matomo Analytics na Fedorze 28

Używasz innego systemu? Matomo (wcześniej Piwik) to platforma analityczna typu open source, otwarta alternatywa dla Google Analytics. Źródło Matomo jest hostowane o

Jak zainstalować X-Cart 5 na FreeBSD 12

Jak zainstalować X-Cart 5 na FreeBSD 12

Używasz innego systemu? X-Cart to niezwykle elastyczna platforma eCommerce typu open source z mnóstwem funkcji i integracji. Kod źródłowy X-Cart jest hostem

Jak zainstalować InvoicePlane na Debianie 9

Jak zainstalować InvoicePlane na Debianie 9

Używasz innego systemu? InvoicePlane to darmowa i otwarta aplikacja do fakturowania. Jego kod źródłowy można znaleźć w tym repozytorium Github. Ten przewodnik

OpenBSD jako rozwiązanie e-commerce z PrestaShop i Apache

OpenBSD jako rozwiązanie e-commerce z PrestaShop i Apache

Wprowadzenie W tym samouczku pokazano OpenBSD jako rozwiązanie e-commerce wykorzystujące PrestaShop i Apache. Wymagany jest Apache, ponieważ PrestaShop ma złożony UR

Jak zainstalować Dolibarr na Fedorze 28

Jak zainstalować Dolibarr na Fedorze 28

Używasz innego systemu? Dolibarr to otwarte oprogramowanie do planowania zasobów przedsiębiorstwa (ERP) i zarządzania relacjami z klientami (CRM) dla firm. Dolibar

Jak zainstalować X-Cart 5 na Debianie 10

Jak zainstalować X-Cart 5 na Debianie 10

Używasz innego systemu? X-Cart to niezwykle elastyczna platforma eCommerce typu open source z mnóstwem funkcji i integracji. Kod źródłowy X-Cart jest hostem

Instalowanie Akaunting na CentOS 7

Instalowanie Akaunting na CentOS 7

Używasz innego systemu? Akaunting to darmowe, otwarte oprogramowanie księgowe i internetowe przeznaczone dla małych firm i freelancerów. Jest zbudowany z dowcipem

Jak zainstalować platformę e-commerce Sylius na Ubuntu 18.04 LTS

Jak zainstalować platformę e-commerce Sylius na Ubuntu 18.04 LTS

Używasz innego systemu? Sylius to nowoczesna platforma e-commerce dla PHP, oparta na frameworku Symfony. Źródło Sylius znajduje się na GitHub. Ten przewodnik będzie wal

Jak zainstalować Dolibarr na FreeBSD 12

Jak zainstalować Dolibarr na FreeBSD 12

Używasz innego systemu? Dolibarr to oprogramowanie do planowania zasobów przedsiębiorstwa (ERP) i zarządzania relacjami z klientami (CRM) dla firm. Dolibarr

Jak zainstalować Dolibarr na Debianie 9

Jak zainstalować Dolibarr na Debianie 9

Używasz innego systemu? Dolibarr to oprogramowanie do planowania zasobów przedsiębiorstwa (ERP) i zarządzania relacjami z klientami (CRM) dla firm. Dolibarr

Jak zainstalować Sentrifugo HRM na Ubuntu 16.04

Jak zainstalować Sentrifugo HRM na Ubuntu 16.04

Używasz innego systemu? Sentrifugo HRM to darmowa i otwarta aplikacja do zarządzania zasobami ludzkimi (HRM). Jest to bogaty w funkcje i łatwy do skonfigurowania

Jak zainstalować Microweber na CentOS 7

Jak zainstalować Microweber na CentOS 7

Używasz innego systemu? Microweber to otwarty system CMS typu „przeciągnij i upuść” oraz sklep internetowy. Kod źródłowy Microweber jest hostowany na GitHub. Ten przewodnik pokaże ci yo

Jak zainstalować Attendize na CentOS 7

Jak zainstalować Attendize na CentOS 7

Używasz innego systemu? Wprowadzenie Attendize to platforma sprzedaży biletów i zarządzania zdarzeniami typu open source oparta na frameworku Laravel PHP. Attendiz

Jak zainstalować X-Cart 5 na CentOS 8

Jak zainstalować X-Cart 5 na CentOS 8

Używasz innego systemu? X-Cart to niezwykle elastyczna platforma eCommerce typu open source z mnóstwem funkcji i integracji. Kod źródłowy X-Cart jest hostem

Jak zainstalować OpenMeetings na Ubuntu 16.04

Jak zainstalować OpenMeetings na Ubuntu 16.04

Używasz innego systemu? Apache OpenMeetings to aplikacja do konferencji internetowych typu open source. Jest napisany w Javie i obsługuje wiele serwerów baz danych. ja

Jak zainstalować Microweber na Fedorze 28

Jak zainstalować Microweber na Fedorze 28

Używasz innego systemu? Microweber to otwarty system CMS typu „przeciągnij i upuść” oraz sklep internetowy. Kod źródłowy Microweber jest hostowany na GitHub. Ten przewodnik pokaże ci yo

Jak zainstalować Osclass na Fedorze 28

Jak zainstalować Osclass na Fedorze 28

Używasz innego systemu? Osclass to projekt o otwartym kodzie źródłowym, który umożliwia łatwe tworzenie sklasyfikowanych stron bez wiedzy technicznej. Jego źródło

Jak zainstalować Open Web Analytics na Ubuntu 18.04

Jak zainstalować Open Web Analytics na Ubuntu 18.04

Używasz innego systemu? Open Web Analytics (OWA) to program analityki internetowej typu open source, którego można używać do śledzenia i analizowania sposobu, w jaki użytkownicy korzystają z Twojej witryny

Jak zainstalować Alfresco Community Edition na Ubuntu 16.04

Jak zainstalować Alfresco Community Edition na Ubuntu 16.04

Używasz innego systemu? Alfresco Community Edition to otwarta wersja Alfresco Content Services. Jest napisany w Javie i używa PostgreSQL t

Jak zainstalować narzędzie do zarządzania projektami Taiga na CentOS 7

Jak zainstalować narzędzie do zarządzania projektami Taiga na CentOS 7

Używasz innego systemu? Taiga to darmowa i otwarta aplikacja do zarządzania projektami. W odróżnieniu od innych narzędzi do zarządzania projektami, Tajga używa przyrostu

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.