Не создается dag файл
Apache Airflow – простой и удобный batch-ориентированный инструмент для построения, планирования и мониторинга дата-пайплайнов. Ключевой его особенностью является то, что, используя Python-код и встроенные функциональные блоки, можно соединить множество различных технологий, использующихся в современном мире. Основная рабочая сущность Airflow – DAG – направленный ацикличный граф, в котором узлами являются задачи, а зависимости между задачами представлены направленными ребрами.
Те, кто использует Apache Airflow для оркестрации задач загрузки данных в хранилище, наверняка оценили гибкость, которую он предоставляет для решения шаблонных задач. Когда весь процесс разработки сводится к заполнению конфигурационного файла с описанием параметров DAGа и списком задач, которые должны выполняться. У нас в Леруа Мерлен такой подход успешно используется для создания задач по перекладыванию данных из raw-слоя в ods-слой хранилища. Поэтому было решено распространить его на задачи по заполнению витрин данных.
Основная сложность состояла в том, что единой методологии разработки витрин данных и процедур по их заполнению у нас пока нет. И каждый разработчик решал задачу, основываясь на своих личных предпочтениях и опыте. Это укладывается в один из основных корпоративных IT принципов - ”You build it – you run it”, который означает, что разработчик несет ответственность за свое решение и сам его поддерживает. Данный принцип хорош для быстрой проработки гипотез, но для однотипных вещей больше подходит стандартное решение.
Моя видеокарта больше не майнит Эфириум, что делать?
Если ваша видеокарта перестала справляться с майнингом Эфириума, выход всё равно есть. У других Ethash- монет — по типу CLO, ETP, PIRL и EXP — куда более ранняя эпоха, то есть их DAG-файл значительно меньше. Так что майнить эти монеты получится даже после того, как GPU не смогут майнить ETH и ETC.
Если у вас видеокарта Nvidia, вам будет немного легче, чем владельцам AMD-карт. Видеокарты от Nvidia обычно более гибкие и могут справляться с разными алгоритмами, а не только с Ethash. Хотя и устройства AMD с последней версией lolMiner выдают отличные результаты.
Интерфейс 2CryptoCalc
Выбрать подходящую прибыльную монету для майнинга на любой видеокарте поможет калькулятор 2CryptoCalc. Вдобавок он знает хешрейты разных GPU, то есть высчитает всё автоматически. Ravencoin, Zcoin и Bitcoin Gold — вот одни из самых выгодных и, соответственно, популярных монет для майнинга на видеокартах.
ПОДПИСЫВАЙТЕСЬ НА НАШ КАНАЛ В ТЕЛЕГРАМЕ, ЧТОБЫ БЫТЬ В КУРСЕ.
Когда мои видеокарты на 4 ГБ перестанут майнить Эфириум?
Даже если применить все перечисленные рекомендации, ваши видеокарты рано или поздно перестанут справляться с майнингом Ethereum и Ethereum Classic. Когда это произойдёт?
Мы предполагаем, что видеокарты на 4 ГБ перестанут майнить Ethash-монеты приблизительно на эпохе под номером 375. Естественно, с учётом конкретного оборудования и программного обеспечения это число может немного отличаться.
Для смены эпохи нужно 30 тысяч блоков, то есть эпоха 375 начнётся на блоке 11 250 000. Следить за нынешним номером блока можно на специальной странице. Вот ссылка для Эфириума, а вот — для ETC.
Нынешний блок в сети Эфириума
Сейчас сеть Эфириума на блоке 9 871 779. 11 250 000 — 9 781 779 = 1 378 221 (оставшихся блоков) 1 378 221 * 13 секунд = 17 916 873 секунды (среднее время блока в сети равно 13 секундам) 17 916 873 / 60 / 60 / 24 = 207 дней.
Если проделать те же вычисления для Ethereum Classic, который сейчас находится на высоте блока 10 187 286, получим 160 оставшихся дней на майнинг ETC на видеокартах с 4 ГБ.
Итог: видеокарты на 4 ГБ перестанут майнить Эфириум в январе 2021 года, а Ethereum Classic — в сентябре 2020 года.
Куда пойдем
Внедрение инструмента позволило существенно сократить время на разработку DAGов. Глубокое погружение в Apache Airflow больше не нужно, хотя почитать про макросы и расписание все-таки придется. Шаблон конфигурационного файла заполняется минут за 10-15. Время, затрачиваемое на ревью и деплой на прод, тоже сильно сократились. Однако здесь же и кроется основная зона для развития: сейчас ревью и деплой происходят в ручном режиме. Хочется обложить все это тестами и предоставить разработчику возможность самому отправлять свои DAGи на прод.
Задачи не выполняются? DAG не работает? Журналы не находятся? У нас были те же самые проблемы. Вот список распространенных ошибок и некоторые соответствующие исправления, которые следует учитывать при отладке развертывания Airflow.
Apache Airflow стал ведущим планировщиком задач с открытым исходным кодом практически для любого вида работы, от обучения модели машинного обучения до общей оркестровки ETL. Это невероятно гибкий инструмент, который, как мы можем сказать по опыту, поддерживает критически важные проекты как для стартапов из пяти человек, так и для команд из списка Fortune 50.
С учетом сказанного, тот самый инструмент, который многие считают мощным "чистым холстом", может быстро стать обоюдоострым мечом, если вы только начинаете. И, к сожалению, нет особенно огромного богатства ресурсов и лучших практик на шаг или два выше базовых основ Apache Airflow.
Стремясь максимально заполнить этот пробел, мы собрали некоторые из наиболее распространенных проблем, с которыми сталкивается почти каждый пользователь, независимо от того, насколько опытна и многочисленна его команда. Независимо от того, являетесь ли вы новичком в Airflow или опытным пользователем, ознакомьтесь с этим списком распространенных ошибок и некоторыми соответствующими исправлениями, которые следует учитывать.
5. Задачи выполняются, но становятся бутылочным горлышком
Если все выглядит так, как ожидалось, но вы обнаруживаете, что ваши задачи становятся бутылочным горлышком, мы рекомендуем внимательнее присмотреться к двум вещам: Ваши переменные Env и конфигурации, связанные с параллелизмом + ваши ресурсы Worker и Scheduler.
1. Проверьте свои переменные Env и связанные с параллелизмом (Concurrency) конфигурации
Какие именно эти значения должны быть установлены (и что может стать потенциальным узким местом), зависит от вашей настройки — например, вы запускаете несколько DAG одновременно или один DAG с сотнями одновременных задач? С учетом сказанного, их точная настройка, безусловно, может помочь решить проблемы с производительностью. Вот список того, что вы можете найти:
1. Параллелизм (параллелизм)
Это определяет, сколько экземпляров задач может активно выполняться параллельно (parallel) в нескольких DAG с учетом ресурсов, доступных в любой момент времени на уровне развертывания. Думайте об этом как о «максимально активных задачах в любом месте».
2. Concurrency DAG (dag_concurrency)
Это определяет, сколько экземпляров задач ваш планировщик может запланировать одновременно для каждой DAG. Думайте об этом как о «максимальном количестве задач, которые можно запланировать за один раз для каждой DAG».
3. Количество слотов задач без пула (Nonpooledtaskslotcount)
Когда пулы не используются, задачи запускаются в «пуле по умолчанию», размер которого определяется этим элементом конфигурации.
4. Максимальное количество активных запусков на DAG (maxactiverunsperdag)
Это говорит само за себя, но он определяет максимальное количество активных запусков DAG на DAG.
5. Concurrency воркеров (worker_concurrency)
Это определяет, сколько задач каждый воркер может запускать в любой момент времени. Например, CeleryExecutor по умолчанию будет одновременно выполнять не более 16 задач. Думайте об этом как о «Сколько задач каждый из моих воркеров может взять на себя в любой момент времени».
Важно отметить, что это количество, естественно, будет ограничено dagconcurrency. Если у вас есть 1 воркер и вы хотите, чтобы он соответствовал мощности вашего развертывания, workerconcurrency = parallelism .
6. Параллелизм (параллелизм)
- Не путать с приведенными выше настройками. «Параллелизм» здесь устанавливается на индивидуальном уровне DAG и определяет количество задач, которые могут выполняться одновременно в одном DAG. Это также может потребовать настройки, но это не будет работать, если оно определено как часть файла airflow.cfg .
Совет от профессионала: если вы рассматриваете возможность установить низкое число конфигураций параллелизма на уровне DAG или развертывания для защиты от ограничений скорости API, мы рекомендуем вместо этого использовать «пулы» — они позволят вам ограничить параллелизм на уровне задачи и выиграть t, ограничивать планирование или выполнение за пределами задач, которые в этом нуждаются.
2. Попробуйте увеличить масштаб планировщика или добавить воркера
Если задачи становятся узкими местами и все ваши конфигурации concurrency выглядят нормально, возможно, ваш Планировщик недостаточно мощный или ваше развертывание (deployment) может использовать другого воркера. Если вы используете Astronomer, мы обычно рекомендуем 5 AU в качестве минимума по умолчанию для Scheduler и 10 AU для ваших рабочих Celery, если они у вас есть.
Увеличите ли вы свои текущие ресурсы или добавите дополнительного работника, во многом зависит от вашего варианта использования, но мы обычно рекомендуем следующее:
- Если вы выполняете относительно большое количество легких задач в DAG и с относительно высокой частотой, вам, вероятно, лучше иметь 2 или 3 «легких» воркеров для распределения работы.
- Если вы выполняете меньше, но более тяжелые задачи с меньшей частотой, вам, вероятно, будет лучше с одним, но «более тяжелым» воркером, который может более эффективно выполнять эти задачи.
Для получения дополнительной информации о различиях между Executors ознакомьтесь с нашим Airflow Executors: Explained Guide.
Описание параметров
Общие параметры:
module_name – нужен для формирование DAG_ID;
pool – пул, в котором будут запущены задачи;
queue – очередь для задач;
owner – владелец DAGа;
postgres_conn_id – строка подключения к БД;
email – список емейлов для рассылки алертов;
tags – список тэгов для поиска DAGа в UI;
access_control: роль для управление DAGом;
schedule_interval – расписание для запуска DAGа;
start_date и catchup – параметры, управляющие глубиной истории загрузки. Airflow использует интервальный подход. Это означает, что временной период от start_date и до опциональной end_date (мы не используем) разбивается на интервалы, указанные в schedule_interval. Если catchup True, то запуск DAGА начнется от start_date, если False, то с текущего интервала;
schema_name – схема БД, в которой находится витрина;
task_list – список задач в DAGе.
Основные параметры задач:
task_name – соответствует task_id Airflow
task_type – тип задачи
task_schema_name - схема БД, в которой находится витрина, если схема отличается от общей
task_conn_id – строка подключения, если отличается от общей
procedure_name – процедура загрузки витрины
params – список параметров процедуры и их значений
task_depends_on – список задач, от которых зависит запуск данной задачи
priority_weight – приоритет данной задачи по отношению к другим задачам
task_concurrency - количество одновременно запущенных экземпляров задачи во всех запущенных экземплярах DAGа
Сейчас существует три типа задач(task_type):
1) Dummy – соответствует DummyOperator. Задача, которая ничего не выполняет и обычно служит начальной и конечной задачей, а также для разделения задач на блоки.
2) Обычная загрузка – соответствует PostgresOperator в Airflow
Вот так выглядит SQL-код, который генерит эта задача:
3) Множественная загрузка – много PostgresOperator(если нужно создать кучу однотипных задач, различающихся по одному параметру)
У этого типа есть свои специфические параметры:
task_multiply - может иметь 2 значения: "schema" или "params". Если указано schema", то значения из task_multiply_list добавляются в выражение SEARCH_PATH. Если "params", то значения из task_multiply_list добавляются в список параметров процедуры для параметра из списка params, у которого в значении указано 'task_multiply_list’
task_multiply_list - список значений для параметра, по которому будут создаваться однотипные задачи
В результате получается такой SQL-код.
А вот так проставляются зависимости между задачами:
Почему программа для майнинга не видит видеокарты
Настройки для Phoenix Miner
Phoenix Miner — один из самых надёжных и простых решений для майнинга Ethash-монет. Он в том числе включён в архив для быстрого старта майнинга. Пароль — 2miners.
У Phoenix Miner есть специальный параметр -rvram. Он устанавливает объём зарезервированной памяти, которая не может использоваться для майнинга. По умолчанию он составляет 384 МБ для Windows и всего 128 МБ для Linux. Здесь всё просто: чтобы продолжить майнить Ethereum на видеокартах с 4 ГБ, необходимо отключить это разделение памяти. Для этого устанавливаем -rvram на 1.
Добавление параметра rvram
Майнеры из чата майнинг-пула 2Miners также рекомендуют для видеокарт AMD на Windows поставить драйвер 20.4.2 и установить утилиту AMD-Compute-Switcher. При такой конфигурации майнинг идет без потери скорости.
Итог: добавьте -rvram 1 в ваш .bat-файл, для Windows установите драйвер 20.4.2 и AMD-Compute-Switcher.
Настройки для Claymore’s Miner
Ещё один популярный майнер для добычи Ethash-монет на видеокартах AMD и Nvidia — Claymore’s. У Claymore’s есть так называемый параметр -eres. Он заранее выделяет память видеокарты для определённого количества эпох.
Напомним, эпоха обозначает рост объёма DAG-файла. Увеличение показателя в Ethash-монетах происходит каждые 30 тысяч блоков, а сама процедура известна как “смена эпохи”.
Если eres установлен на 2, программное обеспечение выделит память видеокарты, достаточную для майнинга в нынешней и следующих двух эпохах. После этого нужно будет снова перераспределить память. Увы, для каждой процедуры выделения памяти требуется время. Поэтому видеокарты с большим объёмом памяти могут использовать высокие значения eres, чтобы его сэкономить. А вот для карт с небольшим объёмом памяти схема обратная: нужно устанавливать eres на 0, чтобы GPU не выделяла под майнинг больше памяти, чем необходимо в данный момент.
К сожалению, размер DAG-файла вырос настолько, что нам не удалось запустить Claymore’s майнер на Windows на 4GB картах ни при каких условиях, увы. Используйте только Linux и параметр -eres 0.
Итог: Claymore’s майнер на Windows для 4GB больше нельзя использовать, даже если применять хитрые настройки.
Как было
Тут стоит рассказать, как велась до этого разработка для загрузки витрин данных. Разработчик пишет процедуры загрузки в GreenPlum, разрабатывает DAGи для их запуска, после чего создает по шаблону новый репозиторий на GitHub, загружает код своих DAGов и добавляет свой репозиторий в основной проект Airflow в качестве сабмодуля. При таком подходе возникали следующие трудности:
Нужно погружение в Python и Apache Airflow;
На момент начала разработки релиз основного проекта происходил раз в неделю, поэтому, чтоб увидеть свои DAGи на проде Airflow, нужно было подождать;
Основной проект постепенно разрастался и начал притормаживать при деплое;
Разбросанным по разным репозиториям кодом DAGов, выполняющих однотипные задачи, сложно управлять;
Отсутствие единого подхода также влияло и на качество SQL-кода процедур. Часто можно было встретить сложную логику по управлению параметрами загрузки, которую легко можно было «перевесить» на Airflow.
Все вышеперечисленное привело нас к мысли, что пора брать ситуацию под свой контроль и заняться разработкой стандартного решения. Анализ существующих DAG-ов показал, что большинство из них очень простые, не содержат сложных зависимостей и состоят, в основном, из DummyOperator-ов и PostgresOperator-ов. Это и послужило отправной точкой для разработки нового инструмента, который, в свою очередь, должен был:
Уметь создавать DAG-и на основе конфигурационного файла в формате YAML, в которым бы были указаны основные параметры, как-то: дата старта, расписание, параметры подключения к БД, названия запускаемых процедур, их параметры и т. д. YAML файлы должны храниться внутри корпоративного сервиса по управлению метаданными, получить их содержимое можно через API;
Быть максимально простым, иметь понятную документацию, чтобы погружение не занимало много времени;
В то же время быть максимально гибким, уметь работать с максимально возможным количеством параметров настройки DAG-а в Airflow.
Измените конфигурацию майнинг-фермы
Если ваша майнинг-ферма состоит из разных видеокарт, у некоторых из них наверняка больше памяти, чем у остальных. Так вот, поместите эти более продвинутые карты с большим объёмом памяти в первый x16 PCIe слот — также известный как нулевой слот.
Например, если у вас шесть видеокарт с 4 ГБ памяти и две с 8 ГБ, пусть одна из “восьмёрок” будет GPU0, то есть поместить её в нулевой слот. Ниже — изображение материнской платы ASUS Z270-P.
ASUS Z270-P
Итог: установите в нулевой слот видеокарту на 8 или 16 ГБ.
Similar Topics
Проблема DAG файла на 4 гиговых
Почему то rx480 4гб перестали проглатывать даг файл на эфире начиная с 232 эпохи. Клей 12. Что не так то? :-)
Как работает DAG
кто шарит есть пара вопросов: даг обычно рисуют так: но откуда возникают эти ступеньки, почему новые узлы не могут ссылаться всегда на одни и те же старые типа как: родительские узлы же вроде выбираются не по входам транзакции, а случайно? а если узлы выбираются случайно, то как обеспечивается последовательность узлов так чтобы она соответствовала последовательности транзакций? точнее как предотвращается то, что куч
25 ноя 2020, 16:10 в Разработка
Ethereum Classic собирается снизить размер DAG файла
Итак, по инфе, которая гуляет сейчас в нэте (например тут - https://bytwork.com/news/etc-dag ), видимо рано списывать 4х гиговки, впрочем обещают даже возродить на 3 Гб картах копать ЕТЦ . Емнип, на форках 280е дают 12-14 ( почти как 390е на етх винде ) последняя живая 380х 24 Маха Если это правда, то конечно же хорошо (4ок еще достаточно "до победного" ), но не ломанется ли курс в плинтус староверного кефира, после реализации оного.
Британский стартап DAG Global намерен стать первым в стране банком для криптобизнеса
Британский стартап DAG Global во второй раз планирует подать заявку на получение банковской лицензии. Компания намеренна предоставлять банковские услуги криптовалютным компаниям. В Великобритании Управление по финансовому регулированию и надзору (FCA) и Управление пруденциального регулирования (PRA) с особой осторожностью относятся к связям банковской индустрии с криптовалютной индустрией. Хотя ни один регулятор не накладывал никаких ограничений на банки, все же регулярно выпуска
[GBYTE] Byteball | нoвый кoнсeнcуc нa DAG
Предыстория
есть два сервера Exchange 2013 в группе DAG. Работают, все норм
Внедрили еще два сервера Exchange 2019. Хотим понемногу мигрировать текущие ящики со старых серверов на новые.
Для этого пытаемся создать отдельную DAG на этих серверах, чтоб ы завести там базы данных и потом уже начать миграцию
Делаю все по инструкции с сайта MS.
1. Настраиваю сервер свидетель (Добавляю пользователя (Exchange Trusted Subsystem в группу локальных админов)
2. Создаю DAG
А далее все время происходит ошибка. Никак не могу добавить сервер в группу DAG
Сервер или не добавляется, или добавляется, но DAG нормально не функционирует. IP адрес не назначается.
Запустил тест кластера, пишет что сервер свидетель не настроен. Но на самом сервере свидетеле, пользователь в группу Админов добавлен. Каталоги и шары автоматически создаются.
Есть теория (так как лог почему-то пишется на старые серверы EX), что возможно проблема в том, что у нас разношерстные серверы и пока есть в сети серверы EX2013 мы не победим эту проблему. Но хотелось бы быть уверенным на 100500%. Потому что если я не смогу создать DAG после переноса ящиков и удаления старых серверов, будет очень нехорошо.
В общем нужен ваш совет.
UPD. Новые вводные данные.
Посредством ребута и какой-то матери, мне удалось добавить все серверы в DAG. Большее того, даже ошибок не было.
а вот дальше интереснее.
1. Если сделать запрос Get-MailboxDatabaseCopyStatus – то на базах в этом новом DAG стоит статус ContentIndexState – NotApplicable
2. Если зайти в оснастку кластера, то пишет что сервер свидетель не настроен.
Делали все по инструкции с сайта MS. На сервере свидетеле пользователь Exchange Trusted System добавлен в локальные админы. При создании кластера каталог свидетеля создался, шара есть.
Для понимания проблемы нужно окунуться в теорию. DAG — это большой файл, который необходим для майнинга Эфириума, Ethereum Classic и других монет на алгоритме Ethash. Он загружается в память видеокарт при каждом запуске майнера. Если у вас много GPU, все они делают это. В общем, без DAG майнинг на алгоритме Ethash работать не будет — это базовый принцип.
Размер DAG-файла постоянно увеличивается. Видеокарты с 2 ГБ памяти перестали справляться с майнингом Эфириума в конце 2016 года. Устройства на 3 ГБ сделали то же самое в конце 2020 года. И сейчас — в 2020 — с подобным начинают сталкиваться 4-гигабайтные видеокарты. Но не стоит переживать, из ситуации можно выйти.
Minergate Не Видит Видеокарту
Вопрос: В Minergate Не Могу Майнить На Видеокарте.
Вопрос: Помогите Проблема С Майнером (Я Новичок) Minergate Не Видит Видеокарту!! Видиокарта-Nvidia Geforce 550 Ti.
Ответ: Скрин (а лучше текст) ошибки в студию (с)
Вопрос: Как Заработать В Интернете?
Ответ: . как заработать в интернете: Парадоксальное Свечение Многополюсного Варианта Вписанной Фигуры. . Заработки в Интернете можно разделить на два типа. Это заработки на своем собственном проекте (сайте) и заработки на чужих проектах. I….
Как манить на видеокарте и на процессоре программой MinerGate.
Вопрос: Что Такое Майнинг. Увидел В Отзывах Про Видеокарту
Ответ: будешь деньги зарабатывать если видеокарта крутая если на месяц оставить комп врубленным то может быть пару сотен рубликов срубишь. Тока отдашь еще кучу бабла на электроэнергию ))))) если хочешь серьезно занятся вопросом то готовь тысяч…
Майнинг, материнка Z170, не видит видеокарту, простое решение
Вопрос: Можно Ли Заработать В Интернете?
Ответ: . Все заработки в Интернете можно достаточно чётко разделить на две большие категории: 1) заработок на чужих сайтах 2) заработок на своем собственном сайте. . I. Заработки на чужих сайтах бывают с вложением своих денег и без вложения…
Вопрос: Работа В Интернете, Пишите
Ответ: Заработать в Интернете можно двумя способами: или на чужих сайтах или на своем собственном сайте. I. Заработки на чужих сайтах бывают с вложением своих денег и без вложения своих денег 1. Если вложения денег не требуются, то требуется…
Вопрос: Ищу Работу В Интернете Украина Без Вложений
Ответ: Реальная работа в Интернете называется Фриланс. Это удаленная работа на заказчика. Вот Вам список всех русскоязычных бирж удаленной работы. Наверняка подыщите себе что-нибудь подходящее.
Вопрос: Где И Как Заработать Деньги В Интернете Без Вложений
Ответ: Как говорил Кот Матроскин, «Чтобы продать что-то ненужное, сначала нужно купить что-то ненужное». Прибыли без вложений не бывает.
Вопрос: Как Зарабатывать В Интернете Без Вложений.
Ответ: . как зарабатывать в интернете без вложений: Обожаемая Концентрация Шелковистости Северного Сияния. . Вы же умеете писать сочинения и изложения? Наверняка, умеете! А раз так, то подумайте про заработок с помощью копирайтинга и…
Вопрос: Где Заработать В Интернете Ежедневно?
Ответ: . Самая реальная работа в Интернете, это Фриланс. Фрилансом называется удаленная работа на заказчика. Заказчик на специальной бирже фриланса размещает информацию о том, какой специалист ему нужен, какую работу надо сделать, в какой срок…
1. Ваш DAG не работает в необходимое время
Вы написали новый DAG, который должен запускаться каждый час. Вы устанавливаете почасовой интервал, начинающийся сегодня в 14:00, и устанавливаете напоминание, чтобы проверить его через пару часов. Вы проверяете его в 15:30 и обнаруживаете, что хотя ваш DAG действительно работал, в ваших журналах указано, что существует только одна записанная дата выполнения на 14:00. А что происходило в 3 часа дня?
Прежде чем вы перейдете в режим debug (вы не будете первым), будьте уверены, что это вполне ожидаемое поведение. Функциональность планировщика Airflow немного противоречит здравому смыслу (и вызывает некоторые разногласия в сообществе Airflow), но вы освоитесь. Две вещи:
- По замыслу Airflow DAG будет выполняться по завершении своего schedule_interval .
Это означает, что один schedule_interval выполняется ПОСЛЕ даты начала. Например, ежечасный DAG выполнит свой запуск в 2 часа дня, когда часы пробьют 3 часа дня. Причина здесь в том, что Airflow не может гарантировать, что все данные, соответствующие интервалу 2 часа дня, присутствуют до конца этого часового интервала.
Это специфический аспект для Airflow, но важно помнить о нем, особенно если вы используете переменные и макросы по умолчанию. - Время в Airflow по умолчанию указано в формате UTC.
Это не должно вызывать удивления, учитывая, что остальные ваши базы данных и API, скорее всего, также придерживаются этого формата, но это стоит уточнить.
Не следует ожидать, что выполнение ваших DAG-файлов будет соответствовать вашему местному часовому поясу. Если вы находитесь в тихоокеанском времени США, запуск DAG с 19:00 будет соответствовать 12:00 по местному времени.
Начиная с версии 1.10, Airflow фактически учитывает часовой пояс, но мы по-прежнему рекомендуем сохранять ваши DAGи с расчетом на временные метки UTC для согласованности.
Как пользоваться MinerGate
Для начинающих пользователей это простой вариант добычи монет. Майнергейт, как пользоваться сервисом, рассмотрим пошагово.
1. Пройти несложную процедуру регистрации на сайте.
2. Ознакомиться с функционалом майнер гате.
3. Установить программу.
4. Определиться с монетами.
5. Настроить майнер.
Выполнив все условия для начала работы, пользователь получает цифровые деньги через 10-15 минут. Добывают цифры с помощью CPU (центральный процессор) и GPU (видеокарта). Сочетание двух способов на нескольких компьютерах даёт значительную прибыль.
Например, Монеро выгодно добывать на ЦП и видеокарте, Ethereum (эфир) — на видеокартах с памятью не менее 4 гигабайт.
2. Одна из ваших DAG не работает
Если рабочие процессы в вашем развертывании обычно выполняются без сбоев, но вы обнаруживаете, что один конкретный DAG не планирует задачи и не запускается вообще, это может иметь какое-то отношение к тому, как вы настроили ее для расписания.
Убедитесь, что у вас нет
datetime.now()
в значении переменой start_date .
Интуитивно понятно, что если вы скажете своему DAGу начать работу сейчас , она выполнится сейчас . НО, это не учитывает, как сам Airflow фактически читает datetime.now() .
Для выполнения DAG start_date должен быть временем в прошлом, иначе Airflow будет считать, что он еще не готов к выполнению. Когда Airflow оценивает ваш DAG, он интерпретирует datetime.now() как текущую метку времени (т.е. НЕ время в прошлом) и решает, что он не готов к запуску. Поскольку это будет происходить каждый раз, когда пульс Airflow будет оценивать ваш DAG каждые 5-10 секунд, он никогда не запустится.
Чтобы правильно запустить DAG, обязательно ставьте фиксированное время в прошлом (например, datetime(2019,1,1) ) и установите catchup=False (если вы не хотите запускать обратную засыпку).
Примечание. Вы можете вручную запустить DAG через пользовательский интерфейс Airflow прямо на панели управления (она выглядит как кнопка Play ). Ручной триггер выполняется немедленно и не прерывает регулярное планирование, хотя он будет ограничен любыми конфигурациями параллелизма, которые у вас есть на уровне DAG, уровне развертывания или уровне задачи. Когда вы посмотрите соответствующие журналы, run_id покажет manual__ вместо scheduled__ .
Fallout 4 не видит видеокарту
Система устарела, и настройки каждый раз слетают при запуске? Интегрированная видеокарта не видна и все заканчивается ошибкой? Время разобраться в проблеме!
Системные неполадки
Fallout 4 не определяет видеокарту в автоматическом режиме? В настройках все на минимум, хотя с системой все в порядке? Скорее всего, игра не способна различать интегрированную и дискретную видеокарты (частая проблема на игровых ноутбуках). Результат печальный – низкий FPS, графические неполадки, вылеты и прекращение стабильной работы. Проблема решается несколькими способами:
1. Fallout 4 не видит видеокарту из-за старых драйверов. Поэтому не стоит медлить – сразу на официальные ресурсы, посвященные AMD и NVIDIA. Обновится лучше до стабильных версий, разнообразные бета-драйвера могут лишь усугубить ситуацию. Отличное решение установить программы поддержки, вроде AMDCatalyst или NVIDIAGeForceExperience – специальные настройки, быстрый доступ к файлам обновления, подсказки по оптимизации и производительности.
2. Если Fallout 4 не может определить модель видеокарты, то придется все настраивать вручную: — В корневой папке Fallout 4 (можно воспользоваться поиском) необходимо отредактировать файл Fallout4Prefs.ini. А именно параметр sD3DDevice — Вписать придется оригинальные данные. К примеру, sD3DDevice=”NVIDIAGeForceGTX 960”. — Изменения сохранить, игру перезапустить.
4. Fallout 4 не видит видеокарту AMDRadeon? Последний вариант – неустановленные файлы DirectX версии 9.0. Проблема частая, и непонятно по какой причине возникшая, но если файлы обновить, то исчезнут и проблемы со звуком, и даже вылеты прекратятся, необычно!
4. Задачи тасков периодически не работают
Это подводит нас к общей передовой практике, которую мы начали применять.
Будьте осторожны при использовании Sensors
Если вы используете Airflow 1.10.1 или более раннюю версию, датчики работают непрерывно и постоянно занимают слот для задач, пока не найдут то, что ищут, поэтому они имеют тенденцию вызывать проблемы с параллелизмом. Если у вас действительно никогда не бывает более нескольких задач, выполняемых одновременно, мы рекомендуем избегать их, если вы не знаете, что они не займут слишком много времени для выхода.
Например, если работник может одновременно запускать только X задач, а у вас работает три датчика (sensors?), то вы сможете запускать только X-3 задачи в любой заданный момент. Имейте в виду, что если вы постоянно используете датчик (sensors?), это ограничивает то, как и когда может произойти перезапуск планировщика (иначе датчик (sensors?) выйдет из строя).
В зависимости от вашего варианта использования мы предлагаем рассмотреть следующее:
Создайте DAG, который запускается с более частым интервалом.
Возможно, что задан тычок — и пропускает последующие задачи, если файл не найден.
2. Триггер лямбда-функции
Примечание: новая функция датчика Airflow v1.10.2 mode = reschedule решает эту проблему. Если у вас больше датчиков, чем рабочих слотов, датчик теперь будет переведен в новое состояние up_for_reschedule , что разблокирует рабочий слот.
Перейдите с Windows на Linux
Windows требует больше памяти видеокарт, чем Linux — это факт. Если вы хотите и дальше использовать GPU на 4 ГБ, выбор операционной системы будет предельно важен. К слову, Phoenix и Claymore’s доступны для Linux.
Мы рекомендуем использовать один из специальных дистрибутивов Linux по типу HiveOS или SimpleMining OS. У них простой в использовании интерфейс для майнинга. Вдобавок у HiveOS есть предварительно настроенные файлы для всех пулов 2Miners, также известные как “полётные листы”. С ним процесс подготовки к майнингу будет ещё проще.
Интерфейс HiveOS
Итог: используйте Linux.
Что есть
Получился примерно вот следующий шаблон для конфигурационного файла:
Из которого создается вот такой DAG:
3. Вы видите ошибку 503 при развертывании
Если вы переходите к развертыванию Airflow только для того, чтобы понять, что ваш экземпляр полностью недоступен через веб-браузер, скорее всего, это как-то связано с вашим веб-сервером.
Если вы уже обновили страницу один или два раза и продолжаете видеть ошибку 503, прочтите ниже некоторые рекомендации, связанные с веб-сервером.
Ваш веб-сервер может дать сбой
Ошибка 503 обычно указывает на проблему веб-сервера (или проблему deployment в kubernetes), основным компонентом Airflow, отвечающим за отображение состояния задачи и журналов выполнения задач в интерфейсе Airflow. Если по какой-либо причине у него недостаточно мощности или иным образом возникла проблема, это может повлиять на время загрузки пользовательского интерфейса или доступность веб-браузера.
По нашему опыту, ошибка 503 часто указывает на то, что ваш веб-сервер дает сбой (например, в Astronomer в kubernetes это называется состоянием CrashLoopBackOff ). Если вы запускаете deployment в kubernetes, и вашему веб-серверу по какой-либо причине требуется больше нескольких секунд для запуска, он может не достичь периода ожидания (10 секунд по умолчанию), в котором он вылетит, прежде чем он успеет развернуться. Это вызывает повторную попытку, которая снова дает сбой и так далее.
Если ваше deployment находится в этом состоянии, возможно, ваш веб-сервер достигает предела памяти при загрузке ваших DAG (даже если ваши рабочие и планировщик продолжают выполнять задачи, как ожидалось).
Несколько замечаний
Вы пытались увеличить ресурсы своего веб-сервера?
Airflow 1.10 немного жаднее, чем Airflow 1.9, в отношении ЦП (использования памяти), поэтому мы видели недавний всплеск количества пользователей, сообщающих о 503-х ошибках. Помогает быстрое увеличение ресурсов, выделенных вашему веб-серверу.
Если вы используете Astronomer, мы рекомендуем поддерживать размер веб-сервера на отметке минимум 5 AU (Astronomer Units).
Как насчет увеличения периода ожидания веб-сервера?
Если увеличение ресурсов веб-сервера кажется неэффективным (не сходите с ума), вы можете попробовать увеличить web_server_master_timeout или web_server_worker_timeout .
Повышение этих значений укажет вашему веб-серверу Airflow подождать немного дольше для загрузки, прежде чем он покажет вам 503 ошибку (тайм-аут). Вы все равно можете пробовать медленную загрузку, если deployment на самом деле недостаточно мощно, но вы, вероятно, избежите попадания в 503.
Вы делаете запросы вне оператора?
Если вы выполняете вызовы API, запросы JSON или запросы к базе данных за пределами оператора с высокой частотой, вероятность тайм-аута вашего веб-сервера гораздо выше.
Когда Airflow интерпретирует файл для поиска любых допустимых DAG, он сначала немедленно запускает весь код на верхнем уровне (то есть вне операторов). Даже если сам оператор выполняется только во время выполнения, все, что вызывается вне оператора, вызывается при каждом такте, что может быть довольно утомительным.
Мы бы порекомендовали взять логику, которую вы в настоящее время выполняете вне оператора, и по возможности переместить ее внутрь оператора Python.
Войти
Уже есть аккаунт? Войти в систему.
Последние посетители 0 пользователей онлайн
6. У вас отсутствуют журналы
Вообще говоря, журналы не отображаются из-за процесса, который умер на одном из ваших рабочих процессов.
Вы можете увидеть что-то вроде следующего:
Несколько действий, которые стоит попробовать:
Повторите (удалите) задачу, если это возможно, чтобы увидеть, появляются ли журналы.
Это очистит / сбросит задачи и предложит снова их запустить
Измените log_fetch_timeout_sec на значение более 5 секунд (по умолчанию).
Это количество времени (в секундах), в течение которого веб-сервер будет ожидать начального рукопожатия (handshake) при получении журналов от других воркеров.
Дайте вашим воркерам немного больше прав
Если вы используете Astronomer, вы можете сделать это на вкладке Configure пользовательского интерфейса Astronomer.
Вы ищете журнал, сделанный более 15 дней назад?
Если вы используете Astronomer, период хранения журнала — это переменная среды, которую мы жестко запрограммировали на нашей платформе. На данный момент у вас не будет доступа к журналам, которым более 15 дней.
Вы можете выполнить команду в одном из своих воркеров Celery, чтобы найти там файлы журнала.
Эта функция предназначена только для корпоративных клиентов или людей, использующих Kubernetes.
После настройки Kubectl можно запустить: kubectl exec -it bash
Файлы журнала должны быть в ~/logs . Оттуда они будут разделены на DAG/TASK/RUN .
Задачи медленно планируются или вообще перестали планироваться.
Если ваши задачи выполняются медленнее, чем обычно, вы захотите проверить, как часто вы устанавливаете свой планировщик для перезапуска. К сожалению, у Airflow есть хорошо известная проблема, из-за которой производительность планировщика со временем ухудшается и требуется быстрый перезапуск для обеспечения оптимальной производительности.
Если вы используете Astronomer, вы можете перезапустить планировщик следующим образом:
- Вставьте AIRFLOW__SCHEDULER__RUN_DURATION= в качестве переменной среды на странице настройки пользовательского интерфейса Astronomer для установки повторяющегося перезапуска ИЛИ
- Запустите astro airflow deploy через интерфейс командной строки для немедленного перезапуска всего (если вы используете Celery, вы можете воспользоваться периодом отсрочки прекращения воркера, который вы можете использовать здесь, чтобы свести к минимуму существующие немедленные сбои в выполнении задач)
Этот список основан на нашем опыте оказания помощи клиентам Astronomer в решении основных проблем с Airflow, но мы хотим услышать ваше мнение. Не стесняйтесь обращаться к нам по адресу people@astronomer.io, если мы пропустили что-то, что, по вашему мнению, было бы полезно включить.
Если у вас есть дополнительные вопросы или вы ищете поддержку Airflow от нашей команды, свяжитесь с нами здесь.
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Читайте также: