[원본 출처] http://karaf.apache.org/manual/latest-2.3.x/users-guide/child-instances.html 


웹에서의 context를 추가로 만드는 작업과 같은거 같음 그런데 하위 컨텍스트도 URL 만 달랐던 반면 
기능상으론 SVN 의 서비스 branch 와 비슷한 형태로 독립적인 포트도 설정이 가능하고 별도로 기동 종료가 가능하다.


Managing child instances (하위 인스턴스 관리하기)

A child instance of Karaf is a copy that you can launch separately and deploy applications into. An instance does not contain the full copy of Karaf, but only a copy of the configuration files and data folder which contains all the runtime information, logs and temporary files.
Karaf의 하위 인스턴스는 별도로 시작할 수 있고 어플리케이션을 할 수 있는 사본이다. 인스턴스는 Karaf의 전체 사본을 포함 하지 않는다.  그러나 단지  환경 구성 파일과 모든 실시간 정보, 로그와 임시파일을 포함하는 데이타 폴더 사본이다. 

Using the admin console commands (관리 콘솔 명령어를 사용하기)

The admin console commands allow you to create and manage instances of Karaf on the same machine. Each new runtime is a child instance of the runtime that created it. You can easily manage the children using names instead of network addresses. For details on the admin commands, see the admin commands.
관리 콘솔 명령어는 당신이 같은 머신에서 Karaf의 인스턴스를 생성하고 관리 하는 것을 허용한다. 각각의 실행환경은 그것을 만든 실시간 환경의 하위 인스턴스이다. 당신은 네트워크 주소 대신 이름을 사용하여 하위 인스턴스를 쉽게 관리 할 수 있다.

Creating child instances (하위 인스턴스 생성하기)

You create a new runtime instance by typing admin:create in the Karaf console.
Karaf 콘솔에 admin:create 을 입력함으로써 새 실시간 인스턴스를 생성한다. 

As shown in the following example, admin:create causes the runtime to create a new runtime installation in the active runtime's instances/name directory. The new instance is a new Karaf instance and is assigned an SSH port number based on an incremental count starting at 8101 and a RMI registry port number based on an incremental count starting at 1099/44444.
다음 예제에서 보여주는 것 처럼, admin:create은 실시간 환경 instances/name 디렉토리에서 새 실시간 환경 설치를 생성하는 실시간 환경을 만드는 원인이 된다.

karaf@root> admin:create alpha 
Creating new instance on SSH port 8102 and RMI ports 1100/44445 at: /x3/karaf/test/apache-karaf-2.2.4/instances/alpha
Creating dir:  /x3/karaf/test/apache-karaf-2.2.4/instances/alpha/bin
Creating dir:  /x3/karaf/test/apache-karaf-2.2.4/instances/alpha/etc
Creating dir:  /x3/karaf/test/apache-karaf-2.2.4/instances/alpha/system
Creating dir:  /x3/karaf/test/apache-karaf-2.2.4/instances/alpha/deploy
Creating dir:  /x3/karaf/test/apache-karaf-2.2.4/instances/alpha/data
Creating file: /x3/karaf/test/apache-karaf-2.2.4/instances/alpha/etc/config.properties
Creating file: /x3/karaf/test/apache-karaf-2.2.4/instances/alpha/etc/jre.properties
Creating file: /x3/karaf/test/apache-karaf-2.2.4/instances/alpha/etc/custom.properties
Creating file: /x3/karaf/test/apache-karaf-2.2.4/instances/alpha/etc/java.util.logging.properties
Creating file: /x3/karaf/test/apache-karaf-2.2.4/instances/alpha/etc/org.apache.felix.fileinstall-deploy.cfg
Creating file: /x3/karaf/test/apache-karaf-2.2.4/instances/alpha/etc/org.apache.karaf.log.cfg
Creating file: /x3/karaf/test/apache-karaf-2.2.4/instances/alpha/etc/org.apache.karaf.features.cfg
Creating file: /x3/karaf/test/apache-karaf-2.2.4/instances/alpha/etc/org.ops4j.pax.logging.cfg
Creating file: /x3/karaf/test/apache-karaf-2.2.4/instances/alpha/etc/org.ops4j.pax.url.mvn.cfg
Creating file: /x3/karaf/test/apache-karaf-2.2.4/instances/alpha/etc/startup.properties
Creating file: /x3/karaf/test/apache-karaf-2.2.4/instances/alpha/etc/users.properties
Creating file: /x3/karaf/test/apache-karaf-2.2.4/instances/alpha/etc/system.properties
Creating file: /x3/karaf/test/apache-karaf-2.2.4/instances/alpha/etc/org.apache.karaf.shell.cfg
Creating file: /x3/karaf/test/apache-karaf-2.2.4/instances/alpha/etc/org.apache.karaf.management.cfg
Creating file: /x3/karaf/test/apache-karaf-2.2.4/instances/alpha/bin/karaf
Creating file: /x3/karaf/test/apache-karaf-2.2.4/instances/alpha/bin/start
Creating file: /x3/karaf/test/apache-karaf-2.2.4/instances/alpha/bin/stop
karaf@root>

Changing a child's ports (하위 인스턴스 포트 변경하기)

