34
JBoss AS 7 Installation, Konfiguration und Betrieb Alexander Pacnik Karlsruhe, 13.12.2013

JBoss AS 7 - Installation, Konfiguration und Betrieb · ‣ Server Group (Gruppe von Instanzen die als ein Server verwaltet wird) Anmerkung ‣ Unabhängig ob Standalone oder Domain

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

JBoss AS 7

Installation, Konfiguration und Betrieb

Alexander Pacnik Karlsruhe, 13.12.2013

2

Jboss 7 AS ... worum es in diesem Vortrag geht.

Einführung

Installation

Konfiguration

Management

Deployment

Betrieb

•  https://github.com/jbossas/jboss-as/tags •  https://www.jboss.org/products/eap.html •  http://www.wildfly.org 3

Versionsübersicht

‣  Ziel Wildfly: schnelle Entwicklungszyklen

‣  Ziel EAP: stabile Versionen, für Entwicklungszwecke frei verfügbar

Einleitung ... Versionen und Weiterentwicklung

JBoss AS 7.1.1 (EE6)

JBoss AS 7.2.0 *

EAP 6.1.0 Final

EAP 6.2.0 GA

Wildfly 8 (EE7)

4

Jboss 7 AS ... worum es in diesem Vortrag geht.

Einführung

Installation

Konfiguration

Management

Deployment

Betrieb

https://docs.jboss.org/author/display/AS71/Core+management+concepts 5

Operating Modes und Serverstart

‣  Standalone Server

‣  Ein JVM Prozess, entspricht in etwa JBoss 6 AS und früher

‣  bin/standalone.sh und bin/standalone.conf

‣  jboss-cli.sh --connect --command=:shutdown

‣  Die Verwendung eines Service Wrappers ist möglich

‣  Managed Domain

‣  Mehrere Instanzen (=members) werden von einer zentralen Instanz (=domain controller) über einen host controller auf jedem Node verwaltet.

‣  bin/domain.sh und bin/domain.conf

Installation ... die Struktur und grundlegende Konzepte.

https://docs.jboss.org/author/display/AS71/Core+management+concepts 6

Core Management Conecpts

‣  Standalone Server (eine JVM)

‣  Managed Domain (mehrere zentral gesteuerte Instanzen)

‣  Host (Node mit ein oder mehreren Instanzen)

‣  Host Controller (Daemon zur Verwaltung der Instanzen)

‣  Domain Controller (Daemon zur zentralen Verwaltung der Konfiguration)

‣  Server (die eigentliche JBoss Instanz)

‣  Server Group (Gruppe von Instanzen die als ein Server verwaltet wird)

Anmerkung

‣  Unabhängig ob Standalone oder Domain Mode sollte der nicht verwendete Teil der Konfiguration aus den Verzeichnissen gelöscht werden.

Installation ... die Struktur und grundlegende Konzepte.

https://docs.jboss.org/author/display/AS71/Getting+Started+Guide 7

Verzeichnisstruktur

Installation ... die Struktur und grundlegende Konzepte.

8

Jboss 7 AS ... worum es in diesem Vortrag geht.

Einführung

Installation

Konfiguration

Management

Deployment

Betrieb

https://docs.jboss.org/author/display/AS71/General+configuration+concepts 9

Configurtion Concepts

‣  Extension (Modul das den Server Core erweitert)

‣  Profiles = Zusammenfassung von Subsystemen (Erweiterung durch Extensions)

‣  Interfaces (Name für die Konfiguration eines Interfaces)

‣  Socket Binding (Name für die Konfiguration eines Sockets)

‣  System Properties (Properties auf die über die JVM zugegriffen wird)

Konfiguration ... standalone.xml

https://docs.jboss.org/author/display/AS71/General+configuration+concepts 10

Struktur

Konfiguration ... der Aufbau der standalone.xml

https://docs.jboss.org/author/display/AS71/General+configuration+concepts http://dev.mysql.com/downloads/connector/j/ 11

Extensions modules/com/mysql/jdbc/main/{module.xml, mysql-connector-*-bin.jar}

Konfiguration ... Modularisierung und Erweiterungsmöglichkeiten

