По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Apache Maven - это инструмент управления проектами и автоматизации сборки с открытым исходным кодом, основанный на концепции объектной модели проекта (POM – Project Object Model), которая в основном используется для развертывания приложений на основе Java, но также может использоваться в проектах, написанных на C#, Ruby и другиех языках программирования.
В этой статье мы объясним, как установить и настроить последнюю версию Apache Maven в системе CentOS 7 (данная инструкция также работает с дистрибутивом RHEL и Fedora).
Требования:
Недавно развернутый или существующий экземпляр сервера CentOS 7.
Java Development Kit (JDK) - Maven 3.3+ требует JDK 1.7 или выше для выполнения.
Установка OpenJDK 8 в CentOS 7
Java Development Kit (JDK) является основным требованием для установки Apache Maven, поэтому сначала установите Java в системе CentOS 7 из репозитория по умолчанию и проверьте версию с помощью следующих команд.
# yum install -y java-1.8.0-openjdk-devel
# java -version
Если установка прошла успешно то, вы увидите следующий вывод.
openjdk version "1.8.0_141"
OpenJDK Runtime Environment (build 1.8.0_141-b16)
OpenJDK 64-Bit Server VM (build 25.141-b16, mixed mode)
Установка Apache Maven в CentOS 7
Далее перейдите на официальную страницу загрузки Apache Maven и загрузите последнюю версию или используйте следующую команду wget, чтобы загрузить ее в домашний каталог maven ‘/usr/local/src’.
# cd /usr/local/src
# wget http://www-us.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
Настройка среды Apache Maven
Теперь нам нужно сконфигурировать переменные окружения для предварительно скомпилированных файлов Apache Maven в нашей системе, создав файл конфигурации «maven.sh» в каталоге «/etc/profile.d» .
# cd /etc/profile.d/
# vim maven.sh
Добавьте следующую конфигурацию в файл конфигурации «maven.sh».
# Apache Maven Environment Variables
# MAVEN_HOME for Maven 1 - M2_HOME for Maven 2
export M2_HOME=/usr/local/src/apache-maven
export PATH=${M2_HOME}/bin:${PATH}
Теперь сделайте конфигурационный файл «maven.sh» исполняемым, а затем загрузите конфигурацию, выполнив команду «source» .
# chmod +x maven.sh
# source /etc/profile.d/maven.sh
Проверка версии Apache Maven
Чтобы проверить установку Apache Maven, выполните следующую команду.
# mvn --version
И вы должны получить вывод, похожий на следующий:
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T19:33:14+01:00)
Maven home: /usr/local/src/apache-maven
Java version: 9.0.4, vendor: Oracle Corporation, runtime: /opt/java/jdk-9.0.4
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.17.6-1.el7.elrepo.x86_64", arch: "amd64", family: "unix"
Вот и все! Вы успешно установили Apache Maven 3.5.4 в вашей системе CentOS 7.
Это клише, но это правда - перезапуск сервера Linux решает множество проблем.
Когда система перезагружается, все неисправное программное обеспечение удаляется из активной памяти. Когда система перезагружается, она загружает новую чистую копию программного обеспечения в активную память. Кроме того, некоторые операционные системы требуют перезагрузки для обработки обновлений или изменений конфигурации.
Шаги по перезагрузке Linux с помощью командной строки
Перезапуск локальной операционной системы Linux
Шаг 1: откройте окно терминала
Если в вашей версии Linux используется графический интерфейс, вы можете открыть окно терминала, щелкнув правой кнопкой мыши на рабочем столе и выбрав пункт Open in terminal (Открыть в терминале).
Вы также можете щелкнуть главное меню (обычно находится в нижнем левом или верхнем левом углу) и ввести terminal в строке поиска. Щелкните значок терминала, как показано на рисунке ниже.
Шаг 2. Используйте команду выключения
Поскольку отключение питания - одна из самых основных функций операционной системы, эта команда должна работать для большинства дистрибутивов Linux.
В окне терминала введите следующее:
sudo shutdown –r
Команда sudo указывает Linux запустить команду от имени администратора, поэтому вам может потребоваться ввести свой пароль. Ключ –r в конце указывает, что вы хотите перезапустить машину.
Альтернативный вариант: перезагрузить Linux с помощью команды reboot
В терминале введите:
reboot
Многие версии Linux не требуют прав администратора для перезагрузки. Если вы получили сообщение о том, что у вас недостаточно прав, введите:
sudo reboot
Ваша система должна закрыть все открытые приложения и перезагрузиться.
Перезагрузить удаленный сервер Linux
Шаг 1. Откройте командную строку
Если у вас есть графический интерфейс, откройте терминал щелкнув правой кнопкой мыши на рабочем столе и выбрав пункт Open in terminal (Открыть в терминале), либо можете щелкнуть главное меню (обычно находится в нижнем левом или верхнем левом углу) и ввести terminal в строке поиска.
Если вы предпочитаете использовать сочетание клавиш, нажмите Ctrl + Alt + T./p>
Шаг 2: используйте команду перезагрузки проблемы подключения SSH
В программно-конфигурируемой сети (SDN) происходит разделение плоскости передачи и управления данными, позволяющее осуществить программное управление плоскостью передачи, которое может быть физически или логически отделено от аппаратных коммутаторов и маршрутизаторов. Подобный подход дает большое количество плюсов:
Возможность видеть топологию всей сети;
Возможность конфигурации всей сети в целом, а не отдельных единиц оборудования;
Возможность производить независимое обновление оборудования в сети;
Возможность контролировать всей сети из высокоуровневого приложения.
SDN сети
То есть, основное отличие программно-конфигурируемых сетей - делегация задачи вычисления маршрутов контроллеру (плоскость управления) и оставить функцию передачи пакетов (плоскость передачи данных) на отдельных устройствах (коммутаторы OpenFlow) , что снизит нагрузку на маршрутизатор и увеличит его производительность.
Для оценки функциональности SDN-сети с элементами NFV можно использовать два основных подхода, со своими достоинствами и недостатками:
Метод
Достоинства
Недостатки
Эмуляция
Высокая точность, возможность использования настоящего ПО
Возможная несовместимость конфигурации с реальным оборудованием
Построение сети на реальном оборудовании
Высокая точность результатов
Высокая стоимость
С началом развития в сфере SDN-сетей появилось два эмулятора SDN-сетей, которые в добавок поддерживают симуляцию (возможность тестирования сети, часть оборудования в которой реальна и часть - эмулирована).
Рассмотрим эмуляторы подробнее.
Mininet
Эмулятор, находящийся в свободном доступе, большая часть которого написана на языке Python. Работает с “легковесной” виртуализацией, то есть вся эмулируемая сеть реальна, в том числе и конечные виртуальные машины. Есть возможность подключения любых виртуальных коммутаторов и контроллеров.
Достоинства
Недостатки
Открытый код, бесплатность, быстродействие, поддержка всех контроллеров SDN и протоколов OpenFlow вплоть до 1.3, большое количество обучающих видео
Высокая сложность, необходимо знание Python и Linux, отсутствие полноценного графического интерфейса
Estinet
Эмулятор, все права на который имеет компания Estinet, но для студентов и всех желающих попробовать есть свободный доступ на месяц. Есть удобный графический интерфейс для построения топологии сети, редакции свойств оборудования и запуска эмуляции.
Достоинства
Недостатки
Наглядность, простота настройки и установки, возможность эмуляции LTE и Wi-Fi сетей
Закрытость, малое количество обучающих статей и видео, низкая производительность работы, более высокая сложность настройки при использовании не встроенного контроллера
Ниже приведена часть программного кода на языке Python для построения сети в эмуляторе Mininet:
# Инициализация топологии
Topo.__init__( self, **opts )
# Добавление узлов, первые - коммутаторы
S1 = self.addSwitch( 's0' )
S2 = self.addSwitch( 's1' )
S3 = self.addSwitch( 's2' )
S4 = self.addSwitch( 's3' )
S5 = self.addSwitch( 's4' )
S6 = self.addSwitch( 's5' )
S7 = self.addSwitch( 's6' )
S8 = self.addSwitch( 's7' )
S9 = self.addSwitch( 's8' )
S10= self.addSwitch( 's9' )
S11= self.addSwitch( 's10')
# Далее - рабочие станции(виртуальные машины)
H1= self.addHost( 'h0' )
H2 = self.addHost( 'h1' )
H3 = self.addHost( 'h2' )
H4 = self.addHost( 'h3' )
H6 = self.addHost( 'h5' )
H7 = self.addHost( 'h6' )
H8 = self.addHost( 'h7' )
H9 = self.addHost( 'h8' )
H10 = self.addHost( 'h9' )
H11 = self.addHost( 'h10' )
# Добавление каналов связи между коммутатором и рабочей станцией
self.addLink( S1 , H1 )
self.addLink( S2 , H2 )
self.addLink( S3 , H3 )
self.addLink( S4 , H4 )
self.addLink( S7 , H7 )
self.addLink( S8 , H8)
self.addLink( S9 , H9)
self.addLink( S10 , H10)
self.addLink( S11 , H11)
# Добавление каналов связи между коммутаторами
self.addLink( S1 , S2, bw=1, delay='0.806374975652ms')
self.addLink( S1 , S3, bw=1, delay='0.605826192092ms')
self.addLink( S2 , S11, bw=1000, delay='1.362717203ms')
self.addLink( S3 , S10, bw=1000, delay='0.557936322ms')
self.addLink( S4 , S5, bw=1000, delay='1.288738ms')
self.addLink( S4 , S7, bw=1000, delay='1.1116865ms')
self.addLink( S5 , S6, bw=1000, delay='0.590828707ms')
self.addLink( S5 , S7, bw=1000, delay='0.9982281ms')
self.addLink( S6 , S10, bw=1000, delay='1.203263ms')
self.addLink( S7 , S8, bw=1000, delay='0.2233403ms')
self.addLink( S8 , S9, bw=1000, delay='1.71322726ms')
self.addLink( S8 , S11, bw=1000, delay='0.2409477ms')
self.addLink( S9 , S10, bw=1000, delay='1.343440256ms')
self.addLink( S10 , S11, bw=1000, delay='0.544934977ms')
Сравнение контроллеров для построения сети
В данный момент, существует большое количество платных и бесплатных(открытых) контроллеров. Все нижеперечисленные можно скачать и установить на домашнюю систему или виртуальную машину. Рассмотрим самые популярные открытые контроллеры и их плюсы и минусы:
NOX - один из первых контроллеров, написан на языке C++;
POX - контроллер, похожий на NOX и написанный на языке Python;
OpenDayLight- контроллер, поддерживаемый многими корпорациями, написан на языке Java и постоянно развивающийся;
RunOS- российская разработка от Центра Прикладного Исследования Компьютерных Сетей (ЦПИКС), имеет графический интерфейс, подробную документацию и заявлена самая высокая производительность.
В таблице ниже рассмотрим плюсы и минусы каждого из контроллеров:
Название контроллера
Достоинства
Недостатки
NOX
Скорость работы
Низкое количество документации, необходимость знания C++
POX
Проще обучиться, много документации
Низкая скорость работы, необходимость знания Python, сложная реализация совместимости с NFV
OpenDayLight
Наличие графического интерфейса, поддержка VTN-сетей(NFV), наличие коммерческих продуктов на базе данного контроллера(Cisco XNC)
Сложность в использовании, сложная установка
RunOS
Высокая производительность, Российская разработка, Открытый код, Наличие графического интерфейса
Ранняя версия, возможные проблемы в эксплуатации по причине сырости продукта.