{"id":3075,"date":"2011-08-23T10:40:33","date_gmt":"2011-08-23T15:40:33","guid":{"rendered":"http:\/\/jianmingli.com\/wp\/?p=3075"},"modified":"2013-07-25T22:12:05","modified_gmt":"2013-07-26T03:12:05","slug":"weblogic-11g-setup-node-manage","status":"publish","type":"post","link":"https:\/\/jianmingli.com\/wp\/?p=3075","title":{"rendered":"WebLogic 11g: Setup Node Manage"},"content":{"rendered":"<span id=\"Overview\"><h2>Overview<\/h2><\/span>\n<p>* See <a href=\"?p=3049\">this post<\/a> for a Node Manager overview.<\/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<p>* See <a href=\"?p=1969\">this post<\/a> on how to install WebLogic and SOA Suite.<\/p>\n<span id=\"Setup_Machine\"><h2>Setup Machine<\/h2><\/span>\n<span id=\"Create_a_Machine_if_None_Exists\"><h3>Create a Machine if None Exists<\/h3><\/span>\n<p>* Start Admin Server with startup script.<br \/>\n* Login Admin Console.<br \/>\n* Create a new Machine type if one does not exist.<br \/>\n&#8211; Go to: <strong>soa_domain > Environment > Machines<\/strong><\/p>\n<span id=\"_1\"><h4><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/wl_machine_type.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/wl_machine_type-300x71.jpg\" alt=\"\" title=\"wl_machine_type\" width=\"300\" height=\"71\" class=\"aligncenter size-medium wp-image-3073\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/wl_machine_type-300x71.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/wl_machine_type.jpg 598w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h4><\/span>\n<span id=\"Assign_Machine_to_Managed_Server\"><h3>Assign Machine to Managed Server<\/h3><\/span>\n<p>* Assign managed servers to be managed by NM to newly created machine.<br \/>\n&#8211; Click <strong>soa_domain > Environment > Servers > Configuration<\/strong> tab.<br \/>\n&#8211; Click on the managed server to be added to new machine.<br \/>\n&#8211; Assign <strong>Machine <\/strong>property.<\/p>\n<span id=\"_2\"><h4><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/ms_assign_machine.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/ms_assign_machine-300x95.jpg\" alt=\"\" title=\"ms_assign_machine\" width=\"300\" height=\"95\" class=\"aligncenter size-medium wp-image-3070\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/ms_assign_machine-300x95.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/ms_assign_machine.jpg 374w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h4><\/span>\n<span id=\"Assign_Machine_to_Admin_Server\"><h3>Assign Machine to Admin Server<\/h3><\/span>\n<p>* Stop Admin Server with script.<br \/>\n* Go to domain config directory.<\/p>\n<pre>\r\ncd \/opt\/oracle\/Middleware\/home_11gr1\/user_projects\/domains\/soa_domain\/config\r\n<\/pre>\n<p>* Backup config.xml<\/p>\n<pre>\r\ncp config.xml config.xml.082211\r\n<\/pre>\n<p>* Assign AdminServer to machine by adding &lt;machine&gt;LocalMachine&lt;\/machine&gt; immediately beblow the AdminServer name element:<\/p>\n<pre lang=\"xml\">\r\n  <server>\r\n    <name>AdminServer<\/name>\r\n    <machine>LocalMachine<\/machine>\r\n  ...\r\n<\/pre>\n<p>* Start AdminServer with script.<br \/>\n* Check that AdminServer has been successfully assigned to machine.<\/p>\n<span id=\"_3\"><h4><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/as_assign_machine.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/as_assign_machine-300x29.jpg\" alt=\"\" title=\"as_assign_machine\" width=\"300\" height=\"29\" class=\"aligncenter size-medium wp-image-3071\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/as_assign_machine-300x29.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/as_assign_machine.jpg 783w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h4><\/span>\n<span id=\"Set_Server_Specific_Startup_Parameters\"><h3>Set Server Specific Startup Parameters<\/h3><\/span>\n<p>* If you have set StartScriptEnabled to true in nodemanager.properties (see below), then the class path and JVM arguments from the script will be used <em>first <\/em>and the values you specified on the Server Startup page second.<br \/>\n* You can override server specific startup parameters on the <strong>Environment > Servers > my_server > Configuration > Server Start<\/strong> page.<\/p>\n<span id=\"_4\"><h4><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/wl_nm_svr_startup.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/wl_nm_svr_startup-300x231.jpg\" alt=\"\" title=\"wl_nm_svr_startup\" width=\"300\" height=\"231\" class=\"aligncenter size-medium wp-image-3080\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/wl_nm_svr_startup-300x231.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/wl_nm_svr_startup-1024x791.jpg 1024w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2011\/08\/wl_nm_svr_startup.jpg 1187w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h4><\/span>\n<p>* Note: use <strong>-Xnohup<\/strong> instead of <em>-Xrs<\/em> if you use JRockit JVM.<\/p>\n<span id=\"Setup_NM\"><h2>Setup NM<\/h2><\/span>\n<span id=\"Modify_nodemanager.properties\"><h3>Modify nodemanager.properties<\/h3><\/span>\n<p>* Go to <strong>\/opt\/oracle\/Middleware\/home_11gr1\/wlserver_10.3\/common\/nodemanager<\/strong> directory.<\/p>\n<pre lang=\"bash\">\r\ncd \/opt\/oracle\/Middleware\/home_11gr1\/wlserver_10.3\/common\/nodemanager\r\n<\/pre>\n<p>* Edit nodemanager.properties and set the following properties to true:<\/p>\n<pre>\r\nCrashRecoveryEnabled=true\r\nStartScriptEnabled=true\r\nStopScriptEnabled=true\r\nPropertiesVersion=10.3\r\n<\/pre>\n<span id=\"Start_NM\"><h3>Start NM<\/h3><\/span>\n<pre lang=\"bash\">\r\n# start NM\r\ncd \/opt\/oracle\/Middleware\/home_11gr1\/wlserver_10.3\/server\/bin\r\n.\/startNodeManager.sh\r\n<\/pre>\n<span id=\"Invoke_WLST_and_Connect_to_NM\"><h3>Invoke WLST and Connect to NM<\/h3><\/span>\n<pre lang=\"bash\">\r\n# Start WLST\r\ncd \/opt\/oracle\/Middleware\/home_11gr1\/wlserver_10.3\/common\/bin\r\n.\/wlst.sh\r\n\r\n# Connect to NM\r\nnmConnect('weblogic', 'welcome1', 'localhost', '5556', 'soa_domain', '\/opt\/oracle\/Middleware\/home_11gr1\/user_projects\/domains\/soa_domain','ssl')\r\n<\/pre>\n<span id=\"Enroll_Domain_into_Node_Manager\"><h3>Enroll Domain into Node Manager<\/h3><\/span>\n<pre lang=\"bash\">\r\n# Connect to Admin Server:\r\nconnect('weblogic','welcome1','t3:\/\/localhost:7001')\r\n\r\n# Enroll domain:\r\nnmEnroll('\/opt\/oracle\/Middleware\/home_11gr1\/user_projects\/domains\/soa_domain', '\/opt\/oracle\/Middleware\/home_11gr1\/wlserver_10.3\/common\/nodemanager')\r\n<\/pre>\n<span id=\"Setup_Startup_Script\"><h2>Setup Startup Script<\/h2><\/span>\n<span id=\"Set_Debug_Flag_to_False\"><h3>Set Debug Flag to False<\/h3><\/span>\n<p>* In dev mode, the debug flag defaults to true in the startup script. It will cause <em>error 202: bind failed: Address already in use<\/em> error when you try to start managed servers.<\/p>\n<pre lang=\"bash\">\r\ncd \/opt\/oracle\/Middleware\/home_11gr1\/user_projects\/domains\/soa_domain\/bin\r\nvi setDomainEnv.sh\r\n\r\n#debugFlag=\"true\"\r\ndebugFlag=\"false\"\r\nexport debugFlag\r\n<\/pre>\n<span id=\"Start_Servers_via_NM\"><h2>Start Servers via NM<\/h2><\/span>\n<span id=\"Start_Admin_Server_via_NM\"><h3>Start Admin Server via NM<\/h3><\/span>\n<p>* Stop Admin Server with script.<br \/>\n* Start Admin Server with NM:<\/p>\n<pre lang=\"bash\">\r\n# Connect to NM\r\nnmConnect('weblogic', 'welcome1', 'localhost', '5556', 'soa_domain', '\/opt\/oracle\/Middleware\/home_11gr1\/user_projects\/domains\/soa_domain','ssl')\r\n\r\n# Start AdminServer\r\nnmStart('AdminServer')\r\n\r\n# Show Admin Server status\r\nnmServerStatus('AdminServer')\r\n<\/pre>\n<span id=\"Start_Managed_Server_via_NM\"><h3>Start Managed Server via NM<\/h3><\/span>\n<pre lang=\"bash\">\r\n# Connect to Admin Server\r\nconnect('weblogic','welcome1','t3:\/\/localhost:7001')\r\n\r\n# Start Managed Server\r\nstart('soa_server1')\r\n\r\nnmServerStatus('soa_server1')\r\n<\/pre>\n<span id=\"Test_Crash_Recovery\"><h2>Test Crash Recovery<\/h2><\/span>\n<p>* Find pid for managed server.<\/p>\n<pre lang=\"bash\">\r\ncd \/opt\/oracle\/Middleware\/home_11gr1\/user_projects\/domains\/soa_domain\/servers\/soa_server1\/data\/nodemanager\r\ncat cat soa_server1.pid\r\n\r\n# We got\r\n21786\r\n\r\n# Check process and we got one process\r\nps -ef|grep 21786\r\n<\/pre>\n<p>* Kill process manually.<\/p>\n<pre lang=\"bash\">\r\n# Kill process\r\nkill -9 21786\r\n\r\n# Recheck process and it should be gone\r\n<\/pre>\n<p>* Check auto start.<\/p>\n<pre lang=\"bash\">\r\n# Check soa_server1.pid and we got a new process id\r\n24600\r\n<\/pre>\n<p>* Login Admin Console and you should see soa_server1 is in the state of <strong>STARTING<\/strong> or <strong>RUNNING<\/strong>.<\/p>\n<span id=\"Issues\"><h2>Issues<\/h2><\/span>\n<span id=\"error_202:_bind_failed:_Address_already_in_use\"><h3>error 202: bind failed: Address already in use<\/h3><\/span>\n<p>* This happened when I tried to start managed server from NM.<br \/>\n* It&#8217;s due to servers were started in debug mode and the debug port is already in use by Admin Server when it got started.<br \/>\n* See <a href=\"https:\/\/forums.oracle.com\/forums\/thread.jspa?threadID=944468&#038;start=0&#038;tstart=0\">this post<\/a> for more discussions.<br \/>\n* Fix: set debugFlag to false in setDomainEnv.sh file.<\/p>\n<pre lang=\"bash\">\r\ncd \/opt\/oracle\/Middleware\/home_11gr1\/user_projects\/domains\/soa_domain\/bin\r\nvi setDomainEnv.sh\r\n\r\n#debugFlag=\"true\"\r\ndebugFlag=\"false\"\r\nexport debugFlag\r\n<\/pre>\n<span id=\"failed_hostname_verification_check\"><h3>failed hostname verification check<\/h3><\/span>\n<p>* Error message:<\/p>\n<pre lang=\"bash\">\r\nStarting server soa_server1 .....[Security:090504]Certificate chain received from localhost - 127.0.0.1 failed hostname verification check. Certificate contained localhost.localdomain but check expected localhost\r\n<\/pre>\n<p>* Fix: see <a href=\"http:\/\/romilbhagat.blogspot.com\/2010\/06\/changing-hostnameip-for-weblogic-11g.html\">this post<\/a>.<\/p>\n<pre lang=\"bash\">\r\n$ cd \/opt\/oracle\/Middleware\/wlserver_10.3\/server\/bin\r\n$ . .\/setWLSEnv.sh \r\n$ cd \/opt\/oracle\/Middleware\/wlserver_10.3\/server\/lib\r\n$ cp DemoIdentity.jks DemoIdentity.jks.ori\r\n\r\n$ java utils.CertGen -cn oradev -keyfilepass DemoIdentityPassPhrase -certfile newcert -keyfile newkey\r\n\r\nGenerating a certificate with common name oradev and key strength 1024\r\nissued by CA with certificate from CertGenCA.der file and key from CertGenCAKey.der file\r\n\r\n$ java utils.ImportPrivateKey -keystore DemoIdentity.jks -storepass DemoIdentityKeyStorePassPhrase -keyfile newkey.pem -keyfilepass DemoIdentityPassPhrase -certfile newcert.pem -alias demoidentity\r\n\r\nNo password was specified for the key entry\r\nKey file password will be used\r\n<Dec 1, 2012 7:19:42 PM PST> <Info> <Security> <BEA-090906> <Changing the default Random Number Generator in RSA CryptoJ from ECDRBG to FIPS186PRNG. To disable this change, specify -Dweblogic.security.allowCryptoJDefaultPRNG=true> \r\n\r\nImported private key newkey.pem and certificate newcert.pem\r\ninto keystore DemoIdentity.jks of type jks under alias demoidentity\r\n<\/pre>\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><br \/>\n* <a href=\"http:\/\/blogs.oracle.com\/jamesbayer\/entry\/weblogic_nodemanager_quick_sta\">WebLogic NodeManager Quick Start<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overview * See this post for a Node Manager overview. * See this post on how to install WebLogic and SOA Suite. Setup Machine Create a Machine if None Exists * Start Admin Server with startup script. * Login Admin &hellip; <a href=\"https:\/\/jianmingli.com\/wp\/?p=3075\">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":[104],"tags":[],"class_list":["post-3075","post","type-post","status-publish","format-standard","hentry","category-weblogic11g"],"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\/3075","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=3075"}],"version-history":[{"count":17,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/3075\/revisions"}],"predecessor-version":[{"id":7895,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/3075\/revisions\/7895"}],"wp:attachment":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3075"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3075"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3075"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}