https://docs.jboss.org/author/display/AS71/General+configuration+concepts 12

Interfaces

‣  Management: Verwaltungswerkzeuge wie Cli und WebUI

‣  Im Optimalfall ist das Management Interface auf 127.0.0.1 gebunden

‣  Public: Web und AJP Zugriffe

Konfiguration ... die Konfiguration der Interfaces

https://docs.jboss.org/author/display/AS71/General+configuration+concepts 13

Socket Binding

‣  Port-offset (Zahl die zu allen Ports addiert wird)

Konfiguration ... Port Konfiguration und Portoffset

https://docs.jboss.org/author/display/AS71/General+configuration+concepts 14

System Properties

Konfiguration ... JVM System Properties

15

Jboss 7 AS ... worum es in diesem Vortrag geht.

Einführung

Installation

Konfiguration

Management

Deployment

Betrieb

https://docs.jboss.org/author/display/AS72/Description+of+the+Management+Model 16

Möglichkeiten den JBoss zu verwalten

‣  Datei standalone.xml / domain.xml editieren (nicht empfohlen!)

‣  Weboberfläche oder JSON API (Port 9990)

‣  Kommandozeile (Port 9999)

Management ... Überblick über die Management Interfaces

17

Die Weboberfläche

Management ... die Weboberfläche

https://community.jboss.org/wiki/CommandLineInterface https://docs.jboss.org/author/display/AS71/Command+line+parameters 18

Management Resources

‣  jboss-cli (jboss-cli [--controller=<ip>:<port>] --connect)

‣  XML Struktur (standalone.xml) wird hierarchisch dargestellt, Navigation mit

‣  cd (Ebenen wechseln)

‣  ls (Inhalt anzeigen)

‣  ls –l (detaillierten Inhalt anzeigen)

‣  pwd (Pfad der Ebene anzeigen)

‣  Tab (Autovervollständigung)

Management ... das Kommandozeilen Werkzeug (jboss-cli)

https://docs.jboss.org/author/display/AS72/Description+of+the+Management+Model 19

Management Resources (1/2)

‣  Operations

‣  :read-operation-names

‣  :read-operation-description(name=server-set-restart-required)

‣  Attribute (Information über den Zustand von Konfiguration oder Laufzeitzustand)

‣  /subsystem=datasources/data-source=exampleDS/:read-attribute(name=max-pool-size)

‣  /subsystem=datasources/data-source=exampleDS/:write-attribute(name=max-pool-size,value=60)

‣  /subsystem=datasources/data-source=“exampleDS":add(driver-name=...)

Management ... Ressourcen-Verwaltung

https://docs.jboss.org/author/display/AS72/Description+of+the+Management+Model 20

Management Resources (2/2)

‣  Ressourcen

‣  /subsystem=datasources:read-resource

‣  /subsystem=datasources:read-resource(recursive=true)

‣  /subsystem=datasources:read-resource(recursive=true,include-runtime=true)

‣  Cildren

‣  /subsystem=datasources:read-children-types

Management ... Ressourcen-Verwaltung

21

Konfigurationen mit der GUI erstellen ‣  ./jboss-cli.sh --gui

Konfiguration kopieren und importieren ‣  jboss-cli --connect --file=config.cfg

‣  jboss-cli.sh --connect --command=...

Management ... Konfigurationsstrings erstellen und speichern

22

Jboss 7 AS ... worum es in diesem Vortrag geht.

Einführung

Installation

Konfiguration

Management

Deployment

Betrieb

https://docs.jboss.org/author/display/AS7/Application+deployment 23

Manuelles Deployment

‣  Applikation in den Ordner „deployment“ kopieren

‣  Vorteil: einfach

‣  Nachteil: Applikation wird nicht registriert

‣  Steuerung über „touchen“ von Dateien wie „.dodeploy“

Deployment ... Möglichkeiten Applikationen zu deployen

http://middlewaremagic.com/jboss/?p=391 24

Automatisches Deployment

‣  Ein Management Interface verwenden (empfohlen)

‣  Kommandozeile

