一、前言
Hadoop原理架构本人就不在此赘述了,可以自行百度,本文仅介绍Hadoop-3.1.2完全分布式环境搭建(本人使用三个虚拟机搭建)。
首先,步骤:
① 准备安装包和工具:
hadoop-3.1.2.tar.gz "color: #ff0000">二、准备工具
hadoop-3.1.2.tar.tz下载地址:http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.1.2/hadoop-3.1.2.tar.gz
jdk-8u221-linux-x64.tar.gz下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
CentOS下载地址:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso
WinSCP下载地址: https://winscp.net/eng/download.php
SecureCRTP ortable下载地址: http://fs2.download82.com/software/bbd8ff9dba17080c0c121804efbd61d5/securecrt-portable/scrt675_u3.exe
VMware Workstation Pro下载地址:http://download3.vmware.com/software/wkst/file/VMware-workstation-full-15.1.0-13591040.exe
附VMware Workstation Pro秘钥:
YG5H2-ANZ0H-M8ERY-TXZZZ-YKRV8
UG5J2-0ME12-M89WY-NPWXX-WQH88
UA5DR-2ZD4H-089FY-6YQ5T-YPRX6
三、安装虚拟机
此步略,详情之后发布
四、配置虚拟机
1.修改用户名:
hostnamectl --static set-hostname Master
2.设置静态IP地址
首先查看一下原本自动获取到的网关和DNS,记下来
[root@Master ~]# cat /etc/resolv.conf # Generated by NetworkManager nameserver 192.168.28.2 //DNS<br><br> [root@Master ~]# IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface default 192.168.28.2(网关) 0.0.0.0 UG 0 0 0 ens33 192.168.28.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33<br><br>
[root@Master ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 //修改ifcfg-ens33文件,执行此命令后进入如下界面
进入界面后按“I”键进入编辑模式,修改或添加图中标红部分。“static”表示静态地址,“netmask”子网掩码,gateways是网关,设置为上一步查看得到的即可。修改后按“esc”退出编辑模式。输入":wq"保存退出。然后输入以下代码更新网络配置。
systemctl restart network
3.修改hosts文件
注明:本人设置Master的IP地址为192.168.28.132,Slave1和Slave2分别为192.168.28.133,192.168.28.134
输入以下代码修改hosts文件(在真实主机中也需要添加):
vi /etc/hosts<br>添加:<br>192.168.28.132 Master<br>192.168.28.133 Slave1<br>192.168.28.134 Slave2
4.关闭防火墙
关闭防火墙代码:
systemctl stop firewalld.service //临时关闭 systemctl disable firewalld.service //设置开机不自启
5.安装Hadoop和JDK
先创建两个文件夹:
mkdir /tools //用来存放安装包 mkdir /bigdata //存放解压之后的文件夹
使用WinSCP上传压缩包:登录后找到已下载好的压缩包按如下步骤点击上传即可。
上传文件后,虚拟机端进入tools文件夹并解压文件:
cd /tools //进入tools文件夹 tar -zvxf jdk-8u221-linux-x64.tar.gz -C /bigdata/ //解压文件到bigdata目录下<br>tar -zvxf hadoop-3.1.2.
6.配置系统环境
vi ~/.bash_profile 添加: export JAVA_HOME=/bigdata/jdk1.8.0_221 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export HADOOP_HOME=/bigdata/hadoop-3.1.2 export HADOOP_INSTALL=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin<br><br>保存退出,让环境变量生效: source ~/.bash_profile
7.配置免密登录(重要)
ssh-keygen -t rsa (直接回车3次) cd ~/.ssh/ ssh-copy-id -i id_rsa.pub root@Master ssh-copy-id -i id_rsa.pub root@Slave1 ssh-copy-id -i id_rsa.pub root@Slave2 测试是否成功配置(在配置完Slave之后测试): ssh Slave1 可以登录到Slave1节点
五、配置Hadoop
Hadoop-3.1.2中有许多坑,在2X版本中有些默认的不需要特别配置,但在Hadoop-3.1.2中需要。
hadoop-env.sh配置:
cd /bigdata/hadoop-3.1.2/etc/hadoop/ vi hadoop-env.sh 添加: export JAVA_HOME=/bigdata/jdk1.8.0_221 export HADOOP_HOME=/bigdata/hadoop-3.1.2 export PATH=$PATH:/bigdata/hadoop-3.1.2/bin export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native" export HADOOP_PID_DIR=/bigdata/hadoop-3.1.2/pids //PID存放目录,若没有此配置则默认存放在tmp临时文件夹中,在启动和关闭HDFS时可能会报错 #export HADOOP_ROOT_LOGGER=DEBUG,console //先注释掉,有问题可以打开,将调试信息打印在console上
hdfs-site.xml:
<configuration> <property> <name>dfs.replication</name> //冗余度,默认为3 <value>1</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/bigdata/hadoop-3.1.2/dfs/tmp/data</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/bigdata/hadoop-3.1.2/dfs/tmp/name</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> </configuration>
mapred.site.xml:
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapred.job.tracker</name> <value>Master:9001</value> </property> </configuration>
yarn-site.xml:
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>Master</value> </property> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property> </configuration>
core-site.xml:
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://Master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/bigdata/hadoop-3.1.2/tmp</value> </property> </configuration>
workers:把默认的localhost删掉
Slave1 192.168.28.133 Slave2 192.168.28.134
yarn-env.sh 添加:
YARN_RESOURCEMANAGER_USER=root HADOOP_SECURE_DN_USER=yarn YARN_NODEMANAGER_USER=root
进入/bigdata/hadoop-3.1.2/sbin,修改start-dfs.sh,stop-dfs.sh,都添加:
HDFS_DATANODE_USER=root HDFS_DATANODE_SECURE_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root
六、克隆虚拟机
克隆两个从节点虚拟机,主机名称分别为Slave1,Slave2(需要进入虚拟机中修改),然后分别修改IP地址(具体方法上面有)重启网络,重启虚拟机。
重启完成后进行namenode格式化:分别对Master、Slave1,Slave2执行:
hadoop namenode -
format
对Master执行
start-all.sh //启动hdfs和yarn
待完成后用jps查看进程:
[root@Master ~]# jps 7840 ResourceManager 8164 Jps 7323 NameNode 7564 SecondaryNameNode
两Slave的进程:
包含以下两个: DataNode NodeManager
七、检查
浏览器输入:在浏览器中输入Master:9870回车,进入hdfs管理页面,点击上方datanode应该可以看到下面有两个节点;
输入Master:8088回车,进入资源调度管理(yarn)
总结
以上所述是小编给大家介绍的Hadoop-3.1.2完全分布式环境搭建过程图文详解(Windows 10) ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!