一、Hadoop的安装分类
1、单机模式。只能使用MapReduce,其他进程无法启动
2、伪分布式。只用一个节点来模拟Hadoop的运行环境。在这种
模式下,Hadoop的所有进程都能够正常启动使用。
3、 完全分布式。用多个节点来搭建Hadoop集群。
二、伪分布式的安装步骤
操作系统为linux。
1、关闭防火墙
service iptables stop;#立即关闭防火墙,但是重启后失效。
chkconfig iptables off;#关闭防火墙,重启后生效
2、修改主机名
vim /etc/sysconfig/network
将其中的HOSTNAME属性改为指定的主机名,例如:
HOSTNAME=hadoop01
使生效:
source /etc/sysconfig/network
注意:
安装hadoop的集群主机名不能有下划线。不然会找不到主机,无法启动。
3、修改hosts文件
vim /etc/hosts
虚拟机/云主机的ip hadoop01
4、设置免密登录
ssh-keygen
ssh-copy-id root@hadoop01
5、安装jdk
6、下载Hadoop安装包并解压
tar -xvf hadoop-2.7.1_64bit.tar.gz
7、进入安装目录,修改以下几个文件:
cd hadoop-2.7.1/etc/hadoop
(1)配置hadoop-env.sh:
vim hadoop-env.sh
export JAVA_HOME=${JAVA_HOME}替换为export JAVA_HOME=
具体jdk目录
export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-"/etc/hadoop"}替换为export HADOOP_CONF_DIR=自己的路径/hadoop-2.7.1/etc/hadoop
保存退出:
:wq
使生效:
source hadoop-env.sh
(2)配置core-site.xml
vim core-site.xml
<property>
<!--指定HDFS的主节点-->
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>
<property>
<!--指定HDFS中的记录数据的目录,如果不配置,默认
在/tmp-->
<name>hadoop.tmp.dir</name>
<value>/home/software/hadoop-2.7.1/tmp</value>
</property>
保存退出
(3)配置hdfs-site.xml
vim hdfs-site.xml
<property>
<!--设置复本数量,默认为3,但是在伪分布式下,必须设置为1-->
<name>dfs.replication</name>
<value>1</value
</property>
保存退出
(4)配置mapred-site.xml.template
先复制:
cp mapred-site.xml.template mapred-site.xml
再编辑:
vim mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
保存退出
(5)配置yarn-site.xml
vim yarn-site.xml
<!--指定yarn的主节点-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
保存退出
(6)配置slaves
vim slaves
<!--添加节点信息-->
hadoop01
保存退出
8、编辑环境变量
vim /etc/profile
export HADOOP_HOME=hadoop-2.7.1的安装路径
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
保存退出
使生效:
source /etc/profile
9、格式化数据目录:
hadoop namenode -format
如果此时not found,reboot
进行重启,再格式化。
10、启动hadoop
start-all.sh
有如下successfully的提示继续下面的步骤,没有就查看错误信息。
11、输入jps
有如下五个(不包含jps),则启动成功。
12、在浏览器输入地址访问hadoop管理页面
Namenode:http://服务器ip:50070
Datanode:http://服务器ip:50075
SecondaryNamenode:http://服务器ip:50090
yarn:http://服务器ip:8088
自己遇到的问题及解决方法:
jps命令后,只能正常启动四个,datanode无法启动。
这样做:
1、进到hadoop-2.7.1/dfs/name/current/VERSION, 复制clusterID;
2、用复制的clusterID把hadoop-2.7.1/dfs/data/current/VERSION中的clusterID替换掉。
3、重新启动start-all.sh
就可以正常启动了。