在Ubuntu18.04系统中配置完全分布式Hadoop集群

前言:我自己比较喜欢使用Ubuntu,因此就使用它来配置Hadoop集群。我用VMware创建了三个虚拟机将其作为Hadoop的三个节点。因为我自己在看博客的时候,踩了很多坑,有一些博客会有错误的地方,或者说的不够详细,让人不知如何操作,因此我会说的尽量详细。因此可能废话比较多,但绝对保证能正确安装,其实本文也适用于多台公网上的服务器配置集群。
如果在配置好之后启动时出现了问题,可以去Hadoop安装文件夹的logs目录下查看对应的日志文件,在其中找到ERROR行看看是什么原因,能帮助解决问题。

因为Hadoop不同版本的配置有一些不同,因此一定要找对应版本的博客来看,否则可能会出现一些问题。这篇文章中,我使用的版本是Hadoop3.2.0。
在我的安装中参考了一篇Hadoop2的,因为Hadoop2和Hadoop3对Datanode的设置文件不同,还是意外解决的这个问题。
Hadoop2在slaves中指定那些节点作为Datanode,而在Hadoop3中,在workers文件中指定那些节点作为Datanode节点。Hadoop2和Hadoop3在配置时貌似就只有这一个不同。
另外Linux的版本不同,后面在一些配置上也会有一些小的差别,不过基本都是一样的。

有的情况下虚拟机需要完全关闭防火墙才可,我的莫名其妙不需要关闭,可能虚拟机默认设置为关闭

更新一下Ubuntu下可以使用:sudo lsb_release -a 这个命令来查看系统当前的版本

我写完发现官方文档贼好用,网址如下,英文差不多的去看官方文档吧!
https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/ClusterSetup.html

参考文章和资源网站

0、下面这篇博客必须要看,是讲用scp命令在不同计算机之间拷贝文件的,会用的话后面会很省事
scp 跨机远程拷贝
1、Hadoop下载地址。Hadoop和Java可以在windows下载对应版本安装包后托入虚拟机,也可以使用wget在Ubuntu命令行中下载软件包。如果不能从Windows拖入虚拟机,可以安装VMware Tools工具解决,也可以使用Xtfp5等文件传输软件从Windows传到虚拟机上。还有许多其他各种方法,喜欢就好
http://archive.apache.org/dist/hadoop/core/
如果上面那个速度太慢,用下面这个
http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.2.0/hadoop-3.2.0.tar.gz
2、Java下载地址,进去之后注册一下可以下载任意版本的JAVA,最好使用1.8之后的版本。
https://www.oracle.com/java/technologies/javase-downloads.html
3、第一个是知乎的一个专栏,讲的完全正确,但有些简单。看这篇可以理解后面的一些操作。
https://zhuanlan.zhihu.com/p/77938773
4、这个是CSDN上的一篇,比较详细,也基本上正确,就是流程有些乱。
Linux从零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8完全分布式集群)
5、这篇对于Hadoop要配置的文件都给出了简单的解释,但是hdfs-site.xml的配置不太对。后面会说这个问题。
https://my.oschina.net/blueyuquan/blog/1811442
6、这篇也挺好的,跟前两篇的差别在于Hadoop配置文件写的稍微有一点差别。就是这篇中提到要配置静态ip地址
https://www.zybuluo.com/DFFuture/note/626899

7、这一篇顶呱呱,主要是主机名和ssh配置那一段写的比较好,简洁易懂
https://blog.csdn.net/wangkai_123456/article/details/87185339
参考上述博客和我自己写的绝对能配置成功,不用再去看其他的博客了,上面的博客缺点在于太不详细,但每一个又有它好的一个地方。因此,我写了这个超级详细 (一堆废话 )的版本

一、集群配置介绍

