Saturday, 1 October 2016

WebLogic 12c 12.1.3 Cluster Node Setup in Linux

Pre-requisite

2nd Node Setup
  • Create 2nd or Remote Weblogic Node
  • Login to the Admin Console of Weblogic Admin Server (running in Node1)
  • Select from left tree "base_domain -> Enviornment -> Machines" and click "New"
  • Provide name as "<HOST-NAME-OF-2ND-NODE>" and Os as "Unix", and click "Next"
  • Select Type as "Plain", Address as "<HOST-NAME-OF-2ND-NODE>", Port as "5556" and click "Finish"
  • Install Weblogic Server (Do not have to create Domain here) following the same steps followed for 1st Node:
    • Connect via SSH CLI to 2nd Node
    • Create weblogic user and group
      • $groupadd -g 1000 weblogic
      • $useradd -u 1100 -g weblogic weblogic
      • $passwd weblogic (give password as weblogic)
    • Create weblogic installation directory
      • $mkdir /app
      • $chown -R weblogic:weblogic /opt/oracle
      • $chmod -R 775 /app
    • Download Weblogic 12c (12.1.3) installable
      • Download Weblogic Server 12.1.3 from Oracle Support Site: fmw_12.1.3.0.0_wls.jar
    • Install Weblogic 12.1.3
      • Verify Java 8 is installed
        • $which java
        • $java -version
    • Perform installation of Weblogic 12.1.3
      • Add the following entries into /home/weblogic/.bash_profile file:
        • export MW_HOME=/app/Oracle/Middleware/Oracle_Home/
        • export WLS_HOME="${MW_HOME}/wlserver"
        • export WL_HOME="${WLS_HOME}"
        • # Set to appropriate JAVA_HOME.
        • export JAVA_HOME=/usr/java/jdk1.8.0_91
        • export JAVA_OPTIONS="-Djava.security.egd=file:/dev/./urandom"
        • PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
        • export PATH
      • Connect o Machine via VNC Client (make sure VNCServer is running in the box)
      • From VNC Client go to Shell prompt
      • Switch to weblogic user
        • $su - weblogic
      • Run the Installer from the directory where weblogic installer jar is copied
        • $java -jar fmw_12.1.3.0.0_wls.jar
      • You will get pre-requisite check warnings, make sure all checks are passed (except for 256 color warning in which case you can proceed with 'y')
      • Let all defaults values (like inventory location, installation location, installation type) to be selected except installation path which you can specify as under /app
      • You may Uncheck the check box where it is asked to get information on security updates
      • After installation it would prompt for domain creation, say No
  • Note: we did not create domain in the 2nd Node
  • From the 1st Primary Node create a teamplate.jar 
    • SSL CLI to 1st Node and switch to webloigc user
    • $cd /app/Oracle/Middleware/Oracle_Home/oracle_common/common/bin
    • $./pack.sh -managed=true -domain="/app/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain" -template=midtiertemplate.jar -template_name="midtiertemplate"
    • This will create a midtiertemplate.jar in the path /app/Oracle/Middleware/Oracle_Home/oracle_common/common/bin
  • Use template created from 1st Node to install it in 2nd Node 
  • SSH to 2nd Node and switch to weblogic User
  • copy template from 1st Node to 2nd Node 
    • $cd /app/Oracle/Middleware/Oracle_Home/oracle_common/common/bin
    • $scp root@<HOST-NAME-OF-1ST-NODE>:/app/Oracle/Middleware/Oracle_Home/oracle_common/common/bin/midtiertemplate.jar .
  • $./unpack.sh -domain="/app/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain" -template="/app/Oracle/Middleware/Oracle_Home/oracle_common/common/bin/midtiertemplate.jar"
  • Check for successful message in the command prompt
  • Register this 2nd Machine NodeManager with 1st Machine 
    • SSH to 2nd Machine and switch to weblogic user
    • $su - weblogic
    • $cd /app/Oracle/Middleware/Oracle_Home/oracle_common/user_projects/domains/base_domain/bin/
    • $. setDomainEnv.sh
    • java weblogic.WLST 
    • A new prompt will come:
    • >>connect('weblogic','Weblogic123','t3://<HOST-NAME-OF-1ST-NODE>:7001')
    • >>nmEnroll('/app/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/','/app/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/nodemanager/')
    • >>exit()
  • Start the NodeManager in 2nd Machine 
    • $cd /app/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain
    • $nohup ./bin/startNodeManager.sh &
  • check the nohup log for successful startup 
  • If any issues, please check the nodemanager.properties file and correct the hostname.
  • Verify it from 1st Node 
    • Login to Admin Console UI of 1st Machine
    • Go to Machines -> 2nd Machine
    • Go to Tab Monitoring and check "Reachable" state for confirmation.
Thank You!