hadoop1.2.1 安装及伪分布式部署

配置java环境变量

下载并解压java文件,终端命令: sudo gedit /etc/profile ,使用超级权限在gedit编辑器中打开profile文件(直接打开无法保存改动),在最后加入export JAVA_HOME=*java文件夹的路径*,我的是

export JAVA_HOME=/home/yu/jdk1.8.0
export CLASSPATH=/home/yu/jdk1.8.0
export PATH=$PATH:$JAVA_HOME/bin

安装 ssh server

sudo apt-get install openssh-server

配置ssh无密码登录

1.生成ssh密钥:ssh-keygen -t rsa,中间会有三次输入——密钥保存路径(直接回车,使用默认路径),密码(直接回车,无密码),确认密码(回车)

2.配置无密码登录ssh:cp id_rsa.pub authorized_keys,

3.使用命令 ssh localhost登录,测试是否需要密码

修改hadoop/conf下的配置文件

1.hadoop-env.sh:添加

export JAVA_HOME=/home/yu/jdk1.8.0

export HADOOP_HOME_WARN_SUPPRESS=1

2.core-site.xml:

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

3.hdfs-site.xml

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

4.mapred-site.xml

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

</property>
</configuration>

配置hadoop环境变量

sudo gedit /etc/profile 在最后加上

export HADOOP_HOME=/home/yu/Hadoop/hadoop-2.3.0
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

修改完毕后,执行source /etc/profile 来使其生效

运行发现hadoop2.3.0版本,无法启动,需要更换版本

下载hadoop1.2.1,将文件名改为之前2.3.0的文件名即可,无需再次配置各种环境变量

查看hadoop version,会发现有Warning:$HADOOP_HOME is deprecated 的提示,原因是从1.x版本起,HADOOP_HOME环境变量由HADOOP_PREFIX这个环境变量替代,在conf/hadoop-env.sh中 加入export HADOOP_HOME_WARN_SUPPRESS=1即可

输入start-all.sh启动所有服务,用jps查看,发现没有任何服务,原因是在/tmp目录下有以前使用版本留下的文件没有删除,或者是因为端口被占用了。

解决方法:

删除/temp下所有hadoop文件 类似hadoop-*username*-****以及hadoop-*username*文件夹

释放端口

yu@yu:~$ lsof -i:9000
yu@yu:~$ lsof -i:50070
yu@yu:~$ lsof -i:50030
yu@yu:~$ lsof -i:50075
yu@yu:~$ lsof -i:50060
yu@yu:~$ lsof -i:50020
yu@yu:~$ lsof -i:50010

最后start-all.sh启动所有服务,jps查看,成功

原文地址:https://www.cnblogs.com/evempire/p/3629077.html