Closed Nazarii-Melnyk closed 2 months ago
@Nazarii-Melnyk Чи можете скинути посилання на статтю або офіційну документацію, як це зробити за допомогою вихідного коду. Бо я вже сиджу над цим біля 2 годин, але час обмежений. Хочеться розібратись правильно. Я передивився ці сайти:
https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.7.8 https://www.clemlab.com/docs/1.2.2.0/setup-ambari/setup-ambari-server https://www.clemlab.com/docs/installation-01-ambari - цей взагалі не працює, хоч є в репозиторію
@YuriiBalandyuk Статті як покроково і якою точно командою це зробити самому немає, є лише проєкт. Перше посилання яке ви знайшли - Installation Guide for Ambari 2.7.8 - показує тільки те як будується оригінальний проєкт Apache Ambari і яким інструментом, але команди там не допоможуть вам збудувати проєкт від Clemlab.
У описі цієї картки я дав підказку - перегляньте файл Jenkinsfile
. Він застарілий, але в ньому ви зможете знайти приклад команди, якою Clemlab будують власний Ambari (і не тільки будують). Вам потрібно:
@Nazarii-Melnyk
Чи вірно я виконав завдання? Чи потрібно якимось іншим методом?
1) Я знайшов в Jenkinsfile стрічку mvn clean "-Dodp.release.number=${odpReleaseNumber}"
2) Виконав cd у директорію клонованого проєкту, там виконав команду mvn clean "-Dodp.release.number=270"
, вказавши як параметр 270, виходячи з того, що було вказано у Jenkinsfile.
3) У результаті отримав наступне:
Також можна спробувати зібрати Ambari Metrics, які пакети потрібно наведено в стрічці. Я спробую це після 20:00, бо зараз в мене виключили світло (17:00-20:00). Також чи вірно я розумію, що Clemlab використовує Maven інструмент для побудови проекту?
@VitaliiBalaiev
Чи не збентежило вас що побудова кожного підпроєкту відбулася за кілька секунд, при цьому де результат цієї побудови? Зверніться до документації Maven щоб дізнатись що робить плагін clean
.
Після побудови проєкту ви маєте отримати результат цієї побудови, в даному випадку вам необхідно отримати deb-пакет саме Ambari Server, який потім можна було б встановити.
@Nazarii-Melnyk Ви мабуть писали до Віталія, бо я не завантажував ще дослідження через виключення світла. Лише запитав чи вірно я розумію, що Clemlab використовує Maven інструмент для побудови проекту? Цікаво чи можна використати Gradle для побудови.
@Nazarii-Melnyk Ви мабуть писали до Віталія, бо я не завантажував ще дослідження через виключення світла. Лише запитав чи вірно я розумію, що Clemlab використовує Maven інструмент для побудови проекту? Цікаво чи можна використати Gradle для побудови.
@YuriiBalandyuk Так, вірно, вибачаюсь, не замітив що коментар вище писав саме Віталій.
Щодо інструменту то так, Ambari це проєкт який будується використовуючи Maven, а Gradle в свою чергу там взагалі не використовується. Я б хотів щоб ви розібралися поки як будується цей проєкт саме так, як це задумано розробниками (в іншому випадку вам доведеться міняти повністю всю реалізацію збірки щоб збудувати цей проєкт, і не факт що вам в результаті це вдасться)
@Nazarii-Melnyk
Підкажіть, як зробити, щоб Maven підтягував правильні параметри для <source>
i <target>
тегів у pom-файлах. Зараз він автоматично ставить 1.5, для компіляції потрібно 1.8, вручну потрібно буде дуже багато pom-файлів змінити. Я використовую OpenJDK 8.
@VitaliiBalaiev Можете переглянути цю статтю: https://www.baeldung.com/maven-arguments
Вона вам допоможе зрозуміти як передавати значення для аргументів у Maven. Як ви й сказали, необхідно передати цей параметр при білді і задати його значення 1.8
.
@Nazarii-Melnyk Дуже дякую, це допомогло вирішити проблему.
А що робити з простроченими сертифікатами bower? Прийдеться вручну міняти посилання на інше дзеркало?
Помилка в логах: [ERROR] bower ember-qunit-notifications#0.1.0 CERT_HAS_EXPIRED Request to https://registry.bower.io/packages/ember-qunit-notifications failed: certificate has expired
Попередньо я знайшов вирішення цієї проблеми у відповіді до цієї картки, це потрібно зробити для кожного .bowerrc файлу?
@VitaliiBalaiev Так, якщо нових проблем з цим дзеркалом не буде, то можете додати ці зміни для кожного файлу .bowerrc одним комітом. Єдине - зробіть це так, як ми вносили зміни сьогодні на зустрічі:
internship-2.7.9.0-python3
;P.S. Єдине лише цього разу - не використовуйте ключові слова у description до цього пул реквеста, щоб змерживши його він не закрив цієї карточки автоматично. Подумайте чому в даному випадку варто вчинити саме так і напишіть своє припущення.
@Nazarii-Melnyk З дзеркалами Bower розібрався, поки коміт та пул-реквест робити не буду, можливо ще десь треба буде змінити, буду дивитись по ходу білда і тоді все одним комітом зроблю, все що стосується Bower.
Поки наступна проблема:
При білді компоненту Ambari Metrics Collector 2.7.9.0.0 [22/51] така помилка:
Download HBase: [get] Getting: https://clemlabs.s3.eu-west-3.amazonaws.com/centos7/odp-release/1.2.1.0-110/tars/hbase/hbase-2.5.3.1.2.1.0-110-bin.tar.gz [get] To: /home/vitalii/IdeaProjects/clemlab-ambari/ambari-metrics/ambari-metrics-timelineservice/target/embedded/hbase.tar.gz [get] Error opening connection java.io.IOException: Server returned HTTP response code: 403 for URL: https://clemlabs.s3.eu-west-3.amazonaws.com/centos7/odp-release/1.2.1.0-110/tars/hbase/hbase-2.5.3.1.2.1.0-110-bin.tar.gz [get] Can't get https://clemlabs.s3.eu-west-3.amazonaws.com/centos7/odp-release/1.2.1.0-110/tars/hbase/hbase-2.5.3.1.2.1.0-110-bin.tar.gz to /home/vitalii/IdeaProjects/clemlab-ambari/ambari-metrics/ambari-metrics-timelineservice/target/embedded/hbase.tar.gz
Наскільки я розумію, помилка 403 - доступ до ресурсу заборонено, при підкачці HBase з серверів clemlabs. Якими будуть дії? Спробував використати проксі через налаштування Intellij IDEA - такий самий результат.
@VitaliiBalaiev Можливо, що деякі білди вони підчищають, тому завантажити артефакт якого фактично немає не вдається (це я думаю основна причина чому така помилка виникла). Спробуйте задати odp.release.number 138
, цей номер можна побачити на сторінці ODP Stack Repository, в документації Clemlab. Якщо проблема завантаження потрібних артефактів все ще залишаться, спробуйте номер 134
, з ним точно не повинно бути проблем.
@Nazarii-Melnyk
Ambari Metrics Collector 2.7.9.0.0 [22/51] знайшло лише на odp.release.number 134
, але при білді Ambari Metrics Grafana 2.7.9.0.0 [24/51] наступна помилка [get] Error opening connection java.io.FileNotFoundException: https://dl.grafana.com/oss/release/grafana-10.1.1.linux-x86_64.tar.gz
Знову не може підтягнути артефакт з серверу, в бразері також помилка Sorry, the requested url was not found
, це пов'язано з odp.releasenumber
? Можливо треба змінити інші параметри білду?
І ще питання про параметр -DbuildNumber
, поки я не помітив, щоб він робив якусь різницю, але потрібно вказувати хеш останнього коміту у форку clemlab-ambari в мейн гілці, чи хеш останнього коміту в нашому форку?
@Nazarii-Melnyk
Добрий вечір. З чим пов'язана ця помилка: Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.15.0:yarn (yarn install --pure-lockfile) on project files: Failed to run task: 'yarn --ignore-engines' failed. org.apache.commons.exec.ExecuteException: Process exited with an error: 128 (Exit value: 128) -> [Help 1]
@YuriiBalandyuk Привіт, це може бути проблема з залежностями, якщо я правильно пам'ятаю Віталію вдалось це вирішити, спробуй вирішити самостійно і якщо не вийде запитай у Віталія як в нього вдалось. Я ближчими днями, як сьогодні і вчора, більшість часу просто не буду доступний, зможу в разі чого детальніше глянути тільки в понеділок.
@VitaliiBalaiev Доброго вечора, ця помилка з завантаженням Grafana точно не пов'язана з параметром odp.release.number (це число просто не фігурує у адресі URL), схоже цей артефакт також якщо і був, то його або видалили або змінили URL. Пошукайте чи можна знайти перелік доступних артефактів для завантаження, вибрати або цю ж версію Grafana, або найближчу до цієї, і відповідно змінити URL для завантаження.
@VitaliiBalaiev Також щодо параметра buildNumber, пошукайте з використанням пошуку IDEA де цей параметр фігурує і спробуйте визначити для чого він використовується. У мене є підозра, що цей хеш записується як необов'язкові метадані, і навіть якщо не задавати цей параметр білд мав би відбутись без проблем.
Добрий вечір. З чим пов'язана ця помилка: Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.15.0:yarn (yarn install --pure-lockfile) on project files: Failed to run task: 'yarn --ignore-engines' failed. org.apache.commons.exec.ExecuteException: Process exited with an error: 128 (Exit value: 128) -> [Help 1]
@YuriiBalandyuk
Є кілька припущень, як це можна виправити:
1) Спробуй встановити Yarn, так як вказано у методі 1 за цим посиланням. Після цього прогнати білд ще раз.
2) Якщо не допомогло, можна спробувати почистити кеш Yarn наступними командами:
2.1 yarn cache clean
2.2 rm yarn.lock
2.3 rm -rf node_modules/
2.4 Після цього команда yarn
і ще раз прогнати білд.
3) Також 100% потрібно перевірити налаштування ssh у GitHub.
3.1 Як це перевірити: команда ssh -T git@github.com
у термінал, у відповідь буде приблизно наступна стрічка - > Hi USERNAME! You've successfully authenticated...
. Якщо щось інше - потрібно налаштовувати.
3.2 Як це налаштувати: шукай приблизно за таким запитом - Generate a New SSH Key and Add it to your GitHub
.
@Nazarii-Melnyk
В мене вийшло збілдити.
Про те, що прийшось скорегувати локально:
1) У 4 файлах .bowerrc
змінити дзеркало для свіжих сертифікатів.
2) У pom.xml
модуля ambari-metrics-grafana
змінив URL для коректного завантаження Grafana 10.1.1.
Якщо потрібно, то зміни у .bowerrc та pom.xml розділити як два окремих коміти і створити пул реквест з нової гілки?
@VitaliiBalaiev Чудово, створи нову гілку у картці, в якій внеси зміни і створи пул реквест. Щодо комітів то немає великої різниці чи робити багато малих, чи 1 великий, головне щоб у заголовку і, якщо потрібно, у тілі коміту було описано які зміни внесено
@Nazarii-Melnyk Добрий день. 48/51 виявилась ось така помилка:
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.3:testCompile (default-testCompile) on project ambari-infra-manager: Compilation failure: Compilation failure: [ERROR] error reading /home/yurii/.m2/repository/org/aspectj/aspectjweaver/1.8.1/aspectjweaver-1.8.1.jar; Invalid CEN header (invalid zip64 extra data field size)
Чи треба явно видалити пошкоджений файл і дати Maven знову його завантажити?
@YuriiBalandyuk Доброго дня, так, ви можете спробувати видалити його, можливо він завантажився некоректно. Напишіть також якою командою ви виконуєте білд і яка версія jdk у вас встановлена та використовується.
@Nazarii-Melnyk Ви напевно писали до Юрія?
@Nazarii-Melnyk Версія jdk - 1.8. Build виконую ось такою командою:
mvn package -Djdk.version=1.8 -Declipselink.version=2.7.11 -Dgrafana.tar=https://dl.grafana.com/oss/release/grafana-10.1.1.linux-amd64.tar.gz -DfailsafePlugin.version=3.3.0 -Dfailsafe-plugin.version=3.3.0 -B install package jdeb:jdeb "-Dmaven.clover.skip=true" "-DskipTests" "-Dstack.distribution=ODP" "-Drat.ignoreErrors=true" -Dpython.ver="python >= 2.6" -Dfindbugs.skip=true -DnewVersion=2.7.9.0.0 -DbuildNumber=866aff77594e227815f9137db18bb97d8b733a6d -Dviews -Prpm"-Dodp.release.number=138"
Я пішов шляхом по мінімуму вносити зміни в проєкт. Лише було замінено maven-failsafe-plugin з 2.20 -> 3.3.0
Також є запитання стосовно rpm в наступній стрічці -> -Prpm"-Dodp.release.number=138"
@YuriiBalandyuk -Prpm
та "-Podp.release.number=138"
це два різних параметри, тому розділіть їх. Також -Prpm
замініть на -Pdeb
, щоб збудувати саме deb-пакети (для Ubuntu).
Також уточнююче питання, чи не виникало проблем з номером білду 138? Наскільки я пам'ятаю Віталію не вдалось з даним номером збудувати проєкт.
@Nazarii-Melnyk Викидає warning, але дозволяє збудувати. Також я пробував 110, але також викидає warning.
@YuriiBalandyuk Добре, головне що вдалось збудувати.
Щодо попереджень, то варто розуміти чому система їх повертає і відповісти на питання "Чи є цей warning важливим, чи його можна ігнорувати? Якщо ігноруємо, то чому?" Спробуйте знайти в інтернеті інформацію про цей warning який повертає вам Maven і розібратися як відреагувати на нього (проігнорувати, чи спробувати внести правки, якщо можливо).
@Nazarii-Melnyk Я збудував підпроєкт Ambari Server, разом з тими проєктами, від яких він залежить
@VitaliiBalaiev Чудово. Спробуйте тепер встановити цей пакет і запустити Ambari Server, подивіться в документації чи потрібні додаткові налаштування перед запуском. Продовжуйте проходження курсу по Linux.
@Nazarii-Melnyk Я склав Ambari Server.
Я встановив пакунки Ambari Service.
@Nazarii-Melnyk Спробував запустити. При вводі команди: sudo systemctl enable ambari-server показало результат на рисунку вище. Коли спробував стартувати за допомогою команди sudo systemctl start ambari-server виявилась проблема. Проблема полягає в тому, що в конфігураційному файлі Ambari Server не вказане ім'я бази даних та пароль.
@YuriiBalandyuk Добре, запишіть якою командою ви збудували Ambari Server і продовжуйте проходити курс по Linux.
Щодо запуску, то перегляньте документацію Ambari та визначте яке початкове налаштування необхідно виконати перед запуском, яким чином його зробити.
@Nazarii-Melnyk Інсталював deb-пакет та всі додаткові. Зробив setup та start Ambari server. В консолі наступне повідомлення: При переході на localhost:8080 та логіні через admin:admin наступна картина: Потрібно ще щось налаштовувати чи завдання можна вважати виконаним?
@VitaliiBalaiev Так, все добре. Продовжуйте курс по Linux та можете переходити до ознайомлення із Docker.
@YuriiBalandyuk @VitaliiBalaiev Щодо цієї картки то все добре, єдине я ще хочу аби ви детально описали у своїх нотатках наступне:
Як тільки ви це опишете можна буде цю картку закривати як виконану.
@Nazarii-Melnyk Добрий день. В чому може бути проблема?
Ambari Server та Agent встановив:
Файл /etc/ambari-agent/conf/ambari-agent.ini
Ambari-server setup наступна: ambari-server setup -s -v --jdbc-db postgres --jdbc-driver /home/yurii/JDBC/postgresql-42.7.3.jar
Ambari agent запускав і він стартував: ambari-agent start Ambari server запускав так: ambari-server start
Hostname:
@Nazarii-Melnyk Та чи можна посилання на запис, бо мене викинуло і не хотіло більше впускати. Я перегляну на дозвіллі.
@YuriiBalandyuk На першому скріншоті помилка говорить про те що недостатньо прав доступу, виконайте команду від імені root. Як ми на зустрічі вже говорили, Ambari Agent не відноситься до Ambari Server, і щоб зайти на веб-інтерфейс Ambari вам достатньо тільки Ambari Server. (окремо почитайте навіщо необхідний Ambari Agent і як він взаємодіє з сервером).
В основному я думаю у вас Ambari має працювати, перевірте чи Ambari Server справді запущений і відкрийте localhost:8080.
Щодо запису то ви можете його знайти прикріпленим до самої зустрічі в календарі.
@Nazarii-Melnyk Та чи можна посилання на запис, бо мене викинуло і не хотіло більше впускати. Я перегляну на дозвіллі.
@YuriiBalandyuk На першому скріншоті помилка говорить про те що недостатньо прав доступу, виконайте команду від імені root. Як ми на зустрічі вже говорили, Ambari Agent не відноситься до Ambari Server, і щоб зайти на веб-інтерфейс Ambari вам достатньо тільки Ambari Server. (окремо почитайте навіщо необхідний Ambari Agent і як він взаємодіє з сервером).
В основному я думаю у вас Ambari має працювати, перевірте чи Ambari Server справді запущений і відкрийте localhost:8080.
Щодо запису то ви можете його знайти прикріпленим до самої зустрічі в календарі.
Я запускав через sudo su -, так само не стартував сервер
@Nazarii-Melnyk Він не стартує чомусь.
@YuriiBalandyuk Гляну як тільки матиму можливість. Прикріпіть також цей deb-пакет Ambari Server, який ви встановлювали, спробую у себе запустити.
@YuriiBalandyuk Гляну як тільки матиму можливість. Прикріпіть також цей deb-пакет Ambari Server, який ви встановлювали, спробую у себе запустити.
Все вдалось. Дякую.
@Nazarii-Melnyk Ambari Server has started.
Try to build Ambari Server from branch
internship-2.7.9.0-python3
.Tasks
the project)
Completion