关于java:项目部署

24次阅读

共计 14024 个字符,预计需要花费 36 分钟才能阅读完成。

Transwatch 我的项目部署

一、Elasticsearch 装置与配置

1. Elasticsearch 装置前筹备

  • Ⅰ. 批改文件数大小和线程数

    vi /etc/security/limits.conf
    
    * soft nproc 4096
    
    * hard nproc 4096
    
    * hard memlock unlimited
    
    * soft memlock unlimited
    
    * soft nofile 65536
    
    * hard nofile 65536

## 保留、从新登陆失效


+ Ⅱ. 设置 max virtual memory

vi /etc/sysctl.conf

vm.max_map_count=262144

## 增加实现执行下列命令
sysctl -p


+ Ⅲ. JDK 需独立装置 (因 elasticsearch 要求应用 JDK11 以上的版本)

cd /home/weblogic/

tar -zxvf /home/weblogic/jdk-11.0.4_linux-x64_bin.tar.gz

## 依据理论环境,可把 /home/weblogic 替换成其余的门路


### 2. Elasticsearch 装置

+ Ⅰ. 用户创立

useradd -g weblogic -p $(openssl passwd -1 Welcome1) weblogic


+ Ⅱ. Elasticsearch 的装置

cd /home/weblogic/app

tar -zxvf /home/weblogic/app/transwatch/matchingengine/packages/elasticsearch-6.7.2.tar.gz

mv elasticsearch-6.7.2 elasticsearch

chown -R weblogic:weblogic elasticsearch

cd elasticsearch/bin

./elasticsearch-plugin install file:////home/weblogic/app/transwatch/matchingengine/packages/rni-es-6.7.2.5-7.29.0-combined.zip
./elasticsearch-plugin install file:////home/weblogic/app/transwatch/matchingengine/packages/name-matcher-es-plugin-1.5.16.zip


### 3.  Elasticsearch 的配置

+ Ⅰ. elasticsearch-env 增加 JAVA_HOME 的环境变量

vi elasticsearch-env

#now set the path to java
## 此处增加 elasticsearch 的 JAVA_HOME(要求 JDK11 以上)环境变量

JAVA_HOME=/home/weblogic/jdk-11.0.4
export JAVA_HOME


+ Ⅱ. elasticsearch.yml 的配置

vi elasticsearch.yml

cluster.name: CLUSTER
node.name: node10.35.63.157
bootstrap.memory_lock: true
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
node.data : false
node.master : true
discovery.zen.ping.unicast.hosts: [master_ip]
discovery.zen.minimum_master_nodes: 2
bootstrap.system_call_filter: false


+ Ⅲ. jvm.options 的配置

vi jvm.options

## 依据理论状况批改内存大小
-Xms4g
-Xmx4g

10-:-XX:-UseConcMarkSweepGC
10-:-XX:-UseCMSInitiatingOccupancyOnly
10-:-XX:+UseG1GC
10-:-XX:InitiatingHeapOccupancyPercent=75

## 依据硬件资源的理论状况批改
10-:-XX:UseAVX=1


### 4. 启动 Elasticsearch

su – weblogic

cd /home/weblogic/app/elasticsearch/bin

./elasticsearch -d


## 二、Transwatch 装置与配置

### 1. Transwatch 装置前筹备

+ Ⅰ. 查看 weblogic 下的我的项目是否启动

ps -ef|grep weblogic


+ Ⅱ. 经查问 weblogic 的我的项目启动,则需杀掉相应的过程

+ Ⅲ.  JDK 环境的装置

cd /home/weblogic/

tar -zxvf /home/weblogic/jdk-8u144-linux-x64.tar.gz

## 依据理论环境,可把 /home/weblogic 替换成其余的门路,EE 的 JDK 环境同上。


+ Ⅳ. JDK 环境的配置

vi /etc/profile

export JAVA_HOME=/home/weblogic/jdk
export PATH=/home/weblogic/jdk/bin:$PATH
export CLASSPATH=.:/home/weblogic/jdk/lib/dt.jar:/home/weblogic/jdk/lib/tools.jar

