环境描述:搭建了一个4台机器的hadoop集群环境,分别创建了用户hadoop1。
1)首先解决了的问问题是实现master与其余三个slave的ssh无密码通信问题。
2)安装hadoop的环境遇见下列问题:
首先:在master上用scp命令向其余的slave拷贝hadoop-2.6.0目录时候,还让输入slave的密码,咋回事呢?
原因:我是将hadoop-2.6.0放在了/home/bms目录下,该不目录本身就不属于hadoop1用户能管辖的,所以要进行的操作是:chown -R hadoop1:hadoop1/home/bms/hadoop-2.6.0 ---将hadoop的相关执行权限授予hadoop1
其次:hadoop的hdfs-site.xml有如下的配置文件
<property> <name>dfs.name.dir</name> <value>/root/hadoop/hdfs/name</value> <description>namenode上存储hdfs名字空间元数据 </description> </property> <property> <name>dfs.data.dir</name> <value>/root/hadoop/hdfs/data</value> <description>datanode上数据块的物理存储位置</description> </property>本来以为这是没有问题的,但是在执行./hadoop namenode -format的时候,提示不能创建目录“ /root/hadoop/hdfs/name“
原因是:犯浑啊!!!!hadoop1用户本身就没有/root这个目录,咋能行呢?
同时还需要注意的是:这两个目录必须都是hadoop1所能操作的目录,或者用chown -R hadoop1:hadoop1 ”相关目录“ 进行授权操作。
最后,问题还是解决了,处处是大坑,处处是陷阱。让大坑再深点吧!!!