搭建VM的虚拟机下hadoop集群环境

前言

大家都知道,Hadoop的部署方式可分为

  • 单机模式
  • 伪分布式
  • 完全分布式

本篇主要讲解的就是完全分布式。

搭建完全分布式的集群环境,需要多台的硬件设备,作为初学者,为了搭建集群去买多台电脑,多少有点不现实,所以这里我采用的是VM虚拟机,模拟搭建一个由三台机器组成的集群。

要想成功搭建hadoop的分布式环境,需要具备安装和操作VM虚拟机,使用Ubuntu系统的基本命令,Linux下安装Java以及Hadoop等相关技能。不过不会的话,也不用太担心,我会尽量把我的操作过程写得详细一点。

具体的搭建过程可以分为以下几个阶段:

  • 安装虚拟机
  • 安装和配置Ubuntu
  • 安装和配置Java环境
  • 安装和配置Hadoop

安装虚拟机

VMware Workstation 下载 http://rj.baidu.com/soft/detail/13808.html?ald
激活码百度一搜一大堆,这里就不写了,安装过程也比较简单,实在不会的,百度上也有图解的教程,请自行搜索。

安装和配置Ubuntu

Ubuntu 下载https://www.ubuntu.com/download

下面介绍如何在虚拟机中安装Ubuntu操作系统,我们需要安装三台虚拟机,分别命名为Hadoop Master(以下简称master),Hadoop Slave1(以下简称slave1)和Hadoop Slave2(以下简称slave2),以下以安装master为例

1、首先,打开安装好的虚拟机VMware Workstation 12 Pro(以下简称VM) 
这里写图片描述

2、依次点击 文件 → 新建虚拟机 
这里写图片描述

3、选择 自定义(高级)(C),点击 下一步 
这里写图片描述

4、硬件的兼容性选择,使用默认的设置,直接点击 下一步 
这里写图片描述

5、点击 浏览,选择下载好的Ubuntu的iso文件,点击 下一步 
这里写图片描述

6、填写安装信息,点击 下一步 
这里写图片描述

7、命名虚拟机,为了方便我们后续识别,安装第一个系统时,我们命名使用Hadoop Master(当我们安装第二个和第三个系统时分别使用Hadoop Slave1Hadoop Slave2,用于表示第一个是主服务器,第二个和第三个属于从服务器),点击浏览,选择一个本机的空间稍微大一点的目录用于存放我们安装系统的物理文件,点击 下一步 
这里写图片描述

8、处理器配置,根据自己机器的CPU情况来设置,比如我的是四核的,处理器数量就选择4,处理器的核心数量使用默认的1就行,点击 下一步 
这里写图片描述

9、设置内存,注意,必须是4MB的倍数,根据自己机器的内存来设置。比如,我的PC主机内存是8G,我为每台虚拟机设置1.5G(1536MB)的内存,主机剩余3.5G内存,这样主机不卡,虚拟机内存也足够使用。原则上说,给虚拟机设置的内存总和不要超过PC主机的物理内存就行,只不过设置太高,主机就会变慢。 
这里写图片描述

10、网络类型,这里选择使用桥接网络,因为我们需要主机与虚拟机与互联网,这三者都是通的,在安装的过程中,才不会遇到麻烦。 
这里写图片描述

11、I/O控制器和磁盘类型,都使用默认的选项即可,点击 下一步 
这里写图片描述 
这里写图片描述

12、选择磁盘,选择创建新的虚拟磁盘,点击 下一步 
这里写图片描述

13、指定磁盘容量,也就是设置虚拟机系统占用主机的物理空间的大小,使用默认值即可。 
这里写图片描述

14、指定磁盘文件,默认即可,点击 下一步 
这里写图片描述

15、点击 完成,等待虚拟机系统安装完成,安装过程中,请保持网络畅通。

16、同理,安装另外两台虚拟机Hadoop Slave1Hadoop Slave2,都安装好后,如下图 
这里写图片描述

17、分别设置每台虚拟机的固定IP,保证虚拟机与虚拟机与主机之间都能够相互ping通。具体操作这里就不赘述了,网上资料有很多,如果是公司电脑,让网络管理员帮忙设置下,如果是自己的机器,看下自己的路由器的IP分配情况 
这里写图片描述

18、我们要搭建一个由三台机器组成的集群,先配置虚拟机的hostshostname,以便虚拟机与虚拟机与主机之间不用使用IP,使用hostname就可以相互识别,很方便。

192.168.8.230    master
192.168.8.231    slave1
192.168.8.232    slave2
 
 
 
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

以master为例,通过命令:

hadoop@master:~$ vi /etc/hostname
 
 
 
  • 1
  • 1

设置为master,另外两台虚拟机分别设置为slave1slave2 
这里写图片描述

hadoop@master:~$ vi /etc/hosts
 
 
 
  • 1
  • 1

三台虚拟机都设置成以下的配置 
这里写图片描述

19、配置三台虚拟机之间的SSH无密码登录

首先通过命令生成公匙:

hadoop@master:~$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
 
 
 
  • 1
  • 1

这里写图片描述

将公匙添加到authorized_keys文件中:

hadoop@master:~$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
 
 
 
  • 1
  • 1

这样,localhost就可以无密码登录了,看下效果:

hadoop@master
### 如何在Linux VM上安装配置Hadoop集群 #### 准备工作 为了确保所有节点的时间一致,在开始之前应先设置时间同步。这可以通过安装`ntp`来实现: ```bash yum install -y ntp rm -f /etc/localtime ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime ntpdate -u ntp.aliyun.com systemctl start ntpd systemctl enable ntpd ``` 上述命令会更新系统的时区并将其指向阿里云的NTP服务器进行时间同步,同时启动并启用`ntpd`服务以保持持续的时间校准[^3]。 #### 配置SSH无密码登录 对于多台机器组成的Hadoop集群来说,通常需要配置好各节点间的免密钥认证以便于后续管理操作更加便捷高效。具体做法是在每台主机之间互相交换公私钥对,并将对方的公钥加入到`.ssh/authorized_keys`文件中去。 #### 修改环境变量 为了让系统能够识别新安装的服务路径以及简化命令调用方式,建议修改全局环境变量文件 `/etc/profile` 或者个人用户的 `.bashrc` 文件,添加必要的环境变量定义语句如下所示: ```bash export JAVA_HOME=/path/to/java export HADOOP_HOME=/path/to/hadoop export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin source /etc/profile ``` 这里假设已经正确设置了Java和Hadoop的具体位置;最后一条指令用于立即生效更改后的配置项而无需重新登录终端窗口[^1]。 #### 编辑sudoers文件 出于安全考虑,默认情况下只有超级管理员才有权限执行某些敏感的操作。如果希望普通用户也能拥有这些能力,则需编辑 `/etc/sudoers` 文件赋予特定账户相应的权利。注意此过程务必谨慎行事以免造成不必要的安全隐患。 ```bash vi /etc/sudoers ``` 找到类似于 `%wheel ALL=(ALL) ALL` 的行并将目标用户名替换掉 `wheel` 组名即可让该成员获得完全控制权。当然也可以通过追加新的条目形式指定更精细化的授权策略[^4]。 #### 安装Hadoop软件包 下载适合当前平台架构版本号相匹配的二进制压缩包至本地磁盘空间内解压展开后按照官方文档指示完成剩余部分初始化设定流程直至整个分布式计算框架正式上线运行为止。 以上就是基于Linux虚拟化环境下部署一套简易版Apache Hadoop伪分布模式实例的大致步骤概述,请读者朋友们参照实际情况灵活调整参数选项从而达到最佳实践效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值