Ubuntu Hadoop 伪分布式配置

环境:Ubuntu11.10     Hadoop Version: 1.1.0

1. jdk 必须是1.5以上,我这是1.7就不重新装了。

2. 下载解压 Hadoop 解压随便目录,有权限就行,我就放home下,下载 猛击这里

3. 进入hadoop目录,修改conf/hadoop-env.sh 添加JAVA_HOME路径配置

export JAVA_HOME=~/jdk1.6.0_31

4. 配置ssh无密码登陆,这步骤必须的,否则每次启动或关闭都必须输入密码

       先输入以下命令,测试是否需要输入密码

ssh localhost

       如果需要,则输入以下命令:

ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa

# 或 ssh-keygen -t rsa
cat ~/.ssh/id_dsa.pub ~/.ssh/authorized_keys

5. 修改conf/core-site.xml文件,添加namenode的配置

<configuration>
   <property>
       <!― 你的namenode的配置,机器名加端口 ―>
       <name>fs.default.name</name>
       <value>hdfs://localhost:9000</value>
   </property>
   <property>
       <name>hadoop.tmp.dir</name>
       <!― Hadoop的默认临时路径,手动建这个目录。这个最好配置,然后在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。
       不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令了。
       若要重新hadoop namenode -format 则先删除该目录下的所有内容
       ―>
       <value>/home/nic/temp/hadoop/tmp/</value>
   </property>
</configuration>

Tips: 如果查看日志文件(hadoop/logs/hadoop-xxx-namenode-xxx.log)发现有这么个错误提示:FSNamesystem initialization failed. java.io.IOException:NameNode is not formatted. 则请删除上述设置的hadoop临时文件中的所有内容。再重新执行hadoop namenode -format 。注意,当然这是新手配置才这么删,因为这样删,所有数据都会丢失。

6. 修改conf/hdfs-site.xml文件

<configuration>
   <property>
   <!― 这个目录最后一级目录并不需要手动创建,否则无法完成hadoop namenode -format ―>
       <name>dfs.name.dir</name>
       <value>/home/nic/temp/hadoop/hdfs/name</value>
   </property>
   <property>
   <!― 这个目录最后一级目录并不需要手动创建,否则无法完成hadoop namenode -format ―>
       <name>dfs.data.dir</name>
       <value>/home/nic/temp/hadoop/hdfs/data</value>
   </property>
   <property>
       <name>dfs.replication</name>
       <!― 数据需要备份的数量,默认是三 ―>
       <value>1</value>
   </property>
</configuration>

Tips: 跟上一个配置一样,如果发现日志文件老出现NameNode is not formatted 这样的错误,则有可能是这个配置中的目录问题。这个配置中的两个目录,即name,data都不需要手动创建,手动创建后,会出现无法format namenode的错误,由程序创建的文件、目录均无法创建。删除这两个目录,重新执行format

7. 修改conf/mapred-site.xml文件,添加jobtracker配置

<configuration>
   <property>
       <!― 你的JobTracker的配置,机器名加端口 ―>
       <name>mapred.job.tracker</name>
       <value>localhost:9001</value>
   </property>
</configuration>

8. 执行namenode 格式化

.bin/hadoop namenode -format

9. 启动hadoop

.bin/start-all.sh

10. 关闭hadoop

./bin/stop-all.sh

11. 测试是否成功启动hadoop

使用jps 命令,出现如下结果,则说明正常启动hadoop

16857 SecondaryNameNode
17598 TaskTracker
17914 Jps
16225 DataNode
15593 NameNode
16956 JobTracker

或网页浏览器打开:http://localhost:50030 也可看见hadoop状态

以上配置伪分布式模式,对于完全分布式模式,稍后学习再补充


你可能感兴趣的:(localhost,Export,输入密码)