虚拟机搭建hadoop环境

本文涉及的产品
云防火墙,500元 1000GB
简介: 这里简单用三台虚拟机,搭建了一个两个数据节点的hadoop机群,仅供新人学习。

这里简单用三台虚拟机,搭建了一个两个数据节点的hadoop机群,仅供新人学习。零零碎碎,花了大概一天时间,总算完成了。

 

环境


  • Linux版本:CentOS 6.5


  • VMware虚拟机


  • jdk1.6.0_45


主要分为一下几步完成


 

一、安装CentOS 6.5


当然了,如果没有虚拟机,需要先安装VMware,然后新建虚拟机,选择系统镜像即可,复制几台,比如我的机器4G内存,最多复制两台,一共三台。


建议这时候把所有机器进入管理员root权限:


[root@blue bin]#su

输入密码即可


 

二、修改IP


复制的三台机器ip一样的,需要配置/etc/sysconfig/network-scripts/ifcfg-eth0文件,有几台修改几次,vim命令打开:


[root@blue bin]#vim /etc/sysconfig/network-scripts/ifcfg-eth0

修改为:

微信图片_20220429181553.png

主机修改为:192.168.183.3


三台机器ip随便都行,比如改为


192.168.183.3


192.168.183.4


192.168.183.5

 

 

三、免登陆


我们需要让三台机器能互相进入、控制对方。


1、配置hostname


[root@blue bin]#vim /etc/hosts

微信图片_20220429181557.png


所有机器都得有,所以可以直接复制过去


[root@blue bin]#scp -rp /etc/hosts 192.168.183.4:/etc


[root@blue bin]#scp -rp /etc/hosts 192.168.183.5:/etc

 

2、配置network文件


[root@blue bin]#vim /etc/sysconfig/network


编辑HOSTNAME的值,就是给机器取名字:

微信图片_20220429181600.png

另外两台机器也要编辑network文件,比如三台机器分别取名blue、blue2、blue3。

重启机器,命令输入hostname:


就会出现刚才设置的名字.

 

 

四、生成key


1、Ssh-keygen命令


[root@blue bin]#ssh-keygen


会生成文件,保存在/root/.ssh/id_rsa,到时候会有提示的,里面有cat id_rsa.pub这个文件。

 

2、对于blue这台机器:


[root@blue bin]#cat id_rsa.pub > authorized_keys


生成authorized_keys文件


在blue2、blue3都执行


[root@blue bin]#ssh-keygen命令


会生成同样文件,里面包含了控制该机器的钥匙信息


打开blue2、blue3的id_rsa.pub文件会有形如下面内容,

微信图片_20220429181604.png


鼠标选中(自动进入剪贴板),粘贴到blue机器的authorized_keys文件里面,这样blue(主机)的authorized_keys里面就是三台机器的钥匙,有了钥匙,就可以访问了。

authorized_keys里面是这样:

微信图片_20220429181607.png

 

3、复制钥匙


把authorized_keys文件远程复制到blue2、blue3机器里面,这样每台机器都有其它机器和自己的钥匙了。


[root@blue bin]#scp –r authorized_keys 192.168.183.4:~/.ssh


[root@blue bin]#scp –r authorized_keys 192.168.183.4:~/.ssh

 

4、检查


对于blue:


[root@blue bin]#ssh blue2


[root@blue bin]#ssh blue3


会发现不需要密码,如果还需要密码,那就失败了。重新检查,大不了从头再来。

对于另外两台机器blue2、blue3也同样ssh命令检查,不需要密码,就ok!

 

 

五、Hadoop环境配置


1、关闭防火墙


这就需要关闭三台机器防火墙:


关闭:[root@blue bin]#service iptables stop


检查:[root@blue bin]#iptables –L


会出现:


微信图片_20220429181610.png


表明防火墙成功关闭

 

2、安装hadoop


在blue机器里面操作


保存hadoop文件,这里是压缩包,放到共享目录里面,将其复制到虚拟机blue的/usr/local/src文件夹下面


[root@blue bin]#cp /mnt/hgfs/share/hadoop-1.2.1-bin.tar.gz /usr/local/src

然后进入虚拟机的/usr/local/src下面:


解压文件


[root@blue bin]#tar -xzvf hadoop-1.2.1-bin.tar.gz

 

