Domain and Host Controller configuration on the EuroAP application server

Domain i Host Controller – konfiguracja na przykładzie serwera aplikacji EuroAP

Korzystając z serwera aplikacji EuroAP, mamy możliwość uruchomienia serwera (lub serwerów) w trybie Standalone lub Domain. W dzisiejszym artykule przyjrzymy się nieco bliżej, jak skonfigurować współpracujące ze sobą Domain Controller oraz Host Controller w trybie Managed Domain. Skupimy się na praktycznym przykładzie takiej konfiguracji.

Korzystając z serwera aplikacji EuroAP, mamy możliwość uruchomienia serwera (lub serwerów) w trybie Standalone lub Domain. W dzisiejszym artykule przyjrzymy się nieco bliżej, jak skonfigurować współpracujące ze sobą Domain Controller oraz Host Controller w trybie Managed Domain. Skupimy się na praktycznym przykładzie takiej konfiguracji.

W przypadku wcześniejszego braku styczności z trybem Domain, przed przeczytaniem tego artykułu, zachęcamy do zapoznania się z treścią wpisu Konfiguracja serwera aplikacji – tryb Domain – garść teorii. EuroAP jest budowane w oparciu o kod źródłowy JBoss EAP, dlatego poniższe informacje mają zastosowanie także do tego rozwiązania.

Wydzielenie konfiguracji dla poszczególnych serwerów

Aby zobrazować konfigurację o relacji Master-Slave, posłużymy się prostą strukturą składającą się z dwóch instancji Hostów. Będziemy do tego potrzebować dwóch niezależnych konfiguracji:

  • Master (Domain Controller)
  • Slave (Host Controller).

W przykładzie wykorzystamy serwer aplikacji EuroAP w najnowszej (na dzień pisania artykułu) wersji 7.4.1.

Zakładając, że mamy już zainstalowany serwer aplikacji (w razie problemów odsyłamy do artykułu Pierwszy raz z serwerem aplikacji EuroAP), tworzymy dwie kopie domyślnej konfiguracji serwera domain, które znajdują się w folderze instalacyjnym EuroAP:

  • dla Domain Controller – w lokalizacji /opt/domain-controller:
cp -a $EUROAP_HOME/domain/configuration /opt/domain-controller
  • dla Host Controller – w lokalizacji /opt/host-controller:
cp -a $EUROAP_HOME/domain/configuration /opt/host-controller

Konfiguracja

Przed uruchomieniem serwerów, należy je skonfigurować. Użyjmy domyślnych plików konfiguracyjnych, które wcześniej skopiowaliśmy z instancji EuroAP. W przypadku Domain Controller będzie to /opt/domain-controller/configuration/host-master.xml, natomiast w przypadku Host Controler /opt/host-controller/configuration/host-slave.xml.

host-master.xml przechowuje minimalną konfigurację dla Domain Controller, bez instancji serwerów. Definiuje tylko Management Network Interface. Konfiguracja ta nie może być używana, jeżeli Domain Controller ma zawierać instancje serwerów – NIE JEST to zalecane rozwiązanie.

host-slave.xml – konfiguracja dla Host Controller zawierająca przykładowe instancje serwerów oraz grupy serwerów (takie same jak w przypadku domyślnego pliku host.xml). Konfiguracja ta używa parametrów jboss.domain.master.address i jboss.domain.master.port, aby określić adres IP Domain Controller oraz jego port.

Domyślna konfiguracja host-master.xml dla naszego dzisiejszego przykładu będzie wystarczająca, jednak host-slave.xml będzie wymagał pewnych modyfikacji. Przejdźmy do działania.

Otwieramy nasz plik konfiguracyjny w dowolnym edytorze tekstu. W artykule wykorzystaliśmy Vima:

vim /opt/host-controller/configuration/host-slave.xml

 

Następnie, na samym początku nadajemy dowolną nazwę naszemu hostowi, np.myServerA:

Domain and Host Controller