source /etc/profile


+ Ⅵ. 因 TW、EE 应用的是 JDK8,而 ME 需应用 JDK11,会引起 lib 目录下一些 jar 包抵触

+ 解决抵触的形式是在 /home/weblogic/app 目录下创立 lib8 和 lib11 目录,将引起抵触的 jar 包,放在各自对应 lib 目录下即可

  - [x] lib8

    com.google.guava.guava.jar
    eclipselink.jar

  - [x] lib11

    eclipselink-2.7.4.jar
    failureaccess-1.0.1.jar
    glassfish-corba-omgapi-4.2.1.jar
    guava-27.0.1-jre.jar
    jakarta.jws-api-1.1.1.jar
    javax.activation-1.2.0.jar
    javax.xml.soap-api-1.4.0.jar
    jaxb-api-2.3.0.jar
    jaxws-api-2.3.1.jar
    tomcat-annotations-api-9.0.24.jar
    tomcat-api-9.0.24.jar
    tomcat-catalina-9.0.24.jar
    tomcat-coyote-9.0.24.jar
    tomcat-jaspic-api-9.0.24.jar
    tomcat-jni-9.0.24.jar
    tomcat-jsp-api-9.0.24.jar
    tomcat-juli-9.0.24.jar
    tomcat-servlet-api-9.0.24.jar
    tomcat-util-9.0.24.jar
    tomcat-util-scan-9.0.24.jar

### 2. Transwatch 装置

+ Ⅰ. 创立目录 transwatch

mkdir -p /home/weblogic/app/transwatch

cd /home/weblogic/app/transwatch


+ Ⅱ. 解压 trtw-installer-linux-*.tar.gz

tar -zxvf trtw-installer-linux-*.tar.gz


+ Ⅲ. 创立目录 transwatchwebapp

mkdir -p /home/weblogic/app/transwatch/webapp/transwatchwebapp


+ Ⅳ. 解压 transwatchwebapp.war

cd /home/weblogic/app/transwatch/webapp/transwatchwebapp

jar -xvf ../webapp/transwatchwebapp.war

cd WEB-INF/
rm –f lib/weld-servlet-*.Final.jar


### 3. Transwatch 配置

+ Ⅰ. 批改 WEB-INF 下的 web.xml 文件

cd /home/weblogic/app/transwatch/webapp/transwatchwebapp/WEB-INF/

vi web.xml

<param-name>transwatch.configDirectory</param-name>
<param-value>/home/weblogic/app/transwatch/conf</param-value>

## 依据理论环境,可把 /home/weblogic 替换成 app 所在的门路


+ Ⅱ. 批改 conf 下的 properties 文件

cd /home/weblogic/app/transwatch/conf


+ global.properties
vi global.properties

jdbcDriver = oracle.jdbc.OracleDriver
jdbcUrl = jdbc:oracle:thin:@10.35.63.157:1521:cmadb
dbType = ORACLE

