虚拟机搭建hadoop 三台主从

这个搭建其实有很多教程,而且每种搭建方式都不一样,有普通的,也有高可用的,还有各种细节需要注意的,比如要搞一个用户组这些,因为我们这里只有三台虚拟机,就不用多搞那些复杂的,从普通的入手

三台虚拟机,

hadoop01(主机)

hadoop02(从机)

hadoop03(从机)

先将三台虚拟机配置静态IP,这里可能要自己找博客看看了,因为和要和自己的电脑有关的配置,不仅仅是虚拟机了。

 

所谓具体情况具体分析了,按以下方式配置在你那里可能会遇到坑,电脑反正就是这么神奇

另外三台虚拟机不要装入图形界面,如果以后要做spark的话,记得每个虚拟机的内存3G左右比较好。

 

还有就是我提供的包和我的版本不一样,因为我的那个版本包不见了,还留了另外一个版本,

然后做好心理准备,那时候我们是花了一个星期搭建平台,做一个单词统计,光装平台搭建平台就重新搞了好几次,当然那也是对linux根本不熟悉,那时候啥都不知道才弄得那么慌。

然后遇到坑把出的错误完整截图过来看看

 

在 虚拟机目录/etc/hosts中将三台节点信息放在里面

Vi /etc/hosts

第一项是ip地址,第二项是主机的名字

 

一:JDK安装

我已经在文件夹提供了jdk1.8_201了

将其导入到自己的一个专门的目录下

在我的虚拟机里面我是为了学习这个大数据,专门弄了个app文件夹(这个文件夹我放在了用户目录下,很多人将jdk这种需要环境的都放在了根目录的某个位置),将所有的组件都放着里面了,将jdk放在app下,解压

 

 

然后配置环境变量

编辑文件/etc/profile

 

在里面添加一下内容

 

 

使用一下java -version看又没有配置成功

 

安装hadoop

 

将我提供的hadoop包搞到自己虚拟机的app目录下进行解压

 

配置自己的hadoop环境变量

再看看自己的hadoop目录

 

进入到hadoop的配置目录:cd etc/hadoop

 

这里有几个需要配置的:

1:core-site.xml

这里有两个配置项,一个是hdfs的默认端口,就是可以通过这个端口访问到hdfs文件系统,这里我是设置的hadoop01的9000端口,hadoop01是我的主机

另外一个就是hadoop运行时候的临时目录,一些临时文件会放在这里

可以自己新建一下,我也不是很记得官网怎么说的了,好像是可以自动建这个目录的

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://hadoop01:9000</value>

</property>

 

<property>

<name>hadoop.tmp.dir</name>

<value>file:/home/hadoop/app/hadoop-2.8.5/tmp</value>

</property>

</configuration>

 

2:hdfs-site.xml

这里有三项,按照这个配置就行

第一个配置选项是namenode,这个是指主节点,它的配置是主节点的信息

第二个就是datanode,也就是从节点,是从节点的信息

第三个是高可用的一种配置方法,先配着没事

然后记得在hadoop目录下面将创建节点的数据目录

即安装下面的配置路径创建相应的文件夹

Namenodedir和datanodedir这两个文件夹

这里注意一定要与配置的相符

<configuration>

<property>

<name>dfs.namenode.name.dir</name>

<value>file:/home/hadoop/app/hadoop-2.8.5/data/namenodedir</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>file:/home/hadoop/app/hadoop-2.8.5/data/datanodedir</value>

</property>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>hadoop01:9001</value>

</property>

</configuration>

 

3:mapred-site.xml

这个是指mapreduce的调度框架

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

 

4:yarn-site.xml

<property>

<name>yarn.resourcemanager.hostname</name>

<value>hadoop01</value>

</property>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

     <name>yarn.nodemanager.vmem-check-enabled</name>

     <value>false</value>

</property>

</configuration>

 

5:slaves vi slaves

hadoop01

hadoop02

hadoop03

 