You can change the SSH port number assigned to a child instance using the admin:change-ssh-port command. The syntax for the command is:
당신이 admin:change-ssh-port 명령어를 사용하여 하위 인스턴스에 할당된 SSH 포트 번호를 변경할 수 있다. 명령어 구문은 다음이다.

admin:change-ssh-port instance port

Note that the child instance has to be stopped in order to run this command.
이 명령어를 실행하기 위해 하위 인스턴스가 멈춰져 있어야 만 한다는 점을 적어둔다.

In the same way, you can change the RMI registry port number assigned to a child instance using the admin:change-rmi-registry-port command. The syntax for the command is:
같은 방법에서 admin:change-rmi-registry-port 명령어를 사용하여 하위 인스턴스에 할당된 RMI 등록 포트 번호를 변경 할 수 있다. 명령어 구문은 다음이다.

admin:change-rmi-registry-port instance port

Note that the child instance has to be stopped in order to run this command.
이 명령어를 실행하기 위해서는 하위 인스턴스가 멈춰져 있어야 만 한다는 점을 적어둔다.

Starting child instances( 하위 인스턴스 시작하기)

New instances are created in a stopped state. To start a child instance and make it ready to host applications, use the admin:start command. This command takes a single argument instance-name that identifies the child you want started.
새 인스턴스는 정지된 상태로 생성된다. 하위 인스턴스를 시작하고 호스트 어플리케이션에 준비 되도록 하기 위해 admin:start 명령어를 사용하라. 이 명령어는 단일 인수로 당신이 사작하기를 원하는 하위 인스턴스의 삭별하기는 instance-name (인스턴스명)을 가진다.

Listing all container instances (모든 컨테이너 인스턴스 리스트 가져오기)

To see a list of all Karaf instances running under a particular installation, use the admin:list command.
특별 설치 하에서 실행중인 모든 Karaf 인스턴스 의 목록을 보기 위해, admin:list 명령어를 사용하라.

karaf@root>admin:list
  SSH Port   RMI Port   State       Pid  Name
[    8107] [      1106] [Started ] [10628] harry
[    8101] [      1099] [Started ] [20076] root
[    8106] [      1105] [Stopped ] [15924] dick
[    8105] [      1104] [Started ] [18224] tom
karaf@root>

Connecting to a child instance (하위 인스턴스 접속하기)

You can connect to a started child instance's remote console using the admin:connect command which takes three arguments:
당신은 3개의 인수를 가진 admin:connect 명령어를 사용하기 위해 시작된 하위 인스턴스의 원격 콘솔에 접속 할 수 있다.

admin:connect [-u username] instance [command]

NB: the password will be prompted.
주의 : 비밀번호가 입력되게 될 알려 줄 것이다.

NB: you can directly execute shell command on the target instance.
주의 : 당신은 대상 인스턴스에서 직접 쉘 명령어를 실행 할 수 있을 것이다. 

Once you are connected to the child instance, the Karaf prompt changes to display the name of the current instance, as shown:
당신이 하위 인스턴스에 접속 하게 될때, Karaf 프롬프트는 현재 인스턴스의 이름을 표시하게 변경된다. 보여주는 것 처럼

karaf@harry>

Stopping a child instance (하위 인스턴스 멈추기)

To stop a child instance from within the instance itself, type osgi:shutdown or simply shutdown.
인스턴스 그 자신 안에서 하위 인스턴스를 멈추기 위해, osgi:shutdown 또는 단순시 shutdown 을 쳐서 넣어라.

To stop a child instance remotely, in other words, from a parent or sibling instance, use the admin:stop:
다른 말로 상위 또는 동등한 인스턴스에서 하위 인스턴스를 원격으로 정지하기 위해서는, admin:stop 를 사용하라.

admin:stop instance

Destroying a child instance (하위 인스턴스 없애기)

You can permanently delete a stopped child instance using the admin:destroy command:
당신은 멈춰진 하위 인스턴스를 admin:destroy 명령어를 사용하여 완전히 삭제 시킬 수 있다.

admin:destroy instance

Note that only stopped instances can be destroyed.
단지 멈춰진 인스턴스만 없앨 수 있다는 점을 적어둔다.

Using the admin script ( 관리 스크립트 사용하기 )

You can also manage the local instances of Karaf. The admin script in the bin directory provides the same commands as the admin console commands, apart from admin:connect.
당신은 또한 karaf의 로컬인스턴스를 관리 할수 있다.  bin 디렉토리에서 관리 스크립트는 admin  콘솔 명령어로 admin:connect 분리해서 같은 명령어를 제공한다.

bin/admin
Available commands:
  change-ssh-port - Changes the secure shell port of an existing container instance.
  change-rmi-registry-port - Changes the RMI registry port (used by management layer) of an existing container instance.
  create - Creates a new container instance.
  destroy - Destroys an existing container instance.
  list - List all existing container instances.
  start - Starts an existing container instance.
  stop - Stops an existing container instance.
Type 'command --help' for more help on the specified command.

For example, to list all the instances of Karaf on the local machine, type:
예를 들면, 로컬 머신의  Karaf의 모든 인스턴스 리스트를 가져오기 위해 입력하라:

bin/admin list



+ Recent posts