Hadoop技术资料整理

配置 Hadoop 时遇到的一些问题

2017-06-30  本文已影响80人  阿群1986

hadoop 安装/启动步骤中常见问题


Hadoop 2.x 命令及可执行文件目录的变化:
在1.x中,所有的命令文件,都是放在bin目录下,没有区分客户端和服务端命令,并且最终命令的执行都会调用hadoop去执行;而在2.x中将服务端使用的命令单独放到了sbin目录,其中有几个主要的变化:

参考资料:Hadoop入门进阶步步高(六)-Hadoop1.x与Hadoop2的区别


dfs.replication这个参数是个client参数(需要在每台datanode或client上设置)
默认值=3个副本已经够用了,设置越大越浪费存储空间
上传一个文件到hdfs://上时,当前dfs.replication指定的是几就会存储几份文件。即使以后你修改了dfs.replication的默认值,也对已经上传了的文件也不会起任何作用。另外,可以在上传文件的同时指定创建的副本数
$HADOOP_HOME/bin/hdfs dfs -D dfs.replication=1 -put 本地文件名 远端存储位置

参考资料:hadoop 的 dfs.replication 参数


hadoop 2.7 版及以上版本指定 namenode 主机地址时用到的 xml 变量是 fs.defaultFS (之前老版本用的是 fs.default.name):

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://192.168.0.52:54310</value>
</property>

端口号由用户自行指定, 例如上面的端口号是54310

指定 secondary namenode 在哪台主机上运行用到的 xml 变量是:

<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>0.0.0.0:9868</value>
</property>

secondary 默认值是在运行start-dfs.sh脚本的主机上启动 secondary namenode. 其 web服务器运行在 9868(http) 或 9869(https)端口上.

各种参数默认值如下:

http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/core-default.xml

http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml


dfs.client.socket-timeout
默认值60秒(60000毫秒)


自己添加一个新的datanode,修改etc/hadoop/hdfs-site.xml时拼错了一个XML标签,导致从namenode端start-all.sh时启动不了。hadoop提示的错误信息却只说ssh exit with code 1,缺少详细提示不利于新手排查错误。


start-dfs.sh 错误提示信息 rcmd: socket: Permission denied

解决方法:
在/etc/pdsh/目录下面新建文件rcmd_default,写入ssh,然后回车,记得一定要输入一个回车符另起一行,不然会提示ssh exit with code 1

另外之前已经用 sudo apt-get install pdsh 安装 pdsh

上一篇 下一篇

猜你喜欢

热点阅读