Изучение 26 методов анализа больших данных: часть 1
Изучение 26 методов анализа больших данных: часть 1
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 free 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.
Изучение 26 методов анализа больших данных: часть 1
Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.
Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.
Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.
Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.
CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?
По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.
Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!
Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.
Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше