本文目录导读:
《Hadoop集群3台虚拟机搭建完整教程》
环境准备
1、虚拟机软件选择与安装
- 这里我们选择VirtualBox作为虚拟机软件,它是一款开源的虚拟机软件,支持多种操作系统,可以从官方网站(https://www.virtualbox.org/)下载适合自己操作系统的版本并进行安装。
图片来源于网络,如有侵权联系删除
- 安装过程按照默认设置逐步进行即可,安装完成后打开VirtualBox。
2、操作系统选择与安装
- 在每台虚拟机上安装CentOS操作系统,我们可以从CentOS官方网站(https://www.centos.org/)下载CentOS的镜像文件。
- 在VirtualBox中创建新的虚拟机,设置虚拟机的名称(例如hadoop1、hadoop2、hadoop3)、内存大小(建议每台虚拟机至少分配2GB内存)、硬盘大小(根据需求分配,例如20GB)等参数。
- 在虚拟机的设置中,将下载好的CentOS镜像文件挂载到虚拟光驱,然后启动虚拟机,按照CentOS安装向导进行安装,安装过程中需要注意设置root密码、创建普通用户等操作。
网络配置
1、设置静态IP地址
- 在每台CentOS虚拟机中,编辑网络配置文件,对于CentOS 7,网络配置文件为/etc/sysconfig/network - scripts/ifcfg - enp0s3
(网络接口名称可能因系统不同而有所差异)。
- 将BOOTPROTO设置为static,然后添加IP地址、子网掩码、网关和Dns服务器等信息。
```
IPADDR = 192.168.100.101
NETMASK = 255.255.255.0
GATEWAY = 192.168.100.1
DNS1 = 8.8.8.8
```
- 重启网络服务使配置生效,命令为systemctl restart network
。
2、主机名配置
- 在每台虚拟机上设置不同的主机名,使用命令hostnamectl set - hostname hadoop1
(在第一台虚拟机上)、hostnamectl set - hostname hadoop2
(在第二台虚拟机上)、hostnamectl set - hostname hadoop3
(在第三台虚拟机上)。
- 编辑每台虚拟机的/etc/hosts
文件,添加如下内容:
```
192.168.100.101 hadoop1
192.168.100.102 hadoop2
192.168.100.103 hadoop3
```
安装JDK
1、下载JDK
- 从Oracle官方网站(https://www.oracle.com/java/technologies/javase - download.html)下载适合CentOS的JDK版本(例如JDK 8)。
2、安装JDK
- 在每台虚拟机上创建一个目录,例如/usr/java
,将下载的JDK压缩包解压到该目录下。
- 配置环境变量,编辑/etc/profile
文件,添加如下内容:
```
export JAVA_HOME = /usr/java/jdk1.8.0_XXX
export PATH = $JAVA_HOME/bin:$PATH
export CLASSPATH =.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
```
- 使环境变量生效,执行命令source /etc/profile
。
安装Hadoop
1、下载Hadoop
图片来源于网络,如有侵权联系删除
- 从Hadoop官方网站(https://hadoop.apache.org/)下载稳定版本的Hadoop,例如Hadoop 3.x。
2、安装Hadoop
- 在每台虚拟机上创建一个目录,例如/usr/local/hadoop
,将下载的Hadoop压缩包解压到该目录下。
- 配置Hadoop环境变量,编辑/etc/profile
文件,添加如下内容:
```
export HADOOP_HOME = /usr/local/hadoop
export PATH = $HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
```
- 使环境变量生效,执行命令source /etc/profile
。
3、配置Hadoop集群
- 进入$HADOOP_HOME/etc/hadoop
目录,对以下文件进行配置。
core - site.xml
```xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
```
hdfs - site.xml
```xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/dfs/name</value>
</property>
图片来源于网络,如有侵权联系删除
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/dfs/data</value>
</property>
</configuration>
```
mapred - site.xml
```xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
```
yarn - site.xml
```xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop1</value>
</property>
<property>
<name>yarn.nodemanager.aux - services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
```
- 在hadoop1
上,执行hdfs namenode - format
命令格式化HDFS。
4、启动Hadoop集群
- 在hadoop1
上,进入$HADOOP_HOME/sbin
目录,执行start - all.sh
命令启动Hadoop集群。
- 使用jps
命令在每台虚拟机上查看进程是否正常启动,在hadoop1
上应该看到NameNode、ResourceManager等进程,在hadoop2
和hadoop3
上应该看到DataNode、NodeManager等进程。
通过以上步骤,我们就成功搭建了一个由3台虚拟机组成的Hadoop集群,可以在这个集群上进行大数据相关的开发和运算工作了。
评论列表