安装规划
搭建一个由三台机器构成的hadoop集群,各机器角色如下
mini1 datanode namenode secondenamenode nodemanager resourcemanager
mini2 datanode nodemanager
mini3 datanode nodemanager
一、系统环境
Linux centerOS6.8 64位
jdk1.7
将java添加到环境变量中
vim /etc/profile
在文件最后添加
export JAVA_HOME=/home/hadoop/app/jdk-7u_65-i585
export PATH=$PATH:$JAVA_HOME/bin
刷新配置
source /etc/profile
3. 配置主机名和IP的映射关系
修改主机名 :vi /etc/sysconfig/network
修改主机名与IP映射关系:vim /etc/hosts
4. 配置免密登录
生成ssh免登陆密钥:ssh-keygen -t rsa
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥), 进入我的home目录(cd ~/.ssh)即可查看到。
将公钥拷贝到要免密登陆的目标机器上: ssh-copy-id 目标服务器主机名
5. 关闭防火墙
查看防火墙状态:service iptables status
关闭防火墙:service iptables stop
查看防火墙开机启动状态:chkconfig iptables --list
关闭防火墙开机启动:chkconfig iptables off
重启网卡:service network restart
关闭linux服务器的图形界面:vi /etc/inittab
二、hadoop环境配置
1. 上传hadoop的安装包到服务器上去/home/hadoop/,并解压到当前目录
2. 配置hadoop环境变量
vim /etc/profile
追加export HADOOP_HOME=/home/hadoop
修改export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
3. 配置hadoop
3.1 配置hadoop-env.sh
vim hadoop-env.sh
第27行
export JAVA_HOME=/usr/java/jdk1.7.0_65
3.2 配置core-site.xml
<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://mini1:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.6.4/tmp</value>
</property>
3.3 hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>mini1:50090</value>
</property>
3.4 mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
3.5 yarn-site.xml
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>mini1</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
三、启动hadoop集群
1、分步启动
1.1 格式化namenode
若在hdfs-site.xml中没有配置dfs.namenode.name.dir,则格式化后会自动在Hadoop安装目录下生成dfs/name/current文件夹存放信息
hadoop namenode -format
1.2 在mini1上启动namenode
hadoop-daemon.sh start namenode
1.3 在mini1、mini2、mini3上启动各节点datanode
hadoop-daemon.sh start datanode
1.4 在mini1上启动secondary namenode
hadoop-daemon.sh start secondarynamenode
1.5 使用jps查看进程判断是否启动成功
27408 NameNode
28218 Jps
27643 SecondaryNameNode
27512 DataNode
2、分步关闭
2.1 在mini1上关闭namenode
hadoop-daemon.sh stop namenode
2.2 在mini1、mini2、mini3上关闭各节点datanode
hadoop-daemon.sh stop datanode
2.3 在mini1上关闭secondary namenode
hadoop-daemon.sh stop secondarynamenode
4、一键启动
4.1 一键启动前的配置
分别在mini1、mini2、mini3的hadoop的配置文件下面配置slaves文件
vim /home/hadoop/hadoop-2.6.4/etc/slaves
配置后slaves文件下
mini1
mini2
mini3
4.2 一键启动
先启动HDFS
start-dfs.sh
启动成功后可以登陆web客户端查看hdfs:http://mini1:50070
再启动YARN
start-yarn.sh
启动成功后可以登陆web客户端查看yarn:http://mini1:8088
也可以使用jps查看进程如下:
27408 NameNode
27643 SecondaryNameNode
27512 DataNode
27803 ResourceManager
28066 NodeManager
28218 Jps
4.3 一键关闭
stop-dfs.sh
stop-yarn.sh
使用jps查看进程,以上进程都已关闭。