IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Hadoop全分布式集群(3.3.1版本)CentOS7 -> 正文阅读

[大数据]Hadoop全分布式集群(3.3.1版本)CentOS7

参考了林子雨的教程Hadoop集群安装配置教程_Hadoop3.1.3_Ubuntu_厦大数据库实验室博客

但他使用的是ubuntu 的,在一些方面和centos还是不同

Hadoop的安装同样可以参考:Hadoop安装教程_伪分布式配置_CentOS6.4/Hadoop2.6.0_厦大数据库实验室博客

Hadoop3.1.3安装教程_单机/伪分布式配置_Hadoop3.1.3/Ubuntu18.04(16.04)_厦大数据库实验室博客e

但是centos版本的太过时了,我同样通过查询学习,整理了一份

使用的软件:

vm15

centos7

hadoop3.3.1

jdk1.8.0

准备工作:

1.选定一台作为master,需要在master创建hadoop用户,安装ssh服务端,安装java环境,安装hadoop并且完成配置

2.这里我是选择一主二从,在两个slave上创建hadoop用户,安装SSH服务端,安装java环境

开始:

1.网络配置:需改为桥接模式

并且查看三台机子的的MAC地址是否一样,一样的话需要随机生成以至不一样

2.修改主机名:

Centos7通过hostname来查看主机名,而通过hostnamectl set-hostname slave来修改主机名,然后重启即可

3.修改IP映射:

输入以下命令:

sudo vim /etc/hosts

在加如映射关系前先通过ifconfig来查到三个主机的IP地址,查到后建立如下映射关系:

同样的,在两个slave1和slave2里面同样进行配置,配置完成后重新启动slave节点的Linux系统

4.完成后还需要检查是否顺利配置:

在master节点上:

$ ping slave1 -c 3  #只会ping三次
$ ping slave2 -c 3 ?

在两个slave节点上:

$ ping master -c 3

如果出现如下结果,则ping通了

特别注意,每一次更换了网络之后,IP就会发生变化,则需要重新改一下映射关系

5.SSH无密码登录节点:

必须要让Master节点可以SSH无密码登录到各个Slave节点上,首先,Master节点的公匙,如果之前已经生成过公钥,必须要删除原来生成的公钥,重新生成一次:

$ cd ~/.ssh ? ? ? ? ? ?  # 如果没有该目录,先执行一次ssh localhost
$ rm ./id_rsa* ? ? ? ? ? # 删除之前生成的公匙(如果已经存在)
$ ssh-keygen -t rsa ?

为了让Master节点能够无密码SSH登录本机,需要在Master节点上执行如下命令:

$ cat ./id_rsa.pub >> ./authorized_keys

然后将master节点将公钥传输到slave节点:

$ scp ~/.ssh/id_rsa.pub hadoop@Slave1:/home/hadoop/

然后再slave节点上,将SSH公钥加入授权:

$ mkdir ~/.ssh ? ? ? # 如果不存在该文件夹需先创建,若已存在,则忽略
$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
$ rm ~/id_rsa.pub ?  # 用完以后就可以删掉

然后进行检验:

$ ssh slave1 ? ? ? ? #slave2同样需要

若成功切换到slave1节点则成功(以上需要对slave1和slave2两个节点进行操作)

6.配置集群和分布式环境:

在配置集群/分布式模式时,需要修改“/usr/local/hadoop/etc/hadoop”目录下的配置文件,这里仅设置正常启动所必须的设置项,包括workers 、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml共5个文件

(1)centos7下修改workers

先进入目录:

$ cd /usr/local/hadoop/etc/hadoop

修改文件workers:

$ gedit workers

将workers文件中的原来的localhost删除,添加上:

slave1
slave2

(如果你有更多的从节点,则需同样加进去)

(2)修改同样目录下的core-site.xml文件:

<configuration>
 ? ? ?  <property>
 ? ? ? ? ? ? ?  <name>fs.defaultFS</name>
 ? ? ? ? ? ? ?  <value>hdfs://Master:9000</value>
 ? ? ?  </property>
 ? ? ?  <property>
 ? ? ? ? ? ? ?  <name>hadoop.tmp.dir</name>
 ? ? ? ? ? ? ?  <value>file:/usr/local/hadoop/tmp</value>
 ? ? ? ? ? ? ?  <description>Abase for other temporary directories.</description>
 ? ? ?  </property>
</configuration>

(3)修改文件hdfs-site.xml

