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.
Apache Zeppelin to internetowy notatnik typu open source i narzędzie do współpracy w zakresie interaktywnego pozyskiwania, odkrywania, analizy i wizualizacji danych. 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.
W tym samouczku użyjemy zeppelin.example.com
jako nazwy domeny wskazanej na instancję Vultr. Pamiętaj, aby zamienić wszystkie wystąpienia przykładowej nazwy domeny na rzeczywistą.
Zaktualizuj system podstawowy, korzystając z przewodnika Jak zaktualizować system Ubuntu 16.04 . Po zaktualizowaniu systemu przejdź do instalacji Java.
Apache Zeppelin jest napisany w Javie, dlatego wymaga pracy JDK. Dodaj repozytorium Ubuntu dla Oracle Java 8.
sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update
Zainstaluj Oracle Java.
sudo apt -y install oracle-java8-installer
Sprawdź jego wersję.
java -version
Zobaczysz następujące dane wyjściowe.
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)
Ustaw domyślną ścieżkę dla Java, instalując następujący pakiet.
sudo apt -y install oracle-java8-set-default
Możesz sprawdzić, czy JAVA_HOME
jest ustawiony, uruchamiając.
echo $JAVA_HOME
Zobaczysz.
user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
Jeśli nie widzisz żadnych danych wyjściowych, musisz wylogować się z bieżącej powłoki i zalogować się ponownie.
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ż Nginx jako zwrotny serwer proxy.
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 useradd -d /opt/zeppelin -s /bin/false 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 upewnić się, że usługa jest uruchomiona, możesz uruchomić następujące czynności.
sudo systemctl status zeppelin
Domyślnie serwer Zeppelin nasłuchuje localhost
na porcie 8080
. Będziemy używać Nginx jako odwrotnego proxy, aby aplikacja była dostępna za pośrednictwem standardu HTTP
i HTTPS
portów. Skonfigurujemy również Nginx, aby używał SSL wygenerowanego za pomocą Let's Encrypt darmowego SSL CA.
Zainstaluj Nginx.
sudo apt -y install nginx
Uruchom Nginx i włącz automatyczne uruchamianie podczas uruchamiania.
sudo systemctl start nginx
sudo systemctl enable nginx
Dodaj repozytorium Certbot.
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
Zainstaluj Certbot, czyli aplikację kliencką Let's Encrypt CA.
sudo apt -y install certbot
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 /var/www/html -d zeppelin.example.com
Wygenerowane certyfikaty prawdopodobnie będą przechowywane /etc/letsencrypt/live/zeppelin.example.com/
. Certyfikat SSL będzie przechowywany jako, fullchain.pem
a 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 certyfikat wygasa, zostanie automatycznie odnowiony.
Utwórz nowy plik bloku serwera dla strony Zeppelin.
sudo nano /etc/nginx/sites-available/zeppelin
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;
}
}
Aktywuj plik konfiguracyjny.
sudo ln -s /etc/nginx/sites-available/zeppelin /etc/nginx/sites-enabled/zeppelin
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.
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ść, false
aby wyłączyć dostęp anonimowy.
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 admin
i user1
. Zmienić hasło admin
i user1
i 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 się podobać.
[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
Zobaczysz, ż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.
Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.
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
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+
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.
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…
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ą
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.
Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.
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.