По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Apache Cassandra — это популярное программное обеспечение базы данных NoSQL с открытым исходным кодом. Cassandra обеспечивает высокую доступность при обработке большого объема данных. Обычные реляционные базы данных не могут справиться с линейным масштабированием, бесшовным распределением данных и другими требованиями к большим данным так же эффективно, как Cassandra. Ряд крупных игроков в онлайн-индустрии используют Apache Cassandra, такие как Netflix, Apple, Uber и eBay. В этом руководстве мы расскажем как установить Apache Cassandra на Ubuntu Linux с необходимыми пакетами. ШАГ 1: Установите пакеты, необходимые для Apache Cassandra Прежде чем приступить к установке Cassandra в Ubuntu, убедитесь, что вы установили Java OpenJDK 8 и пакет api-transport-https. Если у вас уже установлены эти пакеты, вы можете перейти к шагу 2 руководства. Примечание. В качестве примеров мы использовали Ubuntu 20.04, но инструкции применимы и к другим версиям Ubuntu. Установите Java OpenJDK Apache Cassandra нуждается в OpenJDK 8 для работы в системе Ubuntu. Сначала обновите репозиторий пакетов: sudo apt update Когда процесс завершится, установите OpenJDK 8 с помощью следующей команды: sudo apt install openjdk-8-jdk -y Когда установка завершится, проверьте, успешно ли установлена Java, проверив версию Java: java -version На выходе должна быть показана версия Java. Вторая цифра (8) представляет версию Java. Установите пакет apt-transport-https Затем установите транспортный пакет APT. Вам необходимо добавить этот пакет в свою систему, чтобы разрешить доступ к репозиториям с использованием HTTPS. Введите эту команду: sudo apt install apt-transport-https В приведенном выше примере выделены последние два шага процесса установки apt-transport-https. ШАГ 2. Добавьте репозиторий Apache Cassandra и импортируйте ключ GPG Вам нужно добавить репозиторий Apache Cassandra и получить ключ GPG перед установкой базы данных. Введите команду ниже, чтобы добавить репозиторий Cassandra в список источников: sudo sh -c 'echo "deb http://www.apache.org/dist/cassandra/debian 40x main" > /etc/apt/sources.list.d/cassandra.list' Вывод возвращается к новой строке без сообщения. Последний крупный выпуск Cassandra на момент написания этой статьи — 4.0. Вот почему мы использовали 40 в команде. Чтобы установить более старую версию, например 3.9, замените 40x на 39x. Затем используйте команду wget, чтобы получить открытый ключ по указанному ниже URL-адресу: wget -q -O - https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add - Если вы правильно ввели команду и URL-адрес, на выходе выводится сообщение «ОК». Примечание: обратите внимание на регистр букв в URL-адресе выше. Вам нужно ввести правильный регистр и тире в конце команды. ШАГ 3: Установите Apache Cassandra Теперь вы готовы установить Cassandra на Ubuntu. Обновите список пакетов репозитория: sudo apt update Затем запустите команду установки: sudo apt install Cassandra В приведенном выше выводе показан последний раздел процедуры установки Cassandra в Ubuntu 20.04. Вывод должен выглядеть аналогично в более старых версиях Ubuntu. Примечание. После завершения установки служба Cassandra запускается автоматически. Также в процессе создается пользователь cassandra. Этот пользователь используется для запуска службы. Проверка установки Apache Cassandra Наконец, чтобы убедиться, что процесс установки Cassandra завершился правильно, проверьте состояние кластера: nodetool status Буквы UN в выводе сигнализируют о том, что кластер работает. Вы также можете проверить статус Cassandra, введя: sudo systemctl status cassandra Выход должен отображаться как active (running) зеленым цветом. Команды для запуска, остановки и перезапуска службы Cassandra Если по какой-либо причине после установки служба показывается неактивной, вы можете запустить ее вручную. Используйте следующую команду для запуска Cassandra: sudo systemctl start cassandra Еще раз проверьте статус услуги. Он должен измениться на активный. Чтобы перезапустить службу, используйте команду перезапуска: sudo systemctl restart cassandra Чтобы остановить службу Cassandra, введите: sudo systemctl stop cassandra Статус отображается как неактивный после использования команды остановки. Автоматически запускать службу Apache Cassandra при загрузке Когда вы выключаете или перезагружаете систему, служба Cassandra становится неактивной. Чтобы запустить Cassandra автоматически после загрузки, используйте следующую команду: sudo systemctl enable cassandra Теперь, если ваша система перезагрузится, служба Cassandra включается автоматически. ШАГ 4. Настройка Apache Cassandra Вы можете изменить настройки конфигурации Cassandra в зависимости от ваших требований. Конфигурации по умолчанию достаточно, если вы собираетесь использовать Cassandra на одной ноде. При использовании Cassandra в кластере вы можете настроить основные параметры с помощью файла cassandra.yaml. Мы рекомендуем создать резервную копию файла cassandra.yaml, если вы собираетесь его редактировать. Для этого используйте эту команду: sudo cp /etc/cassandra/cassandra.yaml /etc/cassandra/cassandra.yaml.backup Мы использовали каталог /etc/cassandra в качестве места назначения для резервной копии, но вы можете изменить путь по своему усмотрению. Переименовать кластер Apache Cassandra Используйте текстовый редактор по вашему выбору, чтобы открыть файл cassandra.yaml (мы будем использовать nano): sudo nano /etc/cassandra/cassandra.yaml Найдите строку, которая гласит cluster_name:. Имя по умолчанию — Test Cluster. Это первое изменение, которое вы хотите сделать, когда начнете работать с Cassandra. Если вы не хотите вносить дополнительные изменения, выйдите и сохраните файл. Добавить IP-адреса узлов Cassandra Еще одна вещь, которую вы должны добавить в cassandra.yaml, если вы используете кластер, — это IP-адрес каждого узла. Откройте файл конфигурации и в разделе seed _provider найдите запись seeds Добавьте IP-адрес каждого узла в вашем кластере. Разделите записи, используя запятую после каждого адреса. ШАГ 5. Протестируйте оболочку командной строки Cassandra Программный пакет Cassandra поставляется с инструментом командной строки (CLI). Этот инструмент использует язык запросов Cassandra - CQL для связи. Чтобы запустить новую оболочку, откройте терминал и введите: cqlsh Загружается оболочка, показывающая подключение к кластеру по умолчанию. Если вы изменили параметр cluster_name, он покажет тот, который вы определили в файле конфигурации. В приведенном выше примере показано подключение по умолчанию к локальному хосту. Итоги Следуя этим простым шагам, у вас должна быть работающая установка Cassandra в вашей системе Ubuntu. Кроме того, мы показали вам, как редактировать наиболее важные параметры в файле конфигурации Cassandra. Не забудьте сделать резервную копию файла conf на всякий случай, и вы можете начать использовать программное обеспечение базы данных Cassandra. Узнайте больше о том, как использовать Cassandra, в нашем руководстве о том, как создавать, удалять, изменять и очищать таблицы Cassandra.
img
Можете ли вы представить себе компанию, в которой никто бы не управлял IT-инфраструктурой и операциями? Скорее всего, нет. Вот здесь и начинается SRE (обеспечение надежности информационных систем) и DevOps (автоматизация сборки, настройки и развертывания ПО). В последние годы оба этих направления стали очень популярными в IT-среде, и их распространенность продолжает расти. Но все-таки, DevOps и SRE – это разные вещи или синонимы для одного и того же? Данная статья поможет во всем разобраться. Что такое DevOps? DevOps – это подход к разработке ПО. Ключевое отличие данной методологии заключается в том, что DevOps следует принципам Lean (бережливое производство) или Agile (гибкость). DevOps специализируется на постоянном развертывании ПО с частым выходом версий и автоматизированным подходом к разработке программ. DevOps-подход включает в себя набор норм и технологических приемов для быстрого выполнения запланированной работы. Под запланированной работой мы подразумеваем все – от разработки до тестирования и эксплуатации. DevOps преследует следующие цели: ускорение доставки продуктов на рынок; сокращение жизненного цикла разработки ПО; повышение отзывчивости к потребностям рынка. Так что же такое DevOps? DevOps – это объединение отделов разработки и эксплуатации для максимально быстрого и органичного развертывания кода. Данный подход основан на тесной коммуникации внутри команды в сочетании с высоким уровнем автоматизации. По правилам DevOps команда, пишущая код, отвечает также и за его обслуживание при эксплуатации. Иначе говоря, отделы разработки и эксплуатации, которые принято разделять, должны работать сообща над улучшением версий ПО. В чем преимущества DevOps? Во-первых, DevOps улучшает скорость доставки приложений. Это реализуется за счет создания небольших изменений и частого выхода новых версий. Таким образом, компании могут выводить продукты на рынок чаще. Обновления и исправления выполняются быстрее и проще, а стабильность ПО возрастает. Более того, вносить небольшие изменения гораздо проще, и такую систему легко вернуть к предыдущей версии. Еще один плюс: возможности доставки ПО у таких объединенных команд более безопасные. Что делает DevOps и как? DevOps – это отличный способ для создания культуры сотрудничества. Центральное место занимает команда, которая вместе работает над развертыванием кода в промышленную среду и его дальнейшим обслуживанием. То есть команда DevOps отвечает за написание кода, исправление ошибок и выполняет любые задачи, связанные с этим кодом. Процесс DevOps основан на 5 ключевых принципах: Устранение обособленности. Роль команды DevOps заключается в том, чтобы аккумулировать знания со стороны разработки и эксплуатации. Поощряется коммуникация, что помогает лучше разобраться в ситуации. Быстрое признание ошибок и прекращение. В процессе DevOps определяются методы минимизации риска, а одни и те же ошибки не делаются дважды. С помощью автоматизированного тестирования команда ищет ошибки на ранних стадиях цикла выхода ПО. Постепенное внесение изменений. Команда DevOps не внедряет крупные изменения в рабочие версии, а регулярно развертывает небольшие поэтапные доработки. Это позволяет лучше проверять изменения и устранять ошибки. Использование инструментов и автоматизации. Команда создает конвейер развертывания с помощью инструментов автоматизации. Тем самым повышается скорость и точность разработки, а также сводится к минимуму риск ошибок, допущенных человеком. Кроме того, сокращается объем ручной работы. Измерение всего. DevOps использует данные для измерения результата всех предпринятых действий. Чаще всего для оценки успеха используются 4 главных метрики: время внесения изменений, частота развертывания, время восстановления и частота отказов. Для эффективной работы команде DevOps необходимо использовать мощные инструменты. К ним относятся: системы управления версиями для всего кода (GitHub, GitLab и т.д.), инструменты непрерывной интеграции (Jenkins, Spinnaker и т.д.), инструменты автоматизации развертывания, инструменты автоматизации тестирования (Selenium и т.д.), а также инструменты управления инцидентами (PagerDuty, Opsgenie и т.д.) Что такое SRE? Концепция обеспечения надежности информационных систем (SRE - Site Reliability Engineering) появилась в 2003 году. Изначально она задумывалась как система для поддержки разработчиков, создающих крупномасштабные приложения. В наши дни SRE реализуется опытной командой экспертов, которая умеет применять методы проектирования при решении общих проблем, связанных с запуском систем в промышленную эксплуатацию. SRE – это как бы системный инженер, который отвечает еще и за эксплуатацию. Это сочетание работ по системным операциям с разработкой и проектированием ПО. В зоне ответственности таких сотрудников находится множество задач – от написания и создания кода до его доставки и поддержки в промышленной среде. Главная цель SRE – разработка сверхнадежных и быстро масштабируемых систем. Раньше проектировщиков ПО и сотрудников эксплуатационного отдела разделяли на 2 отдела с разными зонами ответственности. Такие отделы подходили к решению проблем с разных сторон. SRE выходит за рамки этого ограничения. Принцип сотрудничества, лежащий в основе этой методологии, пришелся по душе многим компаниям. В чем преимущества SRE? SRE значительно улучшает период работоспособности. Основной приоритет – поддержание платформы или сервиса в рабочем состоянии, несмотря ни на что. Задачами первостепенной важности являются: предотвращение аварий, минимизация рисков, надежность и запас мощности. Главная цель команды SRE – найти способы по предотвращению проблем, которые могли бы привести к простою. Это критически важно, особенно при сопровождении крупномасштабных систем. Еще одно преимущество SRE заключается в том, что данный подход помогает компаниям отойти от ручной работы в пользу автоматизации. Тем самым у разработчиков высвобождается больше времени на инновационные решения. Любые ошибки быстро и эффективно находятся и устраняются. Что делает SRE и как Роль SRE в компании предельно проста и понятна: команда следит за тем, чтобы платформа или сервис были доступны клиентам в любой момент и в любых обстоятельствах. Чем занимается SRE? SRE устраняет разобщенность команд немного иначе, чем DevOps. Она помогает разработчикам создавать более надежные системы, поскольку эти сотрудники занимаются не только разработкой, но и эксплуатацией программ. Следовательно, разработчики лучше понимают свои продукты и могут качественнее поддерживать системы в промышленной эксплуатации. Для улучшения системы SRE использует определенные метрики. Такая оценка надежности систем является решающим фактором, определяющим, попадет ли то или иное изменение в рабочую версию. Ключевые метрики SRE: SLO (цели уровня обслуживания), SLA (соглашение об уровне обслуживания) и SLI (количественная оценка работы сервиса). SRE решает вопросы, связанные с эскалацией запросов в поддержку. Кроме того, эта система всячески побуждает людей выявлять и сообщать об инцидентах. Команда SRE определяет и проверяет новый функционал с обновлениями, а также разрабатывает документацию по системе. В своей работе команда SRE пользуется такими системами, как Kubernetes (один из самых известных оркестраторов контейнеров), облачными платформами (Microsoft Azure, Amazon AWS и т.д.), инструментами планирования и управления проектами (JIRA, Pivotal Tracker), а также системами контроля версий (GitHub и т.д.). Чем отличаются SRE и DevOps? Если говорить абстрактно, что DevOps – это написание и развертывание кода, а SRE – это комплексный подход ко всему, поскольку при работе над системой команда примеряет на себя роль конечного пользователя. При работе над продуктом или приложение команда DevOps использует гибкий подход. Они быстро и качественно создают, тестируют и развертывают приложения. Команда SRE регулярно делится с командой разработчиков обратной связью. Их цель – эффективно использовать данные по эксплуатации и проектированию ПО (в основном, за счет автоматизации операционных задач) и, тем самым, ускорить доставку приложения. В то же время задача команды DevOps – сделать рабочие процессы более эффективными и автоматизированными. Цель SRE – создать слаженные операционные процессы с помощью методологий, которыми раньше пользовались только разработчики ПО. Основная задача SRE – сделать так, чтобы платформа или приложение были постоянно доступны клиентам. Для этого оцениваются потребности клиентов и анализируются метрики SLA, SLI и SLO. DevOps делает акцент на процессе в целом, и результатом должно стать успешное развертывание ПО. Ниже описаны дополнительные отличия между DevOps и SRE. Роль команды разработчиков DevOps объединяет навыки разработчиков и инженеров по эксплуатации ПО. SRE решает проблемы IT-операций с помощью инструментов и парадигмы разработчиков. Навыки Команда DevOps работает преимущественно с кодом. Они пишут код, тестируют его и выпускают в промышленную версию. Итогом их работы должна стать программа, которая поможет решить чью-то проблему. Кроме того, они настраивают и запускают сборочный конвейер. SRE-подход немного шире. Команда анализирует, почему что-то пошло не так. Они делают все, чтобы та или иная проблема не повторилась. Что общего в SRE и DevOps? Мы разобрали отличия между DevOps и SRE, но есть ли в них что-то общее? По правде говоря, SRE и DevOps между ними много общего, ведь оба подхода – это методологии, которые применяются для анализа промышленных версий и обеспечения того, чтобы управление эксплуатациями работало как нужно. Их общая цель – получить качественный результат для сложных распределенных систем. Оба направления делают акцент на людях, которые работают как единая команда с общей зоной ответственности. DevOps и SRE верят в то, что поддерживать все в рабочем состоянии – это задача каждого. Вовлеченность в процесс должна быть общей – от написания первоначального кода до сборки приложения, развертывания в промышленную версию и обслуживания. Проектировщики DevOps и SRE пишут и оптимизируют код до того, как развертывать его в рабочей среде. Подводя итог, можно сказать, что для достижения общей цели нужно сочетать DevOps и SRE.
img
Часто бывает, что на системе Linux произошла незапланированная или по неизвестным очевидным причинам, перезагрузка. Поиск и устранение первопричины может помочь предотвратить повторение таких проблем и избежать незапланированных простоев. Есть несколько способов выяснить, что вызвало перезагрузку. В этой статье мы обсудим эти способы и способы использования доступных утилит и журналов в системе Linux для устранения таких сценариев. Проверка времени перезагрузки Чтобы посмотреть, когда именно произошла перезагрузка системы можно воспользоваться командами who и last Проверка системных журналов Кроме того, можно сопоставить время перезагрузки, которую требуется диагностировать, с системными сообщениями. Для систем CentOS/RHEL журналы можно найти по адресу /var/log/messages, а для систем Ubuntu/Debian - по адресу /var/log/syslog. Для фильтрации или поиска конкретных данных можно использовать команду tail или любимый текстовый редактор. Как видно из приведенных ниже журналов, такие записи предполагают завершение работы или перезагрузку, инициированную администратором или пользователем root. Эти сообщения могут варьироваться в зависимости от типа ОС и способа запуска перезагрузки или завершения работы, но вы всегда найдете полезную информацию, просматривая системные журналы, хотя этого не всегда может быть достаточно, чтобы определить причину. Ниже приведена одна такая команда, которую можно использовать для фильтрации системных журналов: sudo grep -iv ': starting|kernel: .*: Power Button|watching system buttons|Stopped Cleaning Up|Started Crash recovery kernel' /var/log/messages /var/log/syslog /var/log/apcupsd* | grep -iw 'recover[a-z]*|power[a-z]*|shut[a-z ]*down|rsyslogd|ups' Зафиксированные события не всегда могут быть конкретными. Всегда отслеживайте события, которые дают признаки предупреждений или ошибок, которые могут привести к выключению или сбою системы. Проверка журнала auditd Для систем, использующих auditd – это отличное место для проверки различных событий с помощью инструмента ausearch. Используйте приведенную ниже команду для проверки последних двух записей из журналов аудита. $ sudo ausearch -i -m system_boot,system_shutdown | tail -4 Появится сообщение о двух последних остановках или перезагрузках. Если это сообщает о SYSTEM_SHUTDOWN, за которым следует SYSTEM_BOOT, все должно быть хорошо. Но, если он сообщает две строки SYSTEM_BOOT подряд или только одно сообщение SYSTEM_BOOT, то, скорее всего, система некорректно завершила работу. Вывод при нормальной работе должен быть примерно следующим: $ sudo ausearch -i -m system_boot,system_shutdown | tail -4 ---- type=SYSTEM_SHUTDOWN msg=audit(Saturday 13 February 2021 A.852:8) : pid=621 uid=root auid=unset ses=unset subj=system_u:system_r:init_t:s0 msg=' comm=systemd-update-utmp exe=/usr/lib/systemd/systemd-update-utmp hostname=? addr=? terminal=? res=success' ---- type=SYSTEM_BOOT msg=audit(Saturday 13 February 2021 A.368:8) : pid=622 uid=root auid=unset ses=unset subj=system_u:system_r:init_t:s0 msg=' comm=systemd-update-utmp exe=/usr/lib/systemd/systemd-update-utmp hostname=? addr=? terminal=? res=success' В приведенных ниже выходных данных перечислены два последовательных сообщения SYSTEM_BOOT, которые могут указывать на аварийное завершение работы, хотя результаты нужно скорректировать с данными системного журнала. $ sudo ausearch -i -m system_boot,system_shutdown | tail -4 ---- type=SYSTEM_BOOT msg=audit(Saturday 13 February 2021 A.852:8) : pid=621 uid=root auid=unset ses=unset subj=system_u:system_r:init_t:s0 msg=' comm=systemd-update-utmp exe=/usr/lib/systemd/systemd-update-utmp hostname=? addr=? terminal=? res=success' ---- type=SYSTEM_BOOT msg=audit(Saturday 13 February 2021 A.368:8) : pid=622 uid=root auid=unset ses=unset subj=system_u:system_r:init_t:s0 msg=' comm=systemd-update-utmp exe=/usr/lib/systemd/systemd-update-utmp hostname=? addr=? terminal=? res=success' Анализ журнала systemd Чтобы сохранить журнал системных логов на диске, необходимо иметь постоянный системный журнал, иначе логи будут очищаться при перезагрузке. Для этого можно либо внести изменения в /etc/systemd/journald.conf, либо создать каталог самостоятельно с помощью следующих команд: $ sudo mkdir /var/log/journal $ sudo systemd-tmpfiles --create --prefix /var/log/journal 2>/dev/null $ sudo systemctl -s SIGUSR1 kill systemd-journald После этого можно дополнительно перезагрузить систему для ввода нескольких записей перезагрузки в журнал, хотя это и не требуется. Приведенную ниже команда позволяет выводить список записанных событий о загрузке из журнала: $ journalctl --list-boots Вот его выходные данные на моем сервере: Как видно на рисунке, в системе есть несколько событий загрузки. Для дальнейшего анализа причины конкретной перезагрузки используйте: $ journalctl -b {num} –n Здесь {num} будет индексом, заданным в команде journalctl --list-boots в первом столбце. В приведенных выше выходных данных можно просмотреть сообщения, зарегистрированные в журнале, и отследить аномалии, если таковые имеются. Заключение Не всегда можно определить причину перезагрузки Linux с помощью одной команды или из одного файла журнала. Поэтому всегда удобно знать команды и журналы, которые фиксируют события, связанные с системой, и могут сократить время, необходимое для поиска первопричины. Приведенные выше примеры дают вам возможность начать поиск и устранение неисправностей. Используя комбинацию таких инструментов и журналов, вы можете быть уверены в том, что произошло и как перезагрузилась ваша система.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59