краткое содержание:В этой статье представлены пользователи предприятий розничной торговли на основе Dlink + FlinkSQL Практика создания интегрированной платформы пакетного потока данных в основном предназначена для совместного использования. Содержание включает в себя:
Адрес GitHub
https://github.com/DataLinkDC/dlink
Приглашаем всех обратить внимание на развитие Dlink~
1. Предисловие
В связи с потребностями компании я недавно исследовал множество проектов с открытым исходным кодом и, наконец, обнаружил, что Dlink может лучше удовлетворить потребности в создании интегрированной платформы пакетного потока данных. Удобство разработки данных очень важно для платформы данных, которая определяет затраты на строительство, эксплуатацию и обслуживание проекта. Dlink предоставляет возможности разработки и отладки FlinkSQL и другого SQL, так что работа по разработке данных может достичь эффекта. Hue, с автоматической подачей и созданием. Возможность удаленной кластеризации снижает порог использования. После общения с автором я узнал о RoadMap от Dlink. Нужна именно платформа данных, поэтому после развертывания исследования результаты хорошие, и мы готовимся к запуску производства в Интернет после праздников. В этот период мы столкнулись с некоторыми подводными камнями и составили статью, которой хотим поделиться. ограничения по времени, мы поделимся другим контентом в будущем.
2. Развертывание
Dlink не зависит от какой-либо внешней среды Hadoop или Flink и может быть развернут независимо за пределами кластеров Flink, Hadoop и K8S. Он полностью изолирован и поддерживает одновременное подключение нескольких различных экземпляров кластера для эксплуатации и обслуживания.
tar -zxvf dlink-release-0.5.0-SNAPSHOT.tar.gz
mv dlink-release-0.5.0-SNAPSHOT dlink
cd dlink
Изменить файл конфигурации
Dlink использует MySQL в качестве внутреннего репозитория, а MySQL поддерживает версии 5.6+. Предполагается, что у вас установлен MySQL.
Во-первых, вам необходимо создать внутреннюю базу данных Dlink, которая создается здесь с использованием библиотеки по умолчанию в файле конфигурации.
#Loginmysql
mysql -uroot -proot@123
#Авторизуемся и создаем базу данных
mysql> grant all privileges on *.* to 'dlink'@'%' identified by 'dlink' with grant option;
mysql> grant all privileges on *.* to 'dlink'@'fdw1' identified by 'dlink' with grant option;
mysql> flush privileges;
#Войдите под пользователем dlink здесь
mysql -h fdw1 -udlink -pdlink
mysql> create database dlink;
После создания базы данных вы можете изменить файл конфигурации dlink для подключения к mysql и изменить его в соответствии с личными обстоятельствами. Конфигурационный файл относительно прост, поэтому я не буду здесь вдаваться в подробности.
#Переключить каталог
компакт-диск /opt/dlink/config/
Приложение vim.yml
После изменения файла конфигурации следующим шагом будет установка nginx. Вы можете игнорировать это, если nginx уже установлен. Поскольку для развертывания Dlink требуется nginx, сначала необходимо развернуть nginx. После завершения настройки он может запускаться в обычном режиме.
В папке sql корневого каталога dlink находятся два файла sql: dlink.sql и dlink_history.sql. Если он развертывается впервые, вы можете напрямую выполнить файл dlink.sql в базе данных dlink. (Если база данных dlink была создана ранее, то dlink_history.sql хранит SQL-файл обновления каждой версии, который можно выполнить по мере необходимости в соответствии с номером версии)
#Сначала войдите в MySQL
mysql -h fdw1 -udlink -pdlink
mysql> use dlink;
mysql> source /opt/dlink/sql/dlink.sql
После завершения выполнения разверните службу nginx.
В Linux необходимо сначала настроить соответствующую библиотеку yum, поскольку в процессе установки настройка не требуется. Здесь мы можем кратко описать следующие шаги. Вы можете выбрать подключение к сети или локальному источнику yum. Здесь выберите подключение. в сеть для настройки.
#Загрузить исходный код ням
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#Очистить кэш
yum makecache
#Далее устанавливаем nginx
yum -y install epel-release
yum -y install nginx
sudo systemctl enable nginx
sudo service nginx start
sudo service nginx reload
nginx -v
#Наконец проверьте процесс, чтобы убедиться, что он запускается нормально
ps -ef|grep nginx
Если nginx установлен из исходного кода yum, файл конфигурации находится в папке и т. д. Если он установлен из исходного пакета, найдите файл конфигурации самостоятельно.
#Переходим в каталог конфигурации nginx
компакт-диск /etc/nginx/
Откройте файл конфигурации с помощью vim /etc/nginx/nginx.conf и измените содержимое сервера. Содержимое сервера может соответствовать конфигурации на github.
server {
listen 9999;
#listen [::]:80;
server_name bigdata3;
root /usr/share/nginx/html;
gzip on;
gzip_min_length 1k;
gzip_comp_level 9;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
root html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
location ^~ /api {
proxy_pass http://192.168.0.0:8888;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
}
Содержание модификации:
После завершения настройки сохраните и выйдите. Перезапустите nginx и перезагрузите, чтобы изменения вступили в силу.
$systemctl restart nginx.service
$systemctl reload nginx.service
#Проверяем, успешно ли настроен nginx
nginx -t
$nginx -s reload
Dlink имеет собственную среду Flink. Для реализации этой среды Flink пользователи должны создать папку плагинов в корневом каталоге Dlink и загрузить соответствующие зависимости Flink, такие как flink-dist, flink-table и т. д. Подробности читайте в файле Readme. (последующие расширенные зависимости также размещаются в этом каталоге). Конечно, можно указать FLINK_HOME в файле запуска, но это не рекомендуется.
В текущей версии режимов выполнения заданий и приложений пряжи Dlink для запуска используется Flink-shade-hadoop, поэтому необходимо добавить пакет Flink-shade-hadoop.
#Создать каталог
компакт-диск /opt/dlink/
Плагины mkdir
Загрузите Flink-shade-hadoop в каталог файлов плагинов. Для тех, кто использует Hadoop2 или Hadoop 3, вы можете использовать flink-shade-hadoop-3. Адрес следующий:
https://mvnrepository.com/artifact/org.apache.flink/flink-shaded-hadoop-3-uber?repo=cloudera-repos
Если CDH и HDP используют flink-shade с открытым исходным кодом, это не окажет никакого влияния на Dlink. Другие используемые зависимости зависят от совместимости CDH или HDP с версией с открытым исходным кодом. Чтобы использовать все функции, вам необходимо добавить зависимости на основе совместимости. Длинк нормально.
#запускать
$sh auto.sh start
#останавливаться
$sh auto.sh stop
#перезапуск
$sh auto.sh restart
#Просмотреть статус
$sh auto.sh status
Когда вы увидите следующий интерфейс, это означает, что развертывание Dlink прошло успешно.
Имя пользователя/пароль по умолчанию: admin/admin
Если доступ не удался, проверьте, выключен ли брандмауэр и правильно ли настроен Nginx.
Далее речь идет о развертывании пользователей Dlink. Для некоторых компаний запрещены операции под пользователями без полномочий root или используется планирование ресурсов (yarn), а пользователям без полномочий root необходимо подать FlinkSQL. Тогда принцип, которому следует Dlink, заключается в том, что пользователь, который запускает Dlink, будет отправлять задачи через этого пользователя. Давайте поговорим о том, как работать с ним под пользователем без полномочий root;
Создайте очередь для пользователей, отправляющих Flink, используя Flink
$useradd flink
Чтобы создать пользовательскую папку /user/flink в hdfs, используйте пользователя root для ее создания и предоставьте разрешения flink. Если это платформа CDH, для ее создания используйте пользователя HDFS. Здесь используется корень.
$hadoop fs -mkdir -p /user/flink
#авторизация
$hadoop fs -chown -R flink:flink /user/flink
После авторизации Dlink и принятия разрешений Flink Dlink запускается под пользователем Flink. В это время задания по разработке FlinkSQL будут отправляться через пользователя Flink.
$chown -R flink:root dlink
Переключитесь на Flink, и пользователи смогут запустить Dlink, чтобы использовать его в обычном режиме.
su flink
sh auto.sh start
Запись проблемы:
1.standalone, Yarn-session и k8s-session подходят для тестирования и запроса исходных баз данных, таких как OLAP, а точки сохранения отключены в автономном режиме и режиме сеанса пряжи. Если вы используете операции запроса, такие как SELECT и SHOW, вам необходимо. закройте набор операторов и включите только предварительный просмотр.
2. Для производственного использования рекомендуется использовать режимы «perjob» и «application». Откройте набор операторов и установите самую последнюю точку сохранения.
3. Если вы не знакомы с local, используйте его с осторожностью и не выполняйте потоковые задачи.
3. Кластерный центр
Конфигурация кластерного центра включает в себя:
Применимыми сценариями настройки кластера являются «пряжа на задание» и «пряжа-приложение». k8s-приложение настраивается через заданный синтаксис.
1. Экземпляр кластера
Если вы хотите настроить экземпляр кластера, на первом этапе нажмите «Центр кластера» и войдите в центр кластера. На втором этапе нажмите «Экземпляр кластера». После ввода «Экземпляр кластера» вы увидите следующий интерфейс.
Как показано на рисунке выше, он включает в себя такие кнопки, как «Создать», «Пульс», «Перезапустить» и «Обновить».
Третий шаг: нажмите кнопку «Создать», появится интерфейс «Добавить кластер Flink».
Включает имя, псевдоним, тип, адрес высокой доступности JobManager. Имя и псевдоним настраиваются в зависимости от ситуации, а типы включают сеанс пряжи, автономный режим, пряжу для каждого задания и приложение пряжи. Экземпляры кластера подходят для сеанса пряжи, сеанса k8s и автономного режима. Добавление кластера Flink включено по умолчанию. Затем создайте кластер Flink, используя автономный интерфейс.
После заполнения нажмите кнопку «Отправить». После завершения отправки нажмите кнопку «Heartbeat» на следующем шаге. Интерфейс выглядит следующим образом:
Вы увидите, что обновление статуса завершено, и номер версии Flink будет получен автоматически. На этом этапе экземпляр кластера зарегистрирован. Регистрация экземпляра кластера сеансов Yarn и k8s аналогична.
Если вам нужно изменить экземпляр кластера, вам нужно нажать «Настроить» или «Изменить». Появится интерфейс редактирования кластера, и вы сможете изменить или удалить экземпляр кластера. Как показано ниже
2. Конфигурация кластера
Конфигурация кластера больше подходит для каждого задания и применения пряжи.
Первый шаг — нажать «Конфигурация кластера». Интерфейс выглядит следующим образом:
На втором этапе нажмите «Создать», и появится «Создать конфигурацию кластера». Интерфейс выглядит следующим образом:
Конфигурация кластера включает конфигурацию Hadoop, конфигурацию Flink и базовую конфигурацию.
Обязательные элементы конфигурации Hadoop включают путь к файлу конфигурации и ha.zookeeper.quorum (необязательно).
Обязательные элементы для конфигурации Flink включают путь к библиотеке и путь к файлу конфигурации.
Обязательные элементы для базовой конфигурации включают идентификацию.
Наконец, нажмите «Включить» в базовой конфигурации, после чего настройка информации о конфигурации кластера будет завершена.
После заполнения информации нажмите кнопку «Тест», чтобы проверить, успешно ли настроен кластер. Если настройка прошла успешно, появится сообщение об успешном завершении теста, в противном случае появится сообщение «Запрос не выполнен», и, наконец, нажмите «Готово».
Как изменить конфигурацию кластера? Нажмите соответствующую кнопку «Дополнительно», чтобы отредактировать и удалить конфигурацию кластера, такую же, как и экземпляр кластера.
Выше описан процесс настройки кластерного центра. На этом настройка кластера завершена.
4. Настройки системы
1. Управление пользователями
Пароль по умолчанию для нового пользователя: 123456.
2. Настройки флинка
первый шаг,Нажмите"Системные настройки">>"Flinkнастраивать",Интерфейс выглядит следующим образом:
Отправка пути к файлу Jar FlinkSQL в основном предназначена для обслуживания приложения Yarn. Нам нужно загрузить пакет зависимостей dlink-app в Dlink по указанному пути HDFS. Нажмите «Изменить» и сохраните. Остальные установлены по умолчанию, и никаких дополнительных изменений не требуется.
Сегодня здесь представлена глава о развертывании! В будущем будет статья, знакомящая с Dlink, надеюсь, вы ее с нетерпением ждете~