Log4j.properties 는 카프카 로그에이전트를 위한 로그 설정 파일이다. (경로 c:/agent/conf/log4j.properties)

apache-log4j-extras-1.2.17.jar



실행 하기전에 Confluent 에들어간 log4j jar 파일은 log4j 1버전 이여서 2버전을  C:\agent\share\java\kafka\ 으로넣어준다.


그 다음 c:/agent/conf/log4j.properties 파일을 아래와 같이 수정한다.

log4j.rootLogger=INFO, stdout, LOGFILE
 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c:%L)%n
 
log4j.logger.org.apache.zookeeper=ERROR
log4j.logger.org.I0Itec.zkclient=ERROR
log4j.logger.org.reflections=ERROR
 
 
log4j.appender.LOGFILE=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=[%d] %p %m (%c:%L)%n
log4j.appender.LOGFILE.RollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.LOGFILE.MaxFileSize=10MB
log4j.appender.LOGFILE.RollingPolicy.FileNamePattern=${kafka.logs.dir}/KSERVICE_%d{yyyyMMddhh}.log
log4j.appender.LOGFILE.MaxBackupIndex=100


그럼 아래와같이 로그파일 생성완료!


Window 에서 Java 서비스 등록을 위해서는 여러가지 방법이있다.

윈도우 서비스등록 후 JVM 환경에서 실행 시켜야 되는데, 

윈도우 서비스등록이 생각 보다 까다롭다.

단순히 sc 로 배치파일이나 java나 jar파일 등록이 되지 않는데,

어느곳에서도 서비스가 실행 되지 않는 정확한 이유를 설명해주지 않는다. (윈도우 프로그래밍 지식 부족ㅎㅎ)

또한 윈도우 서버마다 동작이 상이하다.

1.Apache Project  procrun project

  • JAVA 윈도우 실행을 위해 APPLICATION 을 싸주는 WRAPPER 프로젝트

    >> 결국 wrapper 를 APACHE 에서 요구 하는대로 따로 WRAPPER CLASS 를 따로 개발 하여야하고 원래 
    MAIN class 에서 돌아가는 것을 쓰레드 방식으로  구현 해야된다.
    이방식으로 만들고 적용 했는데... 정작 Window 2008 Server 에서 돌아가지않는상황에서 디버깅이 어려워.. 실패

2. JavaService.exe

인터넷에서 떠도는 JavaService.exe를 따운 받아 다른 블로그들을 참고하여 서비스 등록 >> 실패

64비트용 서비스 JavaService.exe 가 없는 것 같기도 하다.

3. nssm.exe

nssm-2.24.zip


reference : https://nssm.cc/


nssm-2.24.zi

이 파일의 압축을 풀고

window command 창을 실행시켜 32/64비트 경로로 간다.

nssm.exe install Kservice 를 입력하면, 아래와 같이 팝업이 뜬다.



나의 경우에는 PATH

PATH : C:\Program Files\Java\jre1.8.0_181\bin\java.exe 

이렇게 하면 리소스 모니터에   java.exe 로 잡히는데, 아래처럼 java.exe 를 다른이름으로 복사 붙여넣기 하여 원하는 이름으로 붙여넣고 실행 시킨다..


정리하자면

PATH : C:\Program Files\Java\jre1.8.0_181\bin\Kafkaagent.exe  

Startup directory : C\Program Files\Java\jre1.8.0_181\bin

Arguments : -Xmx256M -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+DisableExpli..(생략)

뒤에 JAVA 실행 옵션을 Argument 이런식으로 파라미터를  너어주고  서비스 시작 해보면 잘 된다. (드디어성공)

+ Recent posts