本文主要描述搭建Hadoop2.7.3伪分布环境.
主要参考文档
一,首先需要的软件
- JDK
JDK是必须的,对应Hadoop需要的JDK见说明
JDK安装完毕后,需要配置环境变量JAVA_HOME - SSH
SSH用来管理远程Hadoop
二,下载Hadoop并解压
从官网下载所需版本低Hadoop,然后解压到指定位置
1, 接下来修改配置文件 etc/hadoop/core-site.xml
用来指定HDFS
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
Hadoop默认工作目录在/tmp/hadoop-{username}下面
而/tmp目录在计算机重启的时候会被清空
所以指定一下Hadoop工作目录
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/workspace</value>
</property>
3,由于是伪分布式,所以没必要DataNode中的每个block备份三份,一份即可
修改 etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
三,设置免密登录
如果输入命令ssh localhost后提示登录密码,那么需要进行如下免密设置
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
chmod 0600 ~/.ssh/authorized_keys
四,启动
1,格式化HDFS
bin/hdfs namenode -format
2,启动
sbin/start-all.sh
3,通过jps查看是否成功启动
root@iZ28bsk3aqoZ:/usr/software/hadoop-2.7.3/sbin# jps
6340 ResourceManager
6165 SecondaryNameNode
5992 DataNode
7336 Jps
5884 NameNode
6445 NodeManager
五,可能遇到的问题
Starting namenodes on [localhost]
localhost: Error: JAVA_HOME is not set and could not be found.
localhost: Error: JAVA_HOME is not set and could not be found.
Starting secondary namenodes [0.0.0.0]
0.0.0.0: Error: JAVA_HOME is not set and could not be found.
意思是找不到环境变量JAVA_HOME,但是我们已经在/etc/profile中设置了
这时我们修改hadoop/etc/hadoop/hadoop-env.sh
将export JAVA_HOME=${JAVA_HOME}删除
然后添加对应jdk的路径
export JAVA_HOME=/usr/lib/jvm/java1.8即可