Hadoop之大数据集群搭建(三个虚拟机master、data1、data2)
一、配置三台虚拟机
配置三台虚拟机(VirtualBox+Centos 7.8)
***三台虚拟机同为hduser用户
1、虚拟机安装
https://blog.csdn.net/weixin_38504735/article/details/116936363
2、VirtualBox复制虚拟机
(修改网卡及重新配置IP地址)
解决方案:虚拟机网络配置如下:
图一
图二
输入ifconfig (或ip addr)我这里是配置好的
查看ens33或者你个人网卡的mac地址
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
HWADDR是上述图一的mac地址
ONBOOT 开机自启动
vi /etc/sysconfig/network-scripts/ifcfg-enp0s8
最后 service network restart
解决网络问题
https://www.cnblogs.com/Liang-jc/p/8107980.html
注意:三台虚拟机要能够互相识别
需要分别在 master、data1、data2虚拟机中配置
1、配置环境变量
vi /etc/hosts
配置如下信息
192.168.56.102 master
192.168.56.103 data1
192.168.56.104 data2
2、免密匙登录
三台虚拟机分别执行
ssh-keygen -t rsa
然后将密匙分别复制到Master虚拟机中:
[hduser@master]$ ssh-copy-id master
[hduser@data1]$ ssh-copy-id master
[hduser@data2]$ ssh-copy-id master
需要重新安装配置Java 1.8
https://blog.csdn.net/weixin_38504735/article/details/117029237
二、Hadoop安装配置
1、版本:
下载地址:
https://hadoop.apache.org/release/2.7.2.html
2、配置环境变量
运行
vi /etc/profile
末尾添加(shift+g)
#JAVA_HOME
export JAVA_HOME=/usr/local/java/jdk1.8.0_291
export PATH=$PATH:$JAVA_HOME/bin
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
运行
source /etc/profile
三台都运行
hadoop version
如图hadoop环境即配置成功
3、集群部署规划
虚拟机 | master | data1 | data2 |
---|---|---|---|
HDFS | NameNode DataNode | DataNode | SecondaryNameNode DataNode |
YARN | NodeManager | ResourceManager NodeManager | NodeManager |
3.1 配置集群
(1)核心配置文件 core-site.xml
[atguigu@hadoop102 hadoop]$ vi core-site.xml
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop102:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
(2)hdfs配置文件 hadoop-env.sh
[atguigu@hadoop102 hadoop]$ vi hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
hdfs-site.xml
[atguigu@hadoop102 hadoop]$ vi hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>data2:50090</value>
</property>
(3)yarn配置文件 yarn-env.sh
[atguigu@hadoop102 hadoop]$ vi yarn-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
yarn-site.xml
[atguigu@hadoop102 hadoop]$ vi yarn-site.xml
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop103</value>
</property>
yarn-site.xml
[atguigu@hadoop102 hadoop]$ vi yarn-site.xml
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop103</value>
</property>
(4)mapreduce配置文件 mapred-env.sh
[atguigu@hadoop102 hadoop]$ vi mapred-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
mapred-site.xml
[atguigu@hadoop102 hadoop]$ cp mapred-site.xml.template mapred-site.xml
[atguigu@hadoop102 hadoop]$ vi mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
(5)slavers 添加主机名称
vi slaves
master
data1
data2
3.2 集群配置好后:`
hadoop namenode -format
启动一次就好,如果出现问题,分别删除hadoop目录下的logs、data文件夹,重新执行
hadoop namenode -format