3、修改配置文件


进入/usr/local/src/hadoop-1.2.1/conf文件夹,下面有需要配置的文件


1)、修改masters文件


修改为:blue


2)、修改slaves文件


修改为:


blue2


Blue3


3)、修改core-site.xml文件

微信图片_20220429181613.png

4)、修改mapred-site.xml

微信图片_20220429181615.png

5)、修改hdfs-site.xml

微信图片_20220429181618.png


6)、配置环境修改文件hadoop-env.sh


I:安装java


由于hadoop是基于java的,这里安装java,并且配置JAVA_HOME环境变量

修改这个文件:


[root@blue bin]#vim ~/.bashrc

如下

微信图片_20220429181621.png


JAVA_HOME值就是jdk的安装路径,这里安装在/usr/local/src下面

Ii:[root@blue bin]#source ~/.bashrc刷新文件,因为刚才修改过,除非重启

命令:


[root@blue bin]#Java


如果出现一些信息,表明配置java环境成功!


Iii:[root@blue bin]#vim Hadoop-env.sh

末尾加一行


export JAVA_HOME= /usr/local/src/jdk1.6.0_45


以上几步需要细心,保证不敲错一个字符!

 

4、复制hadoop到另外两台机器blue2、blue3


[root@blue bin]#scp -rp /usr/local/src/hadoop-1.2.1 192.168.183.4:/usr/local/src

或者:


[root@blue bin]#scp -rp /usr/local/src/hadoop-1.2.1 blue2:/usr/local/src


因为配置了network文件,每台机器ip与hostname唯一对应,并且重启生效了,所以用ip与名字是一样的,如果没有重启,需要设置临时名字:


[root@blue bin]#hostname blue


[root@blue bin]#hostname blue2


[root@blue bin]#hostname blue3

 

[root@blue bin]#scp -rp /usr/local/src/hadoop-1.2.1 192.168.183.5:/usr/local/src

或者:


[root@blue bin]#scp -rp /usr/local/src/hadoop-1.2.1 blue3:/usr/local/src


建议这里再检查一下三台机器的防火墙是否关了,命令:


[root@blue bin]#Setenforce 0


[root@blue bin]#Getenforce


如果出现Permissive,表明关掉了,否则service iptables stop关掉防火墙。


5、格式化节点


进入目录:


[root@blue bin]#cd /usr/local/src/hadoop-1.2.1/bin


执行hadoop命令:


[root@blue bin]#./hadoop namenode –format


6、启动hadoop


[root@blue bin]#./start-all.sh

 

7、这时执行命令:


首先在父亲(blue)里面,如果父亲都有问题,肯定有问题。


[root@blue bin]#jps

微信图片_20220429181626.png

出现的四个与上面图片的必须一样,否则表明有前面的5个配置文件有问题,返回去检查。


如果没有问题,再对blue2、blue3两台机器执行命令:


[root@blue bin]#jps


哈哈,会发现错误:bash:jps:command not found


其实是不能发现java的环境变量,前面只配置了父亲blue的java环境变量。


需要把主机blue的环境变量文件.bashrc复制到两台孩子机器blue2、blue3的对应位置下面,覆盖原有的.bashrc文件。需要三台机器jdk位置安装一样哦,这里前面都统一安装在/usr/local/src目录下面。


[root@blue bin]#scp -rp ~/.bashrc blue2:~/


[root@blue bin]#scp -rp ~/.bashrc blue3:~/

 

还要分别在blue2、blue3里面,记得source ~/.bashrc,重新加载文件,才能生效

8、停止hadoop


[root@blue bin]#./stop-all.sh


继续5、6步,即在blue里面的hadoop的bin目录下面,这里所有执行的文件都在bin目录,下面。


然后在孩子节点机器blue2、blue3命令:

[root@blue bin]#jps:


微信图片_20220429181629.png


英文意思是:4609数据节点、4700任务节点


出现的三个必须一样,否则表明前面的5个配置文件有问题,返回去检查。然后重复8——5——6——7步骤。


 

如果不出意外,按照这种步骤是可以配置成功的!

