Usually namenode console logs will be in .out file. -vinay On Apr 20, 2016 12:03 AM, "Kun Ren" <ren.h...@gmail.com> wrote:
> Hi Vinay, > > Thanks a lot for your quick reply. > > My current configuration is: I run the pseudo-distributed mode in my one > Linux machine. > Yes, I changed the code in eclipse first, and then re-compiled the code, > and then restart HDFS using the new binary, and re-debug, but still can > not see any output? When you said "the console of remote process", do you > mean the console of the terminal that I run the command? > > If I want to change some code, Could you please explain a little more > about how to debug/run my new modified code? Thanks so much. > > > > On Tue, Apr 19, 2016 at 2:17 PM, Vinayakumar B <vinayakum...@apache.org> > wrote: > >> >> -Vinay >> >> ---------- Forwarded message ---------- >> From: Vinayakumar B <vinayakum...@apache.org> >> Date: Tue, Apr 19, 2016 at 11:47 PM >> Subject: Re: Eclipse debug HDFS server side code >> To: Kun Ren <ren.h...@gmail.com> >> >> >> 1. Since you are debugging remote code, you can't change the code >> dynamically during debugging. If you want to change, put the compiled code >> in remote process, and restart, reconnect and debug again. >> 2. All the console messages will be printed on the console of remote >> process, not in eclipse. >> 3. Though you cannot change the code, but you can change/inspect the >> value of value of an variable in 'display' window. >> >> You can explore more related to these. >> >> -Vinay >> >> On Tue, Apr 19, 2016 at 11:42 PM, Kun Ren <ren.h...@gmail.com> wrote: >> >>> Hi Vinay, >>> >>> Thanks a lot, it works:) >>> >>> I have another question: >>> 1. When I add the following lines into the public boolean mkdirs(String >>> src, FsPermission masked, boolean createParent) in the >>> NameNodeRpcServer.java, >>> >>> LOG.warn("NameNodeRpcServer.java:mkdirs, log level=warn"); >>> System.out.println("In NameNodeRpcServer.java:mkdirs, before do >>> actual work"); >>> >>> But I can not see any output either from my terminal or Eclipse console >>> when I step-by-step debug this function, do you know why? >>> >>> 2. When I debug the client side code, for example FsShell, the default >>> log level is INFO, I changed the level to DEBUG using the >>> http://localhost:50070/logLevel, however, it still can not print out >>> LOG.debug(), but I can see LOG.info(), I don't know why it can not print >>> out debug information even I set the log level to DEBUG. >>> >>> >>> Thanks a lot for your help, >>> >>> >>> >>> >>> >>> On Tue, Apr 19, 2016 at 12:21 PM, Vinayakumar B <vinayakum...@apache.org >>> > wrote: >>> >>>> Hi Kun Ren, >>>> >>>> You can follow the below steps. >>>> 1. configure HADOOP_NAMENODE_OPTS="-Xdebug >>>> -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=3988" in >>>> hadoop-env.sh >>>> 2. Start Namenode >>>> 3. Now Namenode will start debug port in 3988. >>>> 4. Configure Remote debug application to connect to >>>> <namenode_host>:3988 in eclipse >>>> 5. Now add a breakpoint in NameNodeRpcServer.java's any method you want >>>> to debug. NameNodeRpcServer.java is the gateway between NameNode and IPC >>>> Server Layer. >>>> 6. Now you can do step-by-step execution to observe the detailed >>>> executions. >>>> >>>> Happy Debugging ;) >>>> >>>> -Vinay >>>> >>>> On Tue, Apr 19, 2016 at 8:46 PM, Kun Ren <ren.h...@gmail.com> wrote: >>>> >>>>> Hi All, >>>>> >>>>> Currently I used eclipse to compile/debug the source code, and I >>>>> configured the "remote Java application" to debug the source code in >>>>> eclipse, for example, I can debug the client side code when I run the >>>>> command "./bin/hdfs dfs -mkdir test", it goes through "FsShell---> >>>>> DistributedFileSystem---->DFSClient ....->send request to the server side. >>>>> Then it finish debugging, but I can not see how the server side handle the >>>>> request. >>>>> >>>>> >>>>> However, I want to debug and see how the server side(HDFS) handle the >>>>> request? Do you know how I can do this? Thanks so much. Also when I try >>>>> to >>>>> add some debug information(such as print out something), but I can not see >>>>> anything printed out in eclipse, I don't know why. Thanks again. >>>>> >>>>> Best, >>>>> Kun >>>>> >>>> >>>> >>> >> >> >