‣  jboss-cli --connect --command=deploy --force /path/to/test.war

‣  jboss-cli --connect --command=undeploy test.war

‣  Oder über die WebUI

Deployment ... Möglichkeiten Applikationen zu deployen

https://docs.jboss.org/author/display/AS71/add-user+utility 25

Dateien

‣  application-roles.properties

‣  application-users.properties

‣  mgmt-users.properties

Interaktives Tool ‣  bin/add-user.sh

Benutzerverwaltung ... Die Benutzerverwaltung

26

Jboss 7 AS ... worum es in diesem Vortrag geht.

Einführung

Installation

Konfiguration

Management

Deployment

Betrieb

https://docs.jboss.org/author/display/AS71/Logging+Configuration 27

Logging

1.  gib es einen passenden <logger> und passt das Loglevel - sonst verwerfen

2.  kein <logger>, passt der Loglevel des <root-loggers> - sonst verwerfen

3.  falls nicht verworfen an alle Handler im <logger> und <root-logger> weiter reichen

4.  passt der Level zum Level des Handlers oder ist dieser nicht definiert - Loggen

Logging ... standalone.xml

http://middlewaremagic.com/jboss/?p=2476 28

Monitoring über die JSON API ‣  Deployment Details anzeigen

‣  <ip>:9990/management/deployment/example.ear?operation=resource&recursive&json.pretty

‣  Datasource Details anzeigen

‣  <ip>:9990/management/subsystem/datasources/data-source/ExampleDS/statistics/pool?read-resource&include-runtime=true&recursive&json.pretty

‣  Memory Details anzeigen

‣  <ip>http://localhost:9990/management/core-service/platform-mbean/type/memory-pool?operation=resource&type=runtime&recursive&json.pretty

Monitoring ... Werte über die JSON API auslesen

https://code.google.com/p/javamelody 29

Monitoring mit Javamelody

‣  Zentrales Monitoring bevorzugt, aber Javamelody lässt sich schnell integrieren

‣  Überblick über Ressourcenverbrauch, JSP, HTTP und SQL Requests

Monitoring ... mit Javamelody Werte speichern

30

JConsole ‣  Sicherstellen das der Management Endpoint konfiguriert ist

/subsystem=jmx/remoting-connector=jmx/:write-attribute(name=use-management-endpoint,value=true)

‣  JConsole verbinden mit "service:jmx:remoting-jmx://localhost:9999“

‣  Zugriff auf JVM, MBeans und Konfiguration (vgl. jboss-cli --gui)

Monitoring ... mit der JConsole in Echtzeit

https://github.com/chewiebug/GCViewer 31

GC Logging ‣  zumindest das GC Logging sollte analysiert und die GC optimiert werden

‣  java -jar gcviewer-1.33.jar

Monitoring ... das JVM GC Logging

http://www.yourkit.com http://www.yourkit.com/docs/80/help/startup_options.jsp 32

Yourkit ‣  Agent auf den Server kopieren

‣  JVM Parameter um den Agent Pfad und die Optionen ergänzen

-agentpath:/path/to/yjp/bin/linux-x86-64/libyjpagent.so=disablestacktelemetry,

disableexceptiontelemetry,builtinprobes=none,delay=10000,port=10001

‣  Logdatei unter ~/.yjp/log/

Profiler ... am Beispiel Yourkit

33

Vielen Dank für Ihre Aufmerksamkeit

Kontakt Alexander Pacnik Systems Engineering Project Management inovex GmbH Office Karlsruhe Ludwig-Erhard-Allee 6 76131 Karlsruhe +49 (0)173 3181 040 [email protected]

34

Anmerkungen Die verwendeten Quellen finden sich in den Fußnoten der jeweiligen Folien. Weitere nützliche Quellen finden sich im nächsten Abschnitt.

Quellen ‣  http://www.jboss.org/jbossas/docs

‣  https://issues.jboss.org/browse/AS7

‣  http://www.wildfly.org

‣  https://issues.jboss.org/browse/WFLY

‣  http://www.mastertheboss.com

‣  http://middlewaremagic.com

Quellen ... wo Sie in Ruhe nach lesen können J