目录
一、集群环境准备
一、虚拟机安装
二、克隆
三、快照
二、主机名,IP,ssh免密登录
1.修改主机名
2.设置IP(各节点的IP从主节点依次排序,node1为30,node2则为31,以此类推)
3.主机映射
4.ssh免密登录
三、JDK安装部署(三台虚拟机都要安装)
四.关闭防火墙和SElinux
五、修改时区并配置自动时间同步
Hadoop的前置环境基本配置完成,建议快照保存
六、Hadoop安装与部署
一、Hadoop安装包下载
二、Hadoop安装以及配置
1.选择典型或者自定义,一般选择典型即可,如果需要进行更多的详细配置可以选择自定义。
2.选择想要安装的虚拟机映像位置
3.设置用户名以及密码
4.设置虚拟机名称以及存储位置
5.设置磁盘存储方式以及磁盘大小
6.完成配置点击完成,也可以点击自定义硬件进行详细配置
注意:对于主节点,由于软件运行较多,所以主节点的内存一般会比其他节点内存大。
在首台虚拟机创建完成后,可以通过克隆的方式快速创建其他虚拟机。
1.右键虚拟机名称,点击管理,选择克隆选项
2.点击克隆后,点击下一页
3.选择克隆对象,一共有两种方式,第一种是直接克隆虚拟机的当前状态,第二种是选取虚拟机的快照,克隆指定快照的虚拟机状态。
4.选择克隆类型,一般为完整克隆
5.设置克隆虚拟机的名称以及存放位置
6.设置完成后点击完成,克隆结束。
快照,是对虚拟机的当前状态进行保存,在虚拟机出现问题无法解决,可以通过返回快照,使虚拟机返回到快照拍摄状态。可以在执行易出错操作前对虚拟机进行快照拍摄,建议快照拍摄时,虚拟机处于关机状态,否则拍摄时间可能较长。
1.右键虚拟机,选择快照
2.快照命名以及描述
3.点击拍摄快照即可完成拍摄。
注意如果虚拟机有其他用途,通常为了安全会为大数据专门设置一个Hadoop用户然后配置免密登录
在root用户下执行下列操作
添加用户:useradd hadoop
设置密码:passwd hadoop
命令:hostnamectl set-hostname [名称],将主机名分别改为node1,node2,node3,也可以自行设置名称。
sudo vim //etc/sysconfig/network-scripts/ifcfg-ens33i
进入到网络配置文件中。将文件BOOTPROTO改为static,添加IPADDR(处于子网IP范围之间),GATEWAY(与子网IP一致),NETMASK(子网掩码)和DNS1。 配置完成后需要重启网卡(systemctl restart network)。
网络配置完成后,ping一下www.baidu.com,如果结果为如下结果,则表示网络配置成功。
本地Windows的hosts文件修改 文件存放路径:C:\Windows\System32\drivers\etc
如果无法修改请看另外一篇文章 Hadoop集群安装常见问题以及解决方法_菜鸟工程师10086的博客-CSDN博客
修改每台节点的hosts文件
命令为sudo vim //etc/hosts ,依次添加node1,node2,node3
1.命令:ssh-keygen -t rsa -b 4096 然后一路回车到底
2.依次执行 ssh-copy-id node1 、ssh-copy-id node2 、ssh-copy-id node3。执行每一个命令后需要输入yes和id对应虚拟机的密码。
JDK安装包链接:https://pan.baidu.com/s/1QxVCRdLcVaqD0kNXCrD3lg
提取码:1111
也可自行下载
1.创建一个文件夹 命令:sudo mkdir -p /export/servers
2.上传文件,切换到root用户,进入刚刚创建的文件夹,输入rz,找到JDK存放路径,选择JDK
3.解压文件 命令: tar -zxvf jdk-8u361-linux-x64.tar.gz -C /export/servers
4.配置jdk软连接 命令:ln -s /export/servers/jdk1.8.0_361 /export/servers/jdk
5.配置JAVA_HOME环境变量
更改环境变量:vim /etc/profile
#jdk环境变量
export JAVA_HOME=/export/servers/jdk
export PATH=$PATH:$JAVA_HOME/bin
6.生效环境变量,删除原有jdk,构建新的jdk软连接
生效环境变量: source /etc/profile
删除原因jdk: rm -f /usr/bin/java
构建软连接: ln -s /export/servers/jdk/bin/java /usr/bin/java
验证jdk:java -version
javac -version
1.关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
2.关闭selinux
selinux,是用以限制用户和程序的相关权限,来确保系统的安全稳定。
命令:vim /etc/sysconfig/selinux
将SELINUX=enforcing修改为SELINUX=disabled
1.安装ntp软件
yum install -y ntp
2.更新时区
删除原有时区:rm -f /etc/localtime
加载新时区:sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
更新时区: ntpdate -u ntp.aliyun.com
3.设置开机自启动
systemctl start ntpd
systemctl enable ntpd
Hadoop有自己官网(Apache Hadoop),可直接点击链接前往官网下载,或者链接: https://pan.baidu.com/s/1pa4xRezMA0wfpma23qQseQ
提取码:1111
1.进入官方网站
2.进入download界面
会出现好几个版本,一般第一个为最新的版本,点击3.3.6的Binary download的第一个binary,这个是Hadoop的二进制发行版本包,source download是Hadoop的源代码。 3.点击下图框选部分链接下载Hadoop安装包
1.上传Hadoop安装包(node1进行)
切换到root用户,进入/export/servers目录,输入rz,选择Hadoop下载文件夹进行上传。
2.解压Hadoop压缩包
命令:tar -zxvf hadoop-3.3.4.tar.gz -C /export/servers
3.构建软连接
命令: cd /export/server
ln -s /export/server/hadoop-3.3.4 hadoop
4.进入Hadoop目录,查看文件是否正确
各个文件夹含义如下
• bin ,存放 Hadoop 的各类程序(命令)
• etc ,存放 Hadoop 的配置文件
• include , C 语言的一些头文件
• lib ,存放 Linux 系统的动态链接库( .so 文件)
• libexec ,存放配置 Hadoop 系统的脚本文件( .sh和 .cmd )
• licenses-binary ,存放许可证文件
• sbin ,管理员程序( super bin )
• share ,存放二进制源码( Java jar 包)
5.修改配置文件
配置 HDFS 集群,我们主要涉及到如下文件的修改:
• workers : 配置从节点( DataNode )有哪些
• hadoop-env.sh : 配置 Hadoop 的相关环境变量
• core-site.xml : Hadoop 核心配置文件
• hdfs-site.xml : HDFS 核心配置文件
上述文件存放在以下目录
(1)workers文件配置
#填充内容如下
node1
node2
node3
# 表明集群记录了三个从节点(DataNode)
(2)配置hadoop-env.sh文件
#填充内容如下(在任意空白处填充即可)
export JAVA_HOME=/export/servers/jdk
export HADOOP_HOME=/export/servers/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_LOG_DIR=$HADOOP_HOME/logs
(3)配置core-site.xml文件
#填充内容如下(在configuration内填充即可)
解释:
·key:fs.defaultFS
含义:HDFS文件系统的网络通信路径
值:协议为hdfs://
namenode为node1
namenode通讯端口为8020
·key:io.file.buffer.size
含义:io操作文件缓冲区大小
值:131072bit
hdfs://node1:8020为整个HDFS内部的通讯地址,应用协议为hdfs://(Hadoop内部协议)
表明DataNode将和node1的端口通讯,node1是NameNode所在机器
此配置固定了node1必须启动NameNode进程
(4)配置hdfs-site.xml文件
#填充内容如下
5.准备数据目录
• namenode 数据存放 node1 的 /data/nn
• datanode 数据存放 node1 、 node2 、 node3 的 /data/dn
在node1执行:
mkdir -p /data/nn
mkdir /data/dn
在node2、node3执行:
mkdir -p /data/dn
6.分发Hadoop文件
# 在 node1 执行如下命令
cd /export/server
scp -r hadoop-3.3.4 node2:`pwd`/
scp -r hadoop-3.3.4 node3:`pwd`/
• 在 node2 执行,为 hadoop 配置软链接
ln -s /export/server/hadoop-3.3.4 /export/server/hadoop
• 在 node3 执行,为 hadoop 配置软链接
ln -s /export/server/hadoop-3.3.4 /export/server/hadoop
7.配置环境变量(三台机器均要配置)
命令:vim /etc/profile
# 在 /etc/profile 文件底部追加如下内容
export HADOOP_HOME=/export/server/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
生效环境变量:source /etc/profile
8.授权Hadoop用户(设置可以使用Hadoop的用户)
# 以 root 身份,在三台服务器上均执行
chown -R hadoop:hadoop /data
chown -R hadoop:hadoop /export
9.格式化文件系统以及启动Hadoop
前期准备全部完成,现在对整个文件系统执行初始化
# 确保以 hadoop 用户执行
su - 用户名(自己设置的拥有Hadoop集群操作权限的用户)
# 格式化 namenode
hadoop namenode -format
# 一键启动 hdfs 集群
start-dfs.sh
# 一键关闭 hdfs 集群
stop-dfs.sh
# 如果遇到命令未找到的错误,表明环境变量未配置好,可以以绝对路径执行
/export/server/hadoop/sbin/start-dfs.sh
/export/server/hadoop/sbin/stop-dfs.sh
10.验证Hadoop是否配置成功
浏览器打开网址:http://node1:9870,并打开框选选项
另外MapReduce以及YARN安装配置参照分布式计算概述_菜鸟工程师10086的博客-CSDN博客