目录
相关文章
|
分布式计算 资源调度 Hadoop
Hadoop节点资源扩展环境部署
【4月更文挑战第16天】扩展Hadoop集群涉及多个步骤:准备新节点,配置静态IP,安装并配置Hadoop,将新节点添加到集群,验证测试,及优化调整。确保符合硬件需求,更新集群节点列表,执行`hdfs dfsadmin -refreshNodes`命令,检查新节点状态,并依据测试结果优化性能。注意不同环境可能需要调整具体步骤,建议参照官方文档并在测试环境中预演。
124 4
|
6月前
|
虚拟化 网络虚拟化 Windows
导入虚拟机到Hyper-V环境时,理解并配置网络适配器设置是确保网络通信的关键
在Hyper-V环境中,正确配置虚拟机的网络适配器是确保其网络通信的关键。需先启用Hyper-V功能并创建虚拟交换机。接着,在Hyper-V管理器中选择目标虚拟机,添加或配置网络适配器,选择合适的虚拟交换机(外部、内部或私有),并根据需求配置VLAN、MAC地址等选项。最后,启动虚拟机并验证网络连接,确保其能正常访问外部网络、与主机及其他虚拟机通信。常见问题包括无法访问外部网络或获取IP地址,需检查虚拟交换机和适配器设置。
|
7月前
|
安全 Linux 开发工具
【Azure 环境】Azure 虚拟机上部署 DeepSeek R1 模型教程(1.5B参数)【失败】
遇见错误一:operator torchvision::nms does not exist 遇见错误二:RuntimeError: Failed to infer device type
512 22
|
11月前
|
网络安全 虚拟化 Docker
SSH后判断当前服务器是云主机、物理机、虚拟机、docker环境
结合上述方法,您可以对当前环境进行较为准确的判断。重要的是理解每种环境的特征,并通过系统的响应进行综合分析。如果在Docker容器内,通常会有明显的环境标志和受限的资源视图;而在云主机或虚拟机上,虽然它们也可能是虚拟化的,但通常提供更接近物理机的体验,且可通过硬件标识来识别虚拟化平台。物理机则直接反映硬件真实信息,较少有虚拟化痕迹。通过这些线索,您应该能够定位到您所处的环境类型。
469 2
|
11月前
|
分布式计算 Hadoop 大数据
大数据体系知识学习(一):PySpark和Hadoop环境的搭建与测试
这篇文章是关于大数据体系知识学习的,主要介绍了Apache Spark的基本概念、特点、组件,以及如何安装配置Java、PySpark和Hadoop环境。文章还提供了详细的安装步骤和测试代码,帮助读者搭建和测试大数据环境。
299 1
|
应用服务中间件 nginx Docker
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
这篇文章介绍了如何通过域名在本地访问虚拟机上的nginx服务,包括创建nginx容器、修改配置文件、修改本地host文件以及进行访问测试的详细步骤。文章提供了具体的Docker命令来创建并配置nginx容器,展示了配置文件的修改示例,说明了如何在本地系统的hosts文件中添加虚拟机IP和自定义域名,以及如何通过浏览器进行测试访问。
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
|
11月前
|
存储 SQL 消息中间件
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
145 0
|
机器学习/深度学习 Ubuntu Linux
【机器学习 Azure Machine Learning】使用Aure虚拟机搭建Jupyter notebook环境,为Machine Learning做准备(Ubuntu 18.04,Linux)
【机器学习 Azure Machine Learning】使用Aure虚拟机搭建Jupyter notebook环境,为Machine Learning做准备(Ubuntu 18.04,Linux)
131 4
|
存储 分布式计算 监控
Hadoop在云计算环境下的部署策略
【8月更文第28天】Hadoop是一个开源软件框架,用于分布式存储和处理大规模数据集。随着云计算技术的发展,越来越多的企业开始利用云平台的优势来部署Hadoop集群,以实现更高的可扩展性、可用性和成本效益。本文将探讨如何在公有云、私有云及混合云环境下部署和管理Hadoop集群,并提供具体的部署策略和代码示例。
419 0
|
API 网络架构 开发者
【Azure 环境】调用Azure RunCommand 的REST API 设置虚拟机的环境变量(SetEnvironmentVariable)
【Azure 环境】调用Azure RunCommand 的REST API 设置虚拟机的环境变量(SetEnvironmentVariable)

相关实验场景

更多