Dalej musimy wskazać adres IP Domain Controller oraz określić port, na którym jest on uruchomiony. Służą do tego parametry wskazane na poniższym zrzucie ekranu. Za przechowywanie adresu Domain Controller odpowiedzialny jest parametr jboss.domain.master.address, a za przechowywanie portu parametr jboss.domain.master.port W naszym przypadku jest to adres 127.0.0.1 lub localhost, ponieważ serwery uruchamiamy lokalnie (jest to domyślna wartość).

Port został zmieniony na 10990 (domyślnie jest ustawiony na 9990), co wyjaśnimy podczas uruchamiania serwerów.

Domain and Host Controller

Uruchomienie serwerów

Kiedy pliki konfiguracyjne są już gotowe, czas uruchomić nasze serwery:

  • Domain Controller:
$EUROAP_HOME/bin/domain.sh -Djboss.management.http.port=10990  -Djboss.management.native.port=10999 -Djboss.domain.base.dir=/opt/domain-controller/ --host-config=host-master.xml

 

  • Host Controller:
$EUROAP_HOME/bin/domain.sh -Djboss.management.http.port=20990  -Djboss.management.native.port=20999 -Djboss.domain.base.dir=/opt/host-controller/ --host-config=host-slave.xml

 

Szybkie uzupełnienie, jeśli chodzi o powyższe polecenia i parametry:

  • $EUROAP_HOME/bin/domain.sh – komenda wykonuje skrypt domain.sh, który uruchamia serwer aplikacji
  • -Djboss.management.http.port=10990  -Djboss.management.native.port=10999 – te dwa parametry są potrzebne do wskazania, na jakich portach zostanie uruchomiony serwer. Są to kluczowe parametry, w przypadku kiedy chcemy uruchomić dwa hosty na tej samej maszynie. Gdybyśmy nie zmienili tych wartości, mielibyśmy konflikt, ponieważ serwery próbowałyby się uruchomić na tym samym domyślnym porcie (9990), co nie jest możliwe
  • -Djboss.domain.base.dir=/opt/domain-controller/ – wskazuje miejsce, w którym znajduje się nasza konfiguracja
  • --host-config=host-master.xml – wskazuje, z jakiego pliku ma zostać zaciągnięta konfiguracja.

Po poprawnym uruchomieniu obu serwerów w logach Domain Controller powinna ukazać się informacja o poprawnym podłączeniu Host Controller myServerA:

[Host Controller] 16:20:16,725 INFO  [org.jboss.as.domain.controller] (Host Controller Service Threads - 28) WFLYHC0019: Registered remote slave host "myServerA", JBoss EuroAP 7.4.1.GA (WildFly 15.0.4.Final-redhat-00001)

Przegląd konsoli

Wynikiem powyższych prac jest dostęp do wszystkich Host Controllerów, jakie podepniemy pod Domain Controller z poziomu jego graficznego interfejsu (adres 127.0.0.1:10990):

Domain and Host Controller

oraz JBoss CLI:

Domain and Host Controller

Dzięki temu w skuteczny i wygodny sposób mamy możliwość zarządzania całą naszą infrastrukturą z poziomu Domain Controller. W naszym przykładzie użyliśmy tylko jednego Host Controller, ale oczywiście do naszego Domain Controller możemy podpiąć dowolną ich ilość, a przykładowa i bardzo uproszczona struktura może wyglądać następująco:

Domain and Host Controller

Podsumowanie

Jak widać na powyższym przykładzie, uruchomienie oraz podłączenie Host Controller do Domain Controller nie wymaga przekopywania się przez tony konfiguracji. Serwer aplikacji EuroAP zawiera szereg domyślnych plików konfiguracyjnych, które pomogą nam w skuteczny sposób skonfigurować naszą infrastrukturę.

Autorzy

Artykuły na blogu są pisane przez osoby z zespołu EuroLinux. 80% treści zawdzięczamy naszym developerom, pozostałą część przygotowuje dział sprzedaży lub marketingu. Dokładamy starań, żeby treści były jak najlepsze merytorycznie i językowo, ale nie jesteśmy nieomylni. Jeśli zauważysz coś wartego poprawienia lub wyjaśnienia, będziemy wdzięczni za wiadomość.