user = TRANSWATCH
password = transwatch
```
    • TWWebApp_log4j.properties

      vi TWWebApp_log4j.properties
      
      log4j.rootLogger = INFO, defaultlog
      log4j.logger.monitorLogger = INFO, monitor
      
      log4j.appender.defaultlog = org.apache.log4j.RollingFileAppender
      log4j.appender.defaultlog.file = /home/weblogic/app/transwatch/logs/TWWebApp.log
      log4j.appender.defaultlog.maxFileSize = 10MB
      log4j.appender.defaultlog.MaxBackupIndex = 50
      log4j.appender.defaultlog.layout = org.apache.log4j.PatternLayout
      log4j.appender.defaultlog.layout.conversionPattern = %d [%t] %-5p %m%n
      log4j.appender.defaultlog.append = true
      log4j.appender.defaultlog.encoding = UTF-8
      
      log4j.appender.monitor = org.apache.log4j.RollingFileAppender
      log4j.appender.monitor.file = /home/weblogic/app/transwatch/logs/TWMonitor.log
      log4j.appender.monitor.maxFileSize = 1000KB
      log4j.appender.monitor.MaxBackupIndex = 5
      log4j.appender.monitor.layout = org.apache.log4j.PatternLayout
      log4j.appender.monitor.layout.conversionPattern = %d [%t] %-5p %m%n
      log4j.appender.monitor.append = true
      log4j.appender.monitor.encoding = UTF-8
      
      ## 依据理论环境,可把 /home/weblogic 替换成 app 所在的门路 
    • DTSMain_log4j.properties

      log4j.rootLogger = INFO, defaultlog
      
      log4j.appender.defaultlog = org.apache.log4j.DailyRollingFileAppender
      log4j.appender.defaultlog.file = /home/weblogic/app/transwatch/logs/MAIN_CA.log
      log4j.appender.defaultlog.DatePattern = '.'yyyy-MM-dd
      log4j.appender.defaultlog.layout = org.apache.log4j.PatternLayout
      log4j.appender.defaultlog.layout.conversionPattern = %d [%t] %-5p %m%n
      log4j.appender.defaultlog.append = true
      log4j.appender.defaultlog.encoding = UTF-8
      
      ## 依据理论环境,可把 /home/weblogic 替换成 app 所在的门路 
    • template_log4j.properties

      log4j.rootLogger = INFO, defaultlog
      
      log4j.appender.defaultlog = org.apache.log4j.DailyRollingFileAppender
      log4j.appender.defaultlog.file = /home/weblogic/app/transwatch/logs/Administrator.log
      log4j.appender.defaultlog.DatePattern='.'yyyy-MM-dd
      log4j.appender.defaultlog.layout = org.apache.log4j.PatternLayout
      log4j.appender.defaultlog.layout.conversionPattern = %d [%t] %-5p %m%n
      log4j.appender.defaultlog.append = true
      log4j.appender.defaultlog.encoding = UTF-8
      
      ## 依据理论环境,可把 /home/weblogic 替换成 app 所在的门路 
    • 批改 config 下的 config.xml

      cd /home/weblogic/Oracle/Middleware/user_projects/domains/domain_tw/config/
      vi config.xml
      
      <!-- 在 <security-configuration> 节点的最初一行增加如下内容 -->
      <enforce-valid-basic-auth-credentials>false</enforce-valid-basic-auth-credentials>
    • 批改 setDomainEnv.sh 文件

      vi setDomainEnv.sh
      
      TW_JAVA_OPTIONS="-Djava.security.egd=file:/dev/./urandom -Dcom.sun.xml.ws.spi.db.BindingContextFactory=com.sun.xml.ws.db.glassfish.JAXBRIContextFactory -Djavax.xml.bind.JAXBContext=com.sun.xml.bind.v2.ContextFactory -Djava.awt.headless=true"
      
      ##JAVA_OPTIONS 增加 TW_JAVA_OPTIONS
      JAVA_OPTIONS="${JAVA_OPTIONS} ${JAVA_PROPERTIES} ${TW_JAVA_OPTIONS}"
      
      
      ##lib8 需增加到脚本中
      CLASSPATH="${CLASSPATH}:/home/weblogic/app/lib8/*"
      export CLASSPATH
      
      ## 依据理论环境,可把 /home/weblogic 替换成其余的门路 

    4. 启动 weblogic

    cd /home/weblogic/Oracle/Middleware/user_projects/domains/domain_tw/bin
    
    nohup ./startWeblogic.sh &
    
    ## 查看启动日志
    tail -f nohup.out
    
    ## 依据理论环境,可把 /home/weblogic 替换成其余的门路 

    5. 登录 weblogic 的治理控制台

    • 操作步骤如下:

      • ①点击 Deployments>Install
      • ②依照提醒,抉择 transwatchwebapp 所在门路的目录
      • ③装置过程中,查看 nohup.out 的日志信息
      • ④日志中无报错,控制台界面的 State 为 Active,Health 为 OK,应用程序则部署胜利

    三、Namematcher 装置与配置

    1. Namematcher 装置前筹备

    • Ⅰ. JDK11 需独立装置 (因新的 Namematcher 要求应用 JDK11 以上的版本)

      cd /home/weblogic
      
      tar -zxvf /home/weblogic/amazon-corretto-11.0.4.11.1-linux-x64.tar.gz
      
      mv amazon-corretto-11.0.4.11.1 jdk11
      
      ## 依据理论环境,可把 /home/weblogic 替换成其余的门路 
    • Ⅱ. 配置环境变量

      vi /etc/profile
      
      ## 开端增加如下内容
      export ME_HOME=/home/weblogic/app/transwatch/matchingengine
      export ME_LOGS=/home/weblogic/app/transwatch/logs
      
      ## 依据理论环境,可把 /home/weblogic 替换成其余的门路 
      source /etc/profile

    2. Namematcher 装置

    • Ⅰ. 解压 name-matcher-installer-*-linux64.tar.gz

      cd ${ME_HOME}
      
      tar -zxvf name-matcher-installer-*-linux64.tar.gz
    • Ⅱ. 解压 matching-engine.war

      cd matching-engine
      
      jar -xvf matching-engine.war
      rm –f matching-engine.war
    • Ⅲ. 解压 Basis package

      mkdir -p /home/weblogic/app/data/basis-7.29
      
      cp ${ME_HOME}/packages/rni-es-6.7.2.3-7.29.0-combined.zip /home/weblogic/app/data/basis-7.29
      
      cd /home/weblogic/app/data/basis-7.29 && unzip -o rni-es-6.7.2.3-7.29.0-combined.zip
      
      tar -zxvf ${ME_HOME}/packages/name-matcher-installer-basis-config.tar.gz -C /home/weblogic/app/data/basis-7.29/bt_root

      在两处存在 bt_root 目录:

      A、自定义目录:/home/weblogic/app/data/basis-7.29/bt_root/rlpnc/data/etc;

      B、零碎默认:/home/weblogic/app/elasticsearch/elasticsearch/plugins/rni/bt_root/rlpnc/data/etc。

    3. Namematcher 配置

    • Ⅰ. 批改 web.xml

      cd WEB-INF/
      vi web.xml
      
      <!-- 正文或删除以下内容 -->
      
      <!--
      <servlet>
          <servlet-name>default</servlet-name>
          <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
          <load-on-startup>1</load-on-startup>
      </servlet>
       
      <servlet-mapping>
          <servlet-name>default</servlet-name>
          <url-pattern>/</url-pattern>
      </servlet-mapping>
      -->
      
      <!-- 批改数据源连贯类型 (oracle 为 oracle,sqlserver 为 dbcp)-->
      
      <context-param>
              <param-name>spring.profiles.default</param-name>
              <param-value>standalone,dl-oracle</param-value>
      </context-param>
    • Ⅱ. 在 WEB-INF 目录下,新建 weblogic.xml

      vi weblogic.xml
      
      <?xml version="1.0"?>
      <weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <container-descriptor>
          <prefer-application-packages>
            <package-name>com.fasterxml.jackson.*</package-name>
          </prefer-application-packages>
        </container-descriptor>
      </weblogic-web-app>
    • Ⅲ. 批改 me-config.properties

      cd ${ME_HOME}/config/
      vi me-config.properties
      
      ##localhost、127.0.0.1、7002 的批改取决于应用的那台 Namematcher
      ##Matching Engine (Namematcher) REST URLs
      resourcesBaseUrl=http://localhost
      service.name-matcher.endpoint.entity.rest=http://127.0.0.1:7002/matching-engine/rest/
      service.name-matcher.endpoint.rest=http://127.0.0.1:7002/matching-engine/rest/
      
      #Namematcher
      namematcher.datasource.driver=oracle.jdbc.OracleDriver
      namematcher.datasource.url=jdbc:oracle:thin:@10.35.63.89:1521:CMADB
      namematcher.datasource.username=namematcher
      namematcher.datasource.password=namematcher
      namematcher.datasource.connections.maxTotal=100
      namematcher.datasource.connections.maxIdle=100
      namematcher.datasource.connections.minIdle=0
      namematcher.datasource.connections.poolPreparedStatements=true
      ##DB 的 IP、username、password 是 Namematcher 的信息,结合实际环境切记要批改
      
      #Importer
      importer.datasource.driver=oracle.jdbc.OracleDriver
      importer.datasource.validationQuery=select 0 FROM DUAL
      importer.datasource.url=jdbc:oracle:thin:@10.35.63.89:1521:CMADB
      importer.datasource.username=nmimporter
      importer.datasource.password=nmimporter
      ##DB 的 IP、username、password 是 Importer 的信息,结合实际环境切记要批改
      
      #Elasticsearch
      namematcher.es.indexName=nm_worldcheck_index
      namematcher.es.aliasName=nm_worldcheck
      namematcher.es.indexProviderType=static
      namematcher.es.jest.urls=http://localhost:9900
      namematcher.es.jest.maxConnections=100
      
      basis.tech.rootdir=/home/weblogic/app/data/basis-7.29/bt_root
      
      hibernate.hbm2ddl.auto=none
      namematcher.enable_stats=false
      hibernate.format_sql=true
      hibernate.show_sql=false
      hibernate.autoReconnect=true
      hibernate.cache.use_structured_entries=true
      hibernate.cache.region.factory_class=org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory
      hibernate.connection.charSet=UTF-8
      hibernate.generate_statistics=false
      hibernate.query.substitutions=true 'T', false 'F'
      hibernate.use_sql_comments=false
      hibernate.physical_naming_strategy=cn.v2.dl.namematcher.support.PhysicalNamingStrategyUnderScoreImpl
    • Ⅳ. 批改 setDomainEnv.sh

      cd /home/weblogic/Oracle/Middleware/user_projects/domains/domain_me/bin
      vi setDomainEnv.sh
      
      ## 增加变量 ME_JAVA_PROPERTIES
      ME_JAVA_PROPERTIES="- ME_JAVA_PROPERTIES="-DapplicationProperties=${ME_HOME}/config/dummy-config.properties -Dme.config.properties=${ME_HOME}/config/me-config.properties -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9100 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.awt.headless=true -Dspring.profiles.active=dl-oracle,standalone,ehcache -Dappserver.logs.base=${ME_LOGS} ${NM_JVM_OPTS}"
      
      ## 批改 JAVA_PROPERTIES
      JAVA_PROPERTIES="-Dwls.home=${WLS_HOME} -Dweblogic.home=${WLS_HOME} ${ME_JAVA_PROPERTIES}"
      
      ## 如果默认 512M 堆内存,报 OOM,则需批改堆内存,见以下内容,反之不需批改
      WLS_MEM_ARGS_64BIT="-Xms3072m -Xmx3072m"
      export WLS_MEM_ARGS_64BIT
      
      WLS_MEM_ARGS_32BIT="-Xms3072m -Xmx3072m"
      export WLS_MEM_ARGS_32BIT
      
      if ["${JAVA_VENDOR}" != "HP" ] ; then
              if ["${VM_TYPE}" = "HotSpot" ] ; then
                      WLS_MEM_ARGS_64BIT="-Xms3072m -Xmx3072m"
                      export WLS_MEM_ARGS_64BIT
                      WLS_MEM_ARGS_32BIT="-Xms3072m -Xmx3072m"
                      export WLS_MEM_ARGS_32BIT
              fi
      fi
      vi setDomainENV.sh
      
      ## 因为 ME 版本的起因,须要 amazon-corretto-11.0.4.11.1-linux-x64.tar.gz(JDK11) 能力兼容,则需在 setDomainENV.sh 增加 JAVA_HOME 环境变量
      CLASSPATH="${CLASSPATH}:/home/weblogic/app/lib11/*"
      export CLASSPATH
      
      #JAVA_HOME="${JAVA_HOME}"
      JAVA_HOME="/home/weblogic/jdk11"
      export JAVA_HOME

      依据理论环境,可把 /home/weblogic 替换成其余的门路

    4. 启动 weblogic

    cd /home/weblogic/Oracle/Middleware/user_projects/domains/domain_me/bin
    
    nohup ./startWeblogic.sh &
    
    ## 查看启动日志
    tail -f nohup.out

    5. 登录 weblogic 的治理控制台

    • 操作步骤如下:

      • ①点击 Deployments>Install
      • ②依照提醒,抉择 matching-engine 所在门路的目录
      • ③装置过程中,查看 nohup.out 的日志信息
      • ④日志中无报错,控制台界面的 State 为 Active,Health 为 OK,应用程序则部署胜利

    四、Entity-extractor 装置与配置

    1. Entity-extractor 装置前筹备

    • 配置环境变量

      vi /etc/profile
      
      ## 开端增加如下内容
      export EE_HOME=/home/weblogic/app/entity-extractor/native
      
      ## 依据理论环境,可把 /home/weblogic 替换成其余的门路 

    2. Entity-extractor 装置

    • Ⅰ. 创立 entity-extractor

      cd /home/weblogic/app
      
      mkdir entity-extractor
    • Ⅱ. 解压 entity-extractor-installer-win64.zip

      cd entity-extractor
      
      unzip entity-extractor-installer-0.0.1-win64.zip
    • Ⅲ. 解压 entity-extractor-service.war

      cd entity-extractor-service
      
      jar -xf entity-extractor-service.war
      rm -f entity-extractor-service.war
    • Ⅳ. 复制 licenses

      cp /home/weblogic/app/data/basis/bt_root/rlp/licenses/rlp-license.xml /home/weblogic/app/entity-extractor/native/licenses/

    3. Entity-extractor 配置

    • Ⅰ. 批改 log4j.properties

      cd ${EE_HOME}/conf
      vi log4j.properties
      
      log4j.rootLogger = DEBUG, defaultlog
      
      log4j.appender.defaultlog = org.apache.log4j.RollingFileAppender
      log4j.appender.defaultlog.file = /home/weblogic/app/entity-extractor/logs/EE_log.log
      log4j.appender.defaultlog.maxFileSize = 10MB
      log4j.appender.defaultlog.MaxBackupIndex = 50
      log4j.appender.defaultlog.layout = org.apache.log4j.PatternLayout
      log4j.appender.defaultlog.layout.conversionPattern = %d [%t] %-5p %m%n
      log4j.appender.defaultlog.append = true
      log4j.appender.defaultlog.encoding = UTF-8
      
      ## 依据理论环境,可把 /home/weblogic 替换成其余的门路 
    • Ⅱ. 批改 servicecfg.properties

      vi servicecfg.properties
      
      #interval to reload the whole configuration
      configRefreshInterval=86400000
      
      #interval to re-create the Entity Extractor client object
      eeClientRebuildInterval=86400000

    4. 启动 weblogic

    cd /home/weblogic/Oracle/Middleware/user_projects/domains/domain_ee/bin
    
    nohup ./startWeblogic.sh &
    
    ## 查看启动日志
    tail -f nohup.out
    
    ## 依据理论环境,可把 /home/weblogic 替换成其余的门路 

    5. 登录 weblogic 的治理控制台

    • 操作步骤如下:

      • ①点击 Deployments>Install
      • ②依照提醒,抉择 entity-extractor 所在门路的目录
      • ③装置过程中,查看 nohup.out 的日志信息
      • ④日志中无报错,控制台界面的 State 为 Active,Health 为 OK,应用程序则部署胜利

    本文由博客群发一文多发等经营工具平台 OpenWrite 公布

    正文完
     0