Hadoop2.7.1伪分布式配置
前言
Hadoop的安装分为单机方式、伪分布式方式和完全分布式方式。这里主要讲解在CentOS6.5环境中Hadoop的伪分布式安装配置。
01. 关闭防火墙
临时关闭:
service iptables stop
永久关闭:
chkconfig iptables off
02. 需要修改主机名,要求主机名中没有“_”和“-”
vim /etc/sysconfig/network
修改HOSTNAME选项,例如
HOSTNAME=hadoop01
保存退出,重新生效
source /etc/sysconfig/network
03. 将IP和主机名进行映射:
vim /etc/hosts
添加IP 主机名,例如
192.168.245.130 hadoop01
保存退出
04. 重启
reboot
05. 产生密钥
ssh-keygen
免密互通,需要盲敲密码
ssh-copy-id root@hadoop01
06. 如果没装JDK,先安装JDK,然后下载Hadoop的压缩包
07. 解压Hadoop的安装包
tar -xvf hadoop-2.7.1_64bit.tar.gz
08. 进入hadoop安装的目录的etc/hadoop目录下
cd hadoop-2.7.1/etc/hadoop
09. 修改hadoop-env.sh
vim hadoop-env.sh
export JAVA_HOME=/home/presoftware/jdk1.8
export HADOOP_CONF_DIR=/home/software/hadoop-2.7.1/etc/hadoop
保存退出,并且重新生效
source hadoop-env.sh
10. 编辑core-site.xml
vim core-site.xml
添加:
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/software/hadoop-2.7.1/tmp</value>
</property>
11. 编辑hdfs-site.xml
vim hdfs-site.xml
添加:
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
12. 复制mapred-site.xml.template
cp mapred-site.xml.template mapred-site.xml
编辑mapred-site.xml
vim mapred-site.xml
添加:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
13. 编辑yarn-site.xml
vim yarn-site.xml
添加:
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
14. 编辑slaves文件
vim slaves
添加主机名,例如:
hadoop01
15. 配置环境变量
vim /etc/profile
添加:
export HADOOP_HOME=/home/software/hadoop-2.7.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
保存退出,并且重新生效
source /etc/profile
16. Hadoop第一次启动之前需要格式化:
hadoop namenode -format
17. 启动Hadoop
start-all.sh
如果启动成功,则通过jps命令,能查看到6个进程:
Jps
NameNode
DataNode
SecondaryNameNode
ResourceManager
NodeManager
可以通过50070以及8088端口访问
注意:
- 如果少了XXXNode,那么修改core,hdfs,删除hadoop-2.7.1/tmp,然后重新格式化重新启动
- 如果XXXXManager,那么修改mapred,yarn,重新启动
- 命令找不到,hadoop-env.sh配置错误,profile配置错了