您的位置:首页 > 运维架构

Hadoop安装配置及问题总结

2015-08-04 10:04 459 查看
学习了一下慕课网上的hadoop教程,看着很简单,但是做起来碰到的问题确实不少。搞了一个下午,总算是搞定了,本博文主要记录一下我在配置hadoop过程碰到的一些问题。对于hadoop的鼎鼎大名,想必大家都略知一二,我也是入个门,嘎嘎!

http://hadoop.apache.org/ (hadoop 官网)。这里介绍的比较详细。

hadoop可以在这里下载,按照现在的版本已经更新到2.7了,1.x的版本和2.x的版本听说差距挺大,且学且感受吧。

1、首先将hadoop解压到 /opt

$sudo tar -zxvf hadoop.xx.xx.tar.gz

到达/opt下,然后建立hadoop文件夹,里面建立name和data两个文件夹

$sudo mkdir hadoop

到达/hadoop

$sudo mkdir name

$sudo mkdir data

2、配置hadoop

**core-size.xml**
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/opt/hadoop/name</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>


hdfs-size.xml

<configuration>
<property>
<name>dfs.data.dir</name>
<value>/opt/hadoop/data</value>
</property>

<property>
<name>dfs.replication</name>
<value>1</value>
</property>

</configuration>


mapred-size.xml

<configuration>
<property>
<name>maperd.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>


hadoop-env.sh

# The java implementation to use.  Required.
 **export J***A_HOME=/usr/local/java/jdk1.7.0_67**
# Extra Java CLASSPATH elements.  Optional.


打开/etc/profile

export J***A_HOME=/usr/local/java/jdk1.7.0_67
export HADOOP_HOME=/opt/hadoop-1.2.1
export PATH=$J***A_HOME/bin:$HADOOP_HOME/bin:$PATH
export CLASSPATH=.:$J***A_HOME/lib/dt.jar:$J***A_HOME/lib/tools.jar


到这里配置Hadoop配置差不多没问题了。

$ hadoop (可以看到是否成功)

1、格式化HDFS 到达hadoop的bin目录下 执行

$hadoop namenode -format

这里我直接报了这个错 (namenode 无法启动

ERROR namenode.NameNode: java.io.IOException: Cannot create directory /export/home/dfs/name/current

解决:原因是 没有设置 /opt/hadoop 的权限没有设置, 将之改为:

$ chown –R hadoop:hadoop /opt/hadoop

$ sudo chmod -R a+w /opt/hadoop

2、启动Hadoop

执行 start-all.sh

当前用户对hadoop安装目录无足够权限

hm@hm-ubuntu:/usr/hadoop-1.1.2/bin$ start-all.sh

mkdir: cannot create directory
/usr/hadoop-1.1.2/libexec/../logs': Permission denied 

chown: cannot access
/usr/hadoop-1.1.2/libexec/../logs’: No such file or directory

starting namenode, logging to /usr/hadoop-1.1.2/libexec/../logs/hadoop-hm-namenode-hm-ubuntu.out

/usr/hadoop-1.1.2/bin/hadoop-daemon.sh: line 136: /usr/hadoop-1.1.2/libexec/../logs/hadoop-hm-namenode-hm-ubuntu.out: No such file or directory

head: cannot open `/usr/hadoop-1.1.2/libexec/../logs/hadoop-hm-namenode-hm-ubuntu.out’ for reading: No such file or directory

hm@localhost’s password:

… …

解决:

执行 chown 命令为当前用户赋予对目录可写的权限

sudo chown -hR Eddie(当前用户名) hadoop-xxx(当前版本)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: