关于java:项目部署

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 公布

    评论

    发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注

    这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理