Повстання машин: застосування ШІ в реальному світі
Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.
Apache Zeppelin — це веб-блокнот із відкритим кодом і інструмент для співпраці для інтерактивного прийому, виявлення, аналітики та візуалізації даних. Zeppelin підтримує понад 20 мов, включаючи Apache Spark, SQL, R, Elasticsearch та багато інших. Apache Zeppelin дозволяє створювати красиві документи на основі даних і бачити результати вашої аналітики.
У цьому підручнику ми будемо використовувати zeppelin.example.com як доменне ім’я, спрямоване на екземпляр Vultr. Будь ласка, не забудьте замінити всі входження прикладу доменного імені на фактичне.
Оновіть свою базову систему за допомогою посібника Як оновити Ubuntu 16.04 . Після оновлення системи перейдіть до встановлення Java.
Apache Zeppelin написаний на Java, тому для роботи потрібен JDK. Додайте репозиторій Ubuntu для Oracle Java 8.
sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update
Встановіть Oracle Java.
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)
Встановіть шлях за замовчуванням для Java, встановивши наступний пакет.
sudo apt -y install oracle-java8-set-default
Ви можете перевірити, чи JAVA_HOMEвстановлено, запустивши.
echo $JAVA_HOME
Ти побачиш.
user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
Якщо ви не бачите жодного виводу, вам потрібно буде вийти з поточної оболонки та знову ввійти.
Apache Zeppelin поставляє всі залежності разом із двійковими файлами, тому нам не потрібно встановлювати нічого, крім Java. Завантажте двійковий файл 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
Apache Zeppelin зараз встановлено. Ви можете відразу запустити програму, але вона не буде для вас доступною, оскільки вона localhostтільки слухає . Ми налаштуємо Apache Zeppelin як сервіс. Ми також налаштуємо Nginx як зворотний проксі.
На цьому кроці ми налаштуємо файл модуля Systemd для програми Zeppelin. Це забезпечить автоматичне запуск процесу застосування при перезавантаженні системи та збоях.
З міркувань безпеки створіть непривілейованого користувача для запуску процесу Zeppelin.
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
Увімкніть службу Zeppelin для авто��атичного запуску під час завантаження.
sudo systemctl enable zeppelin
Щоб переконатися, що служба працює, ви можете запустити наступне.
sudo systemctl status zeppelin
За замовчуванням сервер Zeppelin прослуховує localhost порт 8080. Ми будемо використовувати Nginx як зворотний проксі-сервер, щоб до програми можна було отримати доступ через стандарт HTTP і HTTPS порти. Ми також налаштуємо Nginx на використання SSL, згенерованого за допомогою Let's Encrypt безкоштовного SSL CA.
Встановіть 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
Установіть Certbot, який є клієнтською програмою для Let's Encrypt CA.
sudo apt -y install certbot
Примітка : щоб отримати сертифікати від Let's Encrypt CA, домен, для якого мають бути створені сертифікати, має бути спрямований на сервер. Якщо ні, внесіть необхідні зміни в записи DNS домену та зачекайте, поки DNS пошириться, перш ніж знову надсилати запит на сертифікат. Certbot перевіряє авторитет домену перед наданням сертифікатів.
Згенеруйте сертифікати SSL.
sudo certbot certonly --webroot -w /var/www/html -d zeppelin.example.com
Згенеровані сертифікати, ймовірно, зберігатимуться в /etc/letsencrypt/live/zeppelin.example.com/. Сертифікат SSL буде збережено як, fullchain.pem а закритий ключ – як privkey.pem.
Термін дії сертифікатів Let's Encrypt закінчується через 90 днів, тому рекомендується налаштувати автоматичне оновлення сертифікатів за допомогою завдань Cron.
Відкрийте файл завдання cron.
sudo crontab -e
Додайте наступний рядок у кінці файлу.
30 5 * * * /usr/bin/certbot renew --quiet
Вищезазначене завдання cron виконуватиметься щодня о 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. Скопіюйте файл конфігурації 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 і відключити інших користувачів, коментуючи їх. Ви також можете змінити ім’я користувача та ролі користувачів. Щоб дізнатися більше про користувачів і ролі Apache Shiro, прочитайте посібник із авторизації Shiro .
Після того, як ви змінили паролі, блок коду має сподобатися.
[users]
admin = StrongPassword, admin
user1 = UserPassword, role1, role2
# user2 = password3, role3
# user3 = password4, role2
Тепер перезапустіть Zeppelin, щоб застосувати зміни.
sudo systemctl restart zeppelin
Ви побачите, що автентифікацію ввімкнено, і ви зможете ввійти, використовуючи ім’я користувача та пароль, встановлені у файлі конфігурації Shiro.
Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.
Ви також стали жертвою DDOS-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.
Можливо, ви чули, що хакери заробляють багато грошей, але чи замислювалися ви коли-небудь, як вони заробляють такі гроші? давайте обговоримо.
Ви хочете побачити революційні винаходи Google і як ці винаходи змінили життя кожної людини сьогодні? Тоді читайте в блозі, щоб побачити винаходи Google.
Концепція самокерованих автомобілів, щоб вирушати в дороги за допомогою штучного інтелекту, є мрією, яку ми давно мріємо. Але, незважаючи на кілька обіцянок, їх ніде не видно. Прочитайте цей блог, щоб дізнатися більше…
Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.
Прочитайте блог, щоб дізнатися про різні шари архітектури великих даних та їх функціональні можливості найпростішим способом.
Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.
У цьому цифровому світі пристрої розумного дому стали важливою частиною життя. Ось кілька дивовижних переваг пристроїв розумного дому щодо того, як вони роблять наше життя гідним життя та спрощують його.
Нещодавно Apple випустила додаткове оновлення macOS Catalina 10.15.4, щоб виправити проблеми, але схоже, що оновлення викликає більше проблем, що призводять до блокування комп’ютерів Mac. Прочитайте цю статтю, щоб дізнатися більше