Slaves是指配置的三个节点的名字,前提要记得在/etc/hosts中将三台节点的信息放在里面

~                   

6:在hadoop-env.sh中添加一下内容

 

即导入自己的jdk位置

 

 

 

到这里基本都配置完成了

三台虚拟机都这样配置

检验一下

进入hadoop目录

进入sbin目录

 

执行./start-all.sh

然后使用jps命令查看进程,主节点有5个进程,从节点有两个

因为我们在主节点也配置了从节点,所以也会有DataNode进程

主节点:

ResourseManager(yarn的管理进程)

NameNode(主节点进程)

DataNode(从节点)

SecondaryNameNode(这个是高可用的,当主节点挂掉了,可以代替主节点,这里配置了没有什么意义,因为主节点挂了,这个进程也挂了,它也启动不了,生产环境中应该配置在其他节点上)

NodeManager(用于管理节点)

从节点:

DataNode

NodeManager               

然后可以在web端看看

常见问题:

1.slave连接不上master就可能防火墙的原因。关闭防火墙.  

启动: systemctl start firewalld

关闭: systemctl stop firewalld

查看状态: systemctl status firewalld 

开机禁用  : systemctl disable firewalld

2.如果显示内存JC不足修改以下配置

打开hadoop-env.sh文件,找到HADOOP_HEAPSIZE=  和HADOOP_NAMENODE_INIT_HEAPSIZE=  调整这两个参数,具体调整多少,视情况而定,默认是1000m,也就是一个g,我这里调整如下:

1

2

export HADOOP_HEAPSIZE=32000 

export HADOOP_NAMENODE_INIT_HEAPSIZE=16000 

 

 

然后使用192.168.40.138:50070(即主节点+50070端口)

http://192.168.220.128:8088/cluster

 

 三台虚拟机免密码登录:

 

1、生成公钥和私钥

 

在三台虚拟机,执行:

 

ssh-keygen -trsa

 

然后,不断的按回车键。

然后在主机中执行hadoop01

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

 

chmod 600 ~/.ssh/authorized_keys

 

2、将公钥复制到其他从机

 

scp ~/.ssh/authorized_keys root@hadoop02:~/.ssh/

 

scp ~/.ssh/authorized_keys root@hadoop03:~/.ssh/

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
虚拟机搭建 Hadoop 集群可以通过使用虚拟化软件如 VMware 或 VirtualBox 来实现。以下是一个简单的步骤: 1. 首先,下载并安装虚拟化软件,如 VMware 或 VirtualBox。 2. 下载 Hadoop 的稳定版本,并解压缩到一个目录中。 3. 创建一个虚拟机,并为每个节点分配足够的资源(如 CPU、内存和存储)。 4. 安装操作系统,推荐使用 Linux 发行版,如 Ubuntu 或 CentOS。确保在每个节点上都安装了相同的操作系统版本。 5. 配置网络设置,确保虚拟机之间可以相互通信。可以选择使用 NAT、桥接模式或者创建一个内部网络。 6. 在每个节点上安装 Java 运行环境,Hadoop 是基于 Java 开发的。 7. 配置 Hadoop 环境变量,将 Hadoop 的 bin 目录添加到 PATH 环境变量中。 8. 编辑 Hadoop 的配置文件,主要包括 core-site.xml、hdfs-site.xml 和 mapred-site.xml。配置文件中需要指定各个节点的 IP 地址和端口号。 9. 启动 Hadoop 的各个组件,包括 NameNode、DataNode、ResourceManager、NodeManager 和 JobHistoryServer。 10. 在浏览器中访问 Hadoop 的管理界面,确认集群是否正常运行。 以上是一个简单的搭建 Hadoop 集群的步骤,实际操作中可能还需要进行一些额外的配置和调整。请注意,这只是一个基础的搭建过程,具体的步骤可能会因个人环境和需求而有所不同。如果遇到问题,可以参考 Hadoop 的官方文档或者在相关的社区寻求帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值