前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hadoop完全分布式安装

Hadoop完全分布式安装

作者头像
我脱下短袖
发布2019-12-21 14:19:28
4400
发布2019-12-21 14:19:28
举报
文章被收录于专栏:算法无遗策算法无遗策

完全分布式安装部署,其实步骤上来说与伪分布式没有太大的区别,主要增加2台虚拟机部署称为一个3台的集群

环境的准备

在现有基础上克隆出来2台虚拟机,并且修改网段IP ,以及主机名称 映射路径 hosts ,关闭防火墙,创建独立hadoop用户,赋予sudo权限

完成以上的环境准备之后,应该手头上存在3台虚拟机,并且防火墙已经关闭,而且设置好了主机名称以及映射地址

集群的规划

主要需要配置的组件: HDFS(负责存储) Yarn HistoryServer

集群的安装

在集群安装之前,必须要安装JDK环境

配置Hadoop完全分布式环境,从配置文件开始

首先解压hadoop安装路径到/opt/app中

代码语言:javascript
复制
sudo tar -zvxf hadoop-2.7.2.tar.gz -C /opt/app/

1 修改Hadoop-env.sh 中 JAVA_HOME路径

代码语言:javascript
复制
export JAVA_HOME=/opt/app/jdk1.8.0_181

2 配置core-site.xml 配置文件

代码语言:javascript
复制
<property><name>fs.defaultFS</name><value>hdfs://hadoop01:8020</value></property><property><name>hadoop.tmp.dir</name><value>/opt/app/hadoop-2.7.2/data/tmp</value></property>

3 配置hdfs-site.xml

代码语言:javascript
复制
<property><name>dfs.namenode.secondary.http-address</name><value>hadoop02:50090</value></property><property><name>dfs.namenode.http-address</name><value>hadoop01:50070</value></property>
<property><name>dfs.permissions.enabled</name><value>false</value></property>

dfs.namenode.secondary.http-address: 设置secondaryNameNode服务进程的主机位置

dfs.namenode.http-address:NameNode WEB界面访问的地址配置

dfs.permissions.enabled:HDFS的权限验证 默认开启 需要关闭

Yarn配置

配置yarn.site.xml配置文件

代码语言:javascript
复制
<property><name>yarn.resourcemanager.hostname</name><value>hadoop03</value></property>
<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value><!--<value>mapreduce_shuffle</value>--></property><property><name>yarn.log-aggregation-enable</name><value>true</value></property>
<property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value></property>

yarn.resourcemanager.hostname:指定Resourcemanager 在指定节点上

配置mapred

配置mapred-site.xml配置文件

代码语言:javascript
复制
<property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapreduce.jobhistory.address</name><value>hadoop03:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>hadoop03:19888</value></property>

现在是完全分布式的环境,所以还需要配置savles文件,把从节点的主机名称添加进去

hadoop01

hadoop02

hadoop03

在分发之前,需要把etc/hosts 文件下配置好的映射地址分发到不同的节点上 保证每个节点上的hosts文件都是一样的

可以使用scp命令在不同的节点之间进行拷贝,命令使用方式如下

代码语言:javascript
复制
sudoscp /etc/hosts hadoop03:/etc/hosts

分发hadoop到不同的节点上

代码语言:javascript
复制
sudoscp -r /opt/app/hadoop-2.7.2/ hadoop03:/opt/app/

要记住: 如果使用sudo 在分发之后要记得修改权限为hadoop

格式化:namenode

在节点分发完成之后,在hadoop01节点上格式化namenode

代码语言:javascript
复制
bin/hadoopnamenode -format

启动进程

先单个节点启动HDFS测试:

在hadoop01上启动namenode 与datanode

代码语言:javascript
复制
sbin/hadoop-daemon.sh start namenodesbin/hadoop-daemon.sh start datanode

接下来在其他节点上启动datanode

代码语言:javascript
复制
sbin/hadoop-daemon.sh start datanode

在单节点上启动Yarn测试

在Hadoop03上启动resourcemanager

代码语言:javascript
复制
sbin/yarn-daemon.sh start resourcemanager

接下来在不同的节点上启动nodemanager

配置完ssh免密码登录之后就可以 使用start-all.sh 或者stop-all.sh

——END——

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法无遗策 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档