Amit Anand created HDFS-10309: --------------------------------- Summary: HDFS Balancer doesn't honor dfs.blocksize value defined with suffix k(kilo), m(mega), g(giga) Key: HDFS-10309 URL: https://issues.apache.org/jira/browse/HDFS-10309 Project: Hadoop HDFS Issue Type: Bug Components: balancer & mover Affects Versions: 2.8.0 Reporter: Amit Anand Assignee: Amit Anand
While running HDFS Balancer I get error given below when {{dfs.blockSize}} is defined with suffix {{k(kilo), m(mega), g(giga)}}. In my deployment {{dfs.blocksize}} is set to {{128m}}. {code} hdfs@bcpc-vm1:/home/ubuntu$ hdfs balancer 16/04/19 08:49:51 INFO balancer.Balancer: namenodes = [hdfs://Test-Laptop] 16/04/19 08:49:51 INFO balancer.Balancer: parameters = Balancer.BalancerParameters [BalancingPolicy.Node, threshold = 10.0, max idle iteration = 5, #excluded nodes = 0, #included nodes = 0, #source nodes = 0, #blockpools = 0, run during upgrade = false] 16/04/19 08:49:51 INFO balancer.Balancer: included nodes = [] 16/04/19 08:49:51 INFO balancer.Balancer: excluded nodes = [] 16/04/19 08:49:51 INFO balancer.Balancer: source nodes = [] Time Stamp Iteration# Bytes Already Moved Bytes Left To Move Bytes Being Moved 16/04/19 08:49:52 INFO balancer.KeyManager: Block token params received from NN: update interval=10hrs, 0sec, token lifetime=10hrs, 0sec 16/04/19 08:49:52 INFO block.BlockTokenSecretManager: Setting block keys 16/04/19 08:49:52 INFO balancer.KeyManager: Update block keys every 2hrs, 30mins, 0sec 16/04/19 08:49:52 INFO balancer.Balancer: dfs.balancer.movedWinWidth = 5400000 (default=5400000) 16/04/19 08:49:52 INFO balancer.Balancer: dfs.balancer.moverThreads = 1000 (default=1000) 16/04/19 08:49:52 INFO balancer.Balancer: dfs.balancer.dispatcherThreads = 200 (default=200) 16/04/19 08:49:52 INFO balancer.Balancer: dfs.datanode.balance.max.concurrent.moves = 5 (default=5) 16/04/19 08:49:52 INFO balancer.Balancer: dfs.balancer.getBlocks.size = 2147483648 (default=2147483648) 16/04/19 08:49:52 INFO balancer.Balancer: dfs.balancer.getBlocks.min-block-size = 10485760 (default=10485760) 16/04/19 08:49:52 INFO block.BlockTokenSecretManager: Setting block keys 16/04/19 08:49:52 INFO balancer.Balancer: dfs.balancer.max-size-to-move = 10737418240 (default=10737418240) Apr 19, 2016 8:49:52 AM Balancing took 1.408 seconds 16/04/19 08:49:52 ERROR balancer.Balancer: Exiting balancer due an exception java.lang.NumberFormatException: For input string: "128m" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Long.parseLong(Long.java:589) at java.lang.Long.parseLong(Long.java:631) at org.apache.hadoop.conf.Configuration.getLong(Configuration.java:1311) at org.apache.hadoop.hdfs.server.balancer.Balancer.getLong(Balancer.java:221) at org.apache.hadoop.hdfs.server.balancer.Balancer.<init>(Balancer.java:281) at org.apache.hadoop.hdfs.server.balancer.Balancer.run(Balancer.java:660) at org.apache.hadoop.hdfs.server.balancer.Balancer$Cli.run(Balancer.java:774) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76) at org.apache.hadoop.hdfs.server.balancer.Balancer.main(Balancer.java:903) {code} However, the workaround for this is to run {{hdfs balancer}} with passing numeric value for {{dfs.blocksize}} {code} hdfs balancer -Ddfs.blocksize=134217728 {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)