<configuration>
 ? ? ?  <property>
 ? ? ? ? ? ? ?  <name>dfs.namenode.secondary.http-address</name>
 ? ? ? ? ? ? ?  <value>Master:50090</value>
 ? ? ?  </property>
 ? ? ?  <property>
 ? ? ? ? ? ? ?  <name>dfs.replication</name>
 ? ? ? ? ? ? ?  <value>2</value>
 ? ? ?  </property>
 ? ? ?  <property>
 ? ? ? ? ? ? ?  <name>dfs.namenode.name.dir</name>
 ? ? ? ? ? ? ?  <value>file:/usr/local/hadoop/tmp/dfs/name</value>
 ? ? ?  </property>
 ? ? ?  <property>
 ? ? ? ? ? ? ?  <name>dfs.datanode.data.dir</name>
 ? ? ? ? ? ? ?  <value>file:/usr/local/hadoop/tmp/dfs/data</value>
 ? ? ?  </property>
</configuration>

注意第九行的value值,两个slave则改为2,三个则3

(4)“/usr/local/hadoop/etc/hadoop”目录下有一个mapred-site.xml.template,需要修改文件名称,把它重命名为mapred-site.xml,然后,把mapred-site.xml文件配置成如下内容:

<configuration>
 ? ? ?  <property>
 ? ? ? ? ? ? ?  <name>mapreduce.framework.name</name>
 ? ? ? ? ? ? ?  <value>yarn</value>
 ? ? ?  </property>
 ? ? ?  <property>
 ? ? ? ? ? ? ?  <name>mapreduce.jobhistory.address</name>
 ? ? ? ? ? ? ?  <value>Master:10020</value>
 ? ? ?  </property>
 ? ? ?  <property>
 ? ? ? ? ? ? ?  <name>mapreduce.jobhistory.webapp.address</name>
 ? ? ? ? ? ? ?  <value>Master:19888</value>
 ? ? ?  </property>
 ? ? ?  <property>
 ? ? ? ? ? ? ?  <name>yarn.app.mapreduce.am.env</name>
 ? ? ? ? ? ? ?  <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value>
 ? ? ?  </property>
 ? ? ?  <property>
 ? ? ? ? ? ? ?  <name>mapreduce.map.env</name>
 ? ? ? ? ? ? ?  <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value>
 ? ? ?  </property>
 ? ? ?  <property>
 ? ? ? ? ? ? ?  <name>mapreduce.reduce.env</name>
 ? ? ? ? ? ? ?  <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value>
 ? ? ?  </property> 
</configuration>

(5)修改文件yarn-site.xml

<configuration>
 ? ? ?  <property>
 ? ? ? ? ? ? ?  <name>yarn.resourcemanager.hostname</name>
 ? ? ? ? ? ? ?  <value>Master</value>
 ? ? ?  </property>
 ? ? ?  <property>
 ? ? ? ? ? ? ?  <name>yarn.nodemanager.aux-services</name>
 ? ? ? ? ? ? ?  <value>mapreduce_shuffle</value>
 ? ? ?  </property>
</configuration>

配置完成以上五个文件后,需要把Master节点上的“/usr/local/hadoop”文件夹复制到各个节点上。如果之前已经运行过伪分布式模式,建议在切换到集群模式之前首先删除之前在伪分布式模式下生成的临时文件。具体来说,需要首先在Master节点上执行如下命令:

$ cd /usr/local
$ sudo rm -r ./hadoop/tmp ? ? # 删除 Hadoop 临时文件
$ sudo rm -r ./hadoop/logs/* ? # 删除日志文件
$ tar -zcf ~/hadoop.master.tar.gz ./hadoop ? # 先压缩再复制


$ cd ~
$ scp ./hadoop.master.tar.gz Slave1:/home/hadoop

然后在两个Slave节点上执行如下命令:

$ sudo rm -r /usr/local/hadoop ?  # 删掉旧的(如果存在)
$ sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local
$ sudo chown -R hadoop /usr/local/hadoop

同样,如果有其他Slave节点,也要执行将hadoop.master.tar.gz传输到Slave节点以及在Slave节点解压文件的操作。 首次启动Hadoop集群时,需要先在Master节点执行名称节点的格式化(只需要执行这一次,后面再启动Hadoop时,不要再次格式化名称节点),命令如下:

$ hdfs namenode -format

注意格式化只有一次,之后启动不需要再格式化

然后可以启动Hadoop了:

$ start-dfs.sh
$ start-yarn.sh
$ mr-jobhistory-daemon.sh start historyserver

通过jps来查看是否成功

master节点:

slave节点:

注意:我用的是Hadoop3.3.1版本的,所以如果需要通过web端查看

名称节点和数据节点的状态,则需要再虚拟机网址中输入:

http://master:9870

而不是之前网上很多教程里面的50070

综上Hadoop的全分布式完成安装,安装Java环境以及遇到的一些问题在其他笔记中得以解答,Hadoop的安装同样

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-01 16:56:57  更:2021-10-01 16:57:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:54:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码