在我的配置当中把Hadoop1作为主节点,其他两个节点作为从节点。总体配置如下,也就是说如果集群配置成功,打开集群后,在三个计算机上与逆行jps命令,应该会在不同的机器上显示相应的进程,如果没有显示,说明配置有问题。当然可以采用各种各种各样的配置,只要开心就好

主机名 IP地址 配置到该主机的进程
hadoop1 192.168.152.130 ResourceManager, DataNode, NodeManager, NameNode,SencodaryNameNode
hadoop2 192.168.152.128 DataNode, NodeManager
hadoop3 192.168.152.131 DataNode, NodeManager

二、将服务器主机名与ip地址一一对应(映射)

如果喜欢在后续步骤一直用ip地址而不用主机名的话,也可以掠过这一步,因为这一步就是为了用主机名代替ip地址省些事
主机名不是用户名,主机名是指某局域网内主机的名字,用户名是进Linux时的那个登录名。
如下图,在linux的命令行中,@前面的csbo是用户名,@后面的hadoop1是主机名。

hostname命令查看虚拟机的主机名,如下
在这里插入图片描述
这一步我们要做的是给每一个虚拟机一个确定的主机名,并将它们与各自的ip地址一一对应。默认主机名是ubuntu,三台虚拟机都一样,因此需要修改。主机名可以随意命名,只要三台虚拟机的不同就行。但为了方便好记,我将三个虚拟机的主机名分别修改为hadoop1、hadoop2、hadoop3。
**后面的所有操作都是指我自己的主机名,你在配置时可以取任何喜欢的主机名并使用 **
通过修改/etc/hostname文件来修改主机名。用gedit打开该文件后,里面就一个名字,改掉并保存就行了(有vim的话也可以用vim)。命令是:gedit /etc/hostname.
在这里插入图片描述
配置好主机名之后一定要将虚拟机的ip改为静态ip或者做ip绑定,让每一台服务器都有确定不变的的ip。大多数博客没有提到这一点,但是这一点很重要。不然后面虚拟机ip地址一变集群就运行不成了,配置静态ip跟系统的版本,VMware的设置(NAT还是桥接)都有关,因此不写了,网上一大堆博客&#x

  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
好的,下面是搭建伪分布式Hadoop环境的步骤: 1. 安装Java Hadoop需要Java环境,所以需要先安装Java。 ``` sudo apt-get update sudo apt-get install default-jdk ``` 2. 安装Hadoop 下载Hadoop安装包并解压: ``` wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.10.1/hadoop-2.10.1.tar.gz tar -xzvf hadoop-2.10.1.tar.gz sudo mv hadoop-2.10.1 /usr/local/hadoop ``` 3. 配置Hadoop环境变量 打开hadoop-env.sh文件进行编辑: ``` sudo nano /usr/local/hadoop/etc/hadoop/hadoop-env.sh ``` 将以下内容添加到文件的末尾: ``` export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ``` 保存并退出。 4. 配置Hadoop 打开core-site.xml文件进行编辑: ``` sudo nano /usr/local/hadoop/etc/hadoop/core-site.xml ``` 将以下内容添加到文件的末尾: ``` <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` 保存并退出。 打开hdfs-site.xml文件进行编辑: ``` sudo nano /usr/local/hadoop/etc/hadoop/hdfs-site.xml ``` 将以下内容添加到文件的末尾: ``` <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/usr/local/hadoop/hadoop_data/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop/hadoop_data/hdfs/datanode</value> </property> </configuration> ``` 保存并退出。 5. 格式化Hadoop文件系统 运行以下命令来格式化Hadoop文件系统: ``` hdfs namenode -format ``` 6. 启动Hadoop 运行以下命令来启动Hadoop: ``` start-all.sh ``` 7. 检查Hadoop状态 运行以下命令来检查Hadoop状态: ``` jps ``` 如果一切正常,你应该看到以下进程: ``` NameNode SecondaryNameNode DataNode ResourceManager NodeManager ``` 这样,伪分布式Hadoop环境就搭建完成了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值