{"id":3049,"date":"2011-08-23T10:40:30","date_gmt":"2011-08-23T15:40:30","guid":{"rendered":"http:\/\/jianmingli.com\/wp\/?p=3049"},"modified":"2012-07-25T09:48:35","modified_gmt":"2012-07-25T14:48:35","slug":"weblogic-11g-node-manager-overview","status":"publish","type":"post","link":"https:\/\/jianmingli.com\/wp\/?p=3049","title":{"rendered":"WebLogic 11g: Node Manager Overview"},"content":{"rendered":"<span id=\"Overview\"><h2>Overview<\/h2><\/span>\n<p>* <em>Not <\/em>associated with a specific WebLogic domain.<br \/>\n* <em>Is <\/em>Associated with a <em>machine<\/em>.<br \/>\n* Same node manager can control server instances in any WebLogic Server domain, as long as server instances reside on the same machine as the Node Manager.<\/p>\n<span id=\"\"><h4><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/nm_architecture.gif\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/nm_architecture-300x189.gif\" alt=\"\" title=\"nm_architecture\" width=\"300\" height=\"189\" class=\"aligncenter size-medium wp-image-3087\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/nm_architecture-300x189.gif 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/nm_architecture.gif 665w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h4><\/span>\n<span id=\"Node_Manager_Types\"><h3>Node Manager Types<\/h3><\/span>\n<span id=\"Java-based_Node_Manager\"><h4><a href=\"http:\/\/download.oracle.com\/docs\/cd\/E17904_01\/web.1111\/e13740\/java_nodemgr.htm#i1068397\">Java-based Node Manager<\/a><\/h4><\/span>\n<p>* Version can be found in <a href=\"http:\/\/download.oracle.com\/docs\/cd\/E17904_01\/web.1111\/e13740\/java_nodemgr.htm#i1068413\">nodemanager.properties<\/a><br \/>\n* Compare to script-based:<br \/>\n&#8211; More secure.<br \/>\n&#8211; Faster due to consensus leasing.<\/p>\n<span id=\"Script-based_Node_Manager\"><h4><a href=\"http:\/\/download.oracle.com\/docs\/cd\/E17904_01\/web.1111\/e13740\/script_nodemgr.htm#g1077787\">Script-based Node Manager<\/a><\/h4><\/span>\n<p>* <em>Not <\/em>supported in Windows OS.<br \/>\n* Compare to Java-based:<br \/>\n&#8211; Easier to configure (just copying, existing SSH connections).<br \/>\n&#8211; Smaller footprint.<\/p>\n<span id=\"Access_Node_Manager\"><h3>Access Node Manager<\/h3><\/span>\n<p>* Admin Console<br \/>\n* WLST<\/p>\n<span id=\"Node_Manager_Function\"><h3>Node Manager Function<\/h3><\/span>\n<p>* Start\/Stop\/Suspend\/Restart managed server.<br \/>\n* Auto restart failed Admin\/Managed servers that were started by node manager.<br \/>\n* Monitor servers.<br \/>\n* View log files.<\/p>\n<span id=\"Node_Manager_Config_Files\"><h3><a href=\"http:\/\/download.oracle.com\/docs\/cd\/E17904_01\/web.1111\/e13740\/overview.htm#i1075154\">Node Manager Config Files<\/a><\/h3><\/span>\n<p><strong>WL_HOME\/common\/nodemanager Directory<\/strong><br \/>\n<em>nodemanager.properties<\/em><br \/>\n* Used by Java-based Node Manager.<\/p>\n<p><em>nodemanager.domains<\/em><br \/>\n* Contains domain name and directory mappings.<\/p>\n<p><em>nm_data.properties<\/em><br \/>\n* Contains symmetric encryption key.<\/p>\n<p><strong>DOMAIN_HOME\/config\/nodemanager Directory<\/strong><br \/>\n<em>nm_password.properties<\/em><br \/>\n* Contains NM username and password.<\/p>\n<p><strong>DOMAIN_HOME\/servers\/server_name\/data\/nodemanager Directory<\/strong><br \/>\n<em>boot.properties<\/em><br \/>\n* Contains user credentials when starting a server.<\/p>\n<p><em>startup.properties<\/em><br \/>\n* Used to start\/restart managed servers.<br \/>\n* Contains properties copies from Admin Server.<br \/>\n* One file for each managed server.<\/p>\n<p><em>server_name.addr<\/em><br \/>\n* Contains IP address added when a server starts or is migrated.<br \/>\n* Generated after server IP address is successfully brought online during migration.<br \/>\n* Deleted when IP address is brought offline.<\/p>\n<p><em>server_name.lck<\/em><br \/>\n* Generated by each server.<br \/>\n* Contains internal lock id.<\/p>\n<p><em>server_name.pid<\/em><br \/>\n* Contains process id for each server.<\/p>\n<p><em>server_name.state<\/em><br \/>\n* Contains server&#8217;s current state.<\/p>\n<span id=\"Log_Files\"><h3><a href=\"http:\/\/download.oracle.com\/docs\/cd\/E17904_01\/web.1111\/e13740\/overview.htm#i1079068\">Log Files<\/a><\/h3><\/span>\n<p><em>nodemanager.log<\/em><br \/>\n* For Java-based node manager only.<br \/>\n* Located in WL_HOME\/common\/nodemanager directory.<br \/>\n* Can be viewed by<br \/>\n&#8211; Admin Console:<strong> Machines > Monitoring > Node Manager Log<\/strong> page.<br \/>\n&#8211; WLST <strong>nmlog <\/strong>command.<\/p>\n<p><em>server_name.out<\/em><br \/>\n* Server specific log file.<br \/>\n* Located in domain_name\/servers\/server_name\/logs directory.<br \/>\n* Can be viewed by<br \/>\n&#8211; Admin Console:<strong> Diagnostics > Log<\/strong> page.<br \/>\n&#8211; WLST <strong>nmServerLog <\/strong>command.<\/p>\n<span id=\"General_Node_Manager_Configuration\"><h2>General Node Manager Configuration<\/h2><\/span>\n<span id=\"Configure_Machine_to_Run_NM\"><h3>Configure Machine to Run NM<\/h3><\/span>\n<span id=\"Default_Behavior\"><h4>Default Behavior<\/h4><\/span>\n<p>* NM is ready to run after WebLogic Server installation if you<br \/>\n&#8211; run NM and WLS on the same machine.<br \/>\n&#8211; use the demo SSL config.<br \/>\n* NM can be started using NM via WLS.<br \/>\n* NM monitors the MS that it started.<br \/>\n* Auto restart of MS is enabled.<\/p>\n<span id=\"Enroll_WLST_Client_in_Prod_Environment\"><h4>Enroll WLST Client in Prod Environment<\/h4><\/span>\n<p>* Start WLS.<br \/>\n* Update NM credentials.<br \/>\n&#8211; Click <strong>domain_name -> Security -> General tab<\/strong>.<br \/>\n&#8211; Click <strong>Advanced <\/strong>arrow.<br \/>\n&#8211; Update <strong>NodeManager Password<\/strong>.<br \/>\n* Invoke WLST and use connect command to connect to WLS.<br \/>\n* Use nmEnroll to envroll WLST client.<br \/>\n&#8211; Syntax:<\/p>\n<pre>\r\nnmEnroll([domainDir], [nmHome])\r\n<\/pre>\n<p>* Sample run:<\/p>\n<pre>\r\ncd \/opt\/oracle\/Middleware\/home_11gr1\/wlserver_10.3\/common\/bin\r\n.\/wlst.sh\r\n\r\nnmConnect('weblogic', 'welcome1', 'localhost', '5556', 'soa_domain', '\/opt\/oracle\/Middleware\/home_11gr1\/user_projects\/domains\/soa_domain','ssl')\r\nConnecting to Node Manager ...\r\nSuccessfully Connected to Node Manager.\r\n\r\nnmEnroll('\/opt\/oracle\/Middleware\/home_11gr1\/user_projects\/domains\/soa_domain', '\/opt\/oracle\/Middleware\/home_11gr1\/wlserver_10.3\/common\/nodemanager')\r\nEnrolling this machine with the domain directory at \/opt\/oracle\/Middleware\/home_11gr1\/user_projects\/domains\/soa_domain ...\r\nSuccessfully enrolled this machine with the domain directory at \/opt\/oracle\/Middleware\/home_11gr1\/user_projects\/domains\/soa_domain.\r\n<\/pre>\n<p>* Run nmEnroll<br \/>\n&#8211; on each machine that is running a MS.<br \/>\n&#8211; on each domain directory on each machine.<\/p>\n<span id=\"Specify_Node_Manager_Username_and_Password\"><h4>Specify Node Manager Username and Password<\/h4><\/span>\n<p>* Maintained in nm_password.properties file.<br \/>\n* nm_password.properties is created by <em>nmEnroll <\/em>command.<br \/>\n* Use Admin Console to change username and password.<br \/>\n* Manual editing of nm_password.properties file requires NM restart.<\/p>\n<span id=\"Configure_a_Machine_to_user_NM\"><h4>Configure a Machine to user NM<\/h4><\/span>\n<p>* Config machine definition for each machine that runs a NM process<br \/>\n&#8211; Login Admin Console.<br \/>\n&#8211; Go to <strong>Environment > Machines > machine_name > Node Manager<\/strong>.<br \/>\n&#8211; Set <strong>Listen Address<\/strong> and <strong>Listen Port<\/strong>.<\/p>\n<span id=\"_1\"><h4><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/nm_settings.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/nm_settings-178x300.jpg\" alt=\"\" title=\"nm_settings\" width=\"178\" height=\"300\" class=\"aligncenter size-medium wp-image-3067\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/nm_settings-178x300.jpg 178w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/nm_settings.jpg 271w\" sizes=\"auto, (max-width: 178px) 100vw, 178px\" \/><\/a><\/h4><\/span>\n<span id=\"Config_nodemanager.domains_File\"><h4>Config nodemanager.domains File<\/h4><\/span>\n<p>* This file specifies domains that a NM instance controls in the format:<br \/>\ndomain-name=domain-directory<\/p>\n<pre>\r\ncd \/opt\/oracle\/Middleware\/home_11gr1\/wlserver_10.3\/common\/nodemanager\r\ncat nodemanager.domains\r\n\r\nsoa_domain=\/opt\/oracle\/Middleware\/home_11gr1\/user_projects\/domains\/soa_domain\r\n<\/pre>\n<p>* Client can only execute commands for the domains listed in this file.<\/p>\n<span id=\"Config_Remote_Startup_Arguments\"><h4>Config Remote Startup Arguments<\/h4><\/span>\n<p>* In Admin Server&#8217;s <strong>Server > Configuration > Server Start<\/strong> page.<br \/>\n* If NM is run as a Windows Service, you must config following JVM property for each MS. Otherwise, NM can not restart MS.<br \/>\n&#8211; For Sun JVM: <strong>-Xrs<\/strong><br \/>\n&#8211; For JRockit: <strong>-Xnohup<\/strong><\/p>\n<span id=\"Config_Server_Startup_Properties\"><h4>Config Server Startup Properties<\/h4><\/span>\n<p>* Defined in DOMAIN_HOME\/servers\/server_name\/data\/nodemanager\/startup.properties file.<\/p>\n<span id=\"Define_Admin_Server_Listen_Address\"><h4>Define Admin Server Listen Address<\/h4><\/span>\n<p>* Make sure that a listen address is defined for each Administration Server that will connect to the Node Manager process.<br \/>\n* If the listen address for an Administration Server is not defined, when Node Manager starts a Managed Server it will direct the Managed Server to contact localhost for its configuration information.<br \/>\n* Set the Listen Address using the <strong>Servers > Configuration > General page<\/strong> in the Administration Console.<\/p>\n<span id=\"Set_NM_Env_Variables\"><h4>Set NM Env Variables<\/h4><\/span>\n<p>* See samples startup script at<br \/>\n\/opt\/oracle\/Middleware\/home_11gr1\/wlserver_10.3\/server\/bin\/ startNodeManager.sh<\/p>\n<span id=\"Config_Java_NM\"><h2>Config Java NM<\/h2><\/span>\n<span id=\"Reconfigure_Startup_Service_for_Windows_Installations\"><h3>Reconfigure Startup Service for Windows Installations<\/h3><\/span>\n<p>* Go to <strong>WL_HOME\\server\\bin<\/strong> directory.<br \/>\n* Delete the existing service using <strong>uninstallNodeMgrSvc.cmd<\/strong> script.<br \/>\n* Edit <strong>installNodeMgrSvc.cmd<\/strong> to specify Node Manager&#8217;s listen address and listen port.<br \/>\n* Make the same edit to <strong>uninstallNodeMgrSvc.cmd<\/strong>.<br \/>\n* Run <strong>installNodeMgrSvc.cmd<\/strong> to re-install Node Manager as a service, listening on the updated address and port.<\/p>\n<span id=\"Config_Script_NM\"><h2>Config Script NM<\/h2><\/span>\n<span id=\"Start_NM\"><h2>Start NM<\/h2><\/span>\n<span id=\"Start_Java-based_NM_Using_Scripts\"><h3>Start Java-based NM Using Scripts<\/h3><\/span>\n<span id=\"Sample_NM_Startup_Script\"><h4>Sample NM Startup Script<\/h4><\/span>\n<p>* Located in <strong>WL_HOME\\server\\bin<\/strong> directory:<br \/>\n&#8211; Win: <strong>startNodeManager.cmd<\/strong><br \/>\n&#8211; Unix: <strong>startNodeManager.sh<\/strong><br \/>\n* Working directory is: <strong>WL_HOME\/common\/nodemanager<\/strong><\/p>\n<span id=\"Stop_Java-based_NM\"><h3>Stop Java-based NM<\/h3><\/span>\n<p>* <strong>Ctr-C<\/strong> or close the command shell.<br \/>\n* Use WLST <strong>stopNodeManager<\/strong>.<br \/>\n&#8211; Need to set in nodemanager.properties.<\/p>\n<pre>\r\nQuitEnabled=true\r\n<\/pre>\n<span id=\"Use_NM\"><h2>Use NM<\/h2><\/span>\n<span id=\"Start_Admin_Server_with_NM\"><h3>Start Admin Server with NM<\/h3><\/span>\n<p>* Start NM.<br \/>\n* <a href=\"http:\/\/download.oracle.com\/docs\/cd\/E17904_01\/web.1111\/e13715\/using_wlst.htm#WLSTG135\">Invoke WLST<\/a>.<br \/>\n* nmConnect to NM.<br \/>\n* nmStart Admin Server.<\/p>\n<span id=\"Start_Managed_Server_with_NM\"><h3>Start Managed Server with NM<\/h3><\/span>\n<p>* Start NM.<br \/>\n* <a href=\"http:\/\/download.oracle.com\/docs\/cd\/E17904_01\/web.1111\/e13715\/using_wlst.htm#WLSTG135\">Invoke WLST<\/a>.<br \/>\n* nmConnect to NM.<br \/>\n* Start Managed Server.<\/p>\n<pre lang=\"bash\">\r\nwls:\/wl_server\/serverConfig> start('MyMSvr2')\r\n\r\nStarting server MyMSvr2 .................................................\r\nServer with name MyMSvr2 started successfully\r\n<\/pre>\n<p>* Stop Managed Server.<\/p>\n<pre lang=\"bash\">\r\nwls:\/wl_server\/serverConfig> nmKill('MyMSvr2')\r\nKilling server MyMSvr2 ...\r\nSuccessfully killed server MyMSvr2 ...\r\n<\/pre>\n<span id=\"Start_Managed_Server_with_NM_without_Admin_Server\"><h3>Start Managed Server with NM without Admin Server<\/h3><\/span>\n<p>* Used when Admin Server is <strong>not <\/strong>available.<br \/>\n* Similar to with Admin Server but use nmStart instead of Start WLST command.<\/p>\n<span id=\"Example_Setup\"><h2>Example Setup<\/h2><\/span>\n<p>* See <a href=\"?p=3075\">this post<\/a> for an example NM setup.<\/p>\n<span id=\"References\"><h2>References<\/h2><\/span>\n<p>* <a href=\"http:\/\/download.oracle.com\/docs\/cd\/E17904_01\/web.1111\/e13740\/toc.htm\">Oracle\u00ae Fusion Middleware Node Manager Administrator&#8217;s Guide for Oracle WebLogic Server 11g Release 1 (10.3.4) Part Number E13740-03<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overview * Not associated with a specific WebLogic domain. * Is Associated with a machine. * Same node manager can control server instances in any WebLogic Server domain, as long as server instances reside on the same machine as the &hellip; <a href=\"https:\/\/jianmingli.com\/wp\/?p=3049\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[91],"tags":[],"class_list":["post-3049","post","type-post","status-publish","format-standard","hentry","category-weblogic"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8cRUO-Nb","_links":{"self":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/3049","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3049"}],"version-history":[{"count":23,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/3049\/revisions"}],"predecessor-version":[{"id":5485,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/3049\/revisions\/5485"}],"wp:attachment":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3049"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3049"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3049"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}