Hadoop的搭建有三种方式:单机版适合开发调试;伪分布式版,适合模拟集群学习;完全分布式,生产使用的模式。本文记录搭建完全分布式环境的搭建。共使用了两台虚拟主机。
环境准备
使用两台centos7的虚拟主机。
java1.8软件包
hadoop2.7软件包
1.两台主机的ip和主机名分别为
10.255.46.92 master
10.255.46.93 slave
2.安装jdk配置环境变量
我使用的是压缩包版本,解压后放到了/usr/share/hadoop
下
在 /etc/profile
文件中追加以下内容
| |
使用source
命令生效环境变量
source /etc/profile
配置免密登录
1.关闭防火墙、关闭selinux
2.产生密钥
ssh-keygen -t rsa
3.将产生的密钥发送到指定的主机
| |
4.测试免密登录是否生效
hadoop环境配置
1.解压hadoop2.7 .tar.gz
| |
2.修改hadoop文件目录下的etc/hadoop/hadoop-env.sh
脚本文件二十五行处的JAVA_HOME
,指定为绝对路径。
3.修改Hadoop核心配置文件etc/hadoop/core-site.xml
,通过fs.default.name
指定NameNode的IP地址和端口号,通过hadoop.tmp.dir
指定hadoop数据存储的临时文件夹。
| |
4.修改HDFS核心配置文件etc/hadoop/hdfs-site.xml
,通过dfs.replication
指定HDFS的备份因子为3,通过dfs.name.dir
指定namenode节点的文件存储目录,通过dfs.data.dir
指定datanode节点的文件存储目录。
| |
5.配置mapred-site.xml
文件拷贝mapred-site.xml.template
为mapred-site.xml
,在进行修改
| |
6.配置yarn-site.xml
| |
7.配置slaves文件(Master主机特有)修改etc/hadoop/slaves
文件。
拷贝文件到slave
1.拷贝之前先格式化并检查错误
bin/hadoop namenode -format
2.拷贝hadoop到其他节点(每个节点都需要拷贝,java环境也是同理)
scp -r /usr/share/hadoop slave:/usr/share/
3.启动 sbin/start-all.sh
4.使用jps命令查看运行情况
开学第三天