重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
hadoop MapReduce初试遇到的问题
创新互联建站是一家专业提供武邑企业网站建设,专注与成都网站建设、网站设计、H5场景定制、小程序制作等业务。10年已为武邑众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。
./hadoop jar ./MapReduce-jar-with-dependencies.jar com.hc360.mp.WordCountHbaseReader /user/hbase/tabelname01 tablename
在hadoop集群上执行 MapReduce任务时,需要用到许多依赖jar,一般情况下都是在执行时,在执行命令上进行配置指定,这样会造成执行命令太长,并且容易出错,有时还想带几个参数信息,这样更容易出错;
比较好的处理方法是,在生成运行jar时,将需要的依赖jar打包到运行jar中,这样在执行时所有依赖的jar都有了,就不用指定了。
./hdfs dfs -rmr /user/hbase/
hdfs上已有的文件不能进行覆盖,生成文件时必须是没有的新文件,可以在产生文件前执行以上命令清除已有的文件:
16/07/19 18:26:08 INFO ipc.Client: Retrying connect to server: xxxx/192.168.xx.xx:8032. Already tried 4 time(s); retry policy is etryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
hadoop集群上,如果没有启动 yarn(MapReduce),当运行MapReduce任务时,会提示上面的信息;
当执行hadoop的shell命令时,如果提示类似上面的信息,可以查看是否启动了hadoop进程。
java.lang.IllegalArgumentException: Does not contain a valid host:port authority:
java.net.UnknownHostException
hadoop集群的hostname配置,主机名不要包含下划线“_”,但可以有横线“-”。
在hadoop集群中每个机器都要配置集群所有机器的hostname域名,以便相互访问。
这里分享一个血的教训,在给hostname起名字的时候一定要注意,虽然linux支持一些特殊字符,但java里面并不支持,所以hostname的命名一定要使用数字和字母(以点号分隔)。如果起的hostname包含了特殊字符下划线,导致hadoop运行时候的reduce阶段出错。