Hadoop的安装与配置——搭建完全分布式集群

一、搭建集群

1、准备服务器(这里以我的3台Centos7为例)

  • 1个主节点:Carlota1(192.168.33.21),
  • 2个子节点:Carlota2(192.168.33.22),Carlota3(192.168.33.23)

2、配置主节点名

在主节点命令行输入: vi /etc/sysconfig/network 添加内容:

NETWORKING=yes
HOSTNAME=Carlota1

3、配置两台子节点名

分别在子节点命令行输入: vi /etc/sysconfig/network 添加内容:

NETWORKING=yes
HOSTNAME=Carlota2
NETWORKING=yes
HOSTNAME=Carlota3

4、配置hosts

打开主节点的hosts文件,注释掉 将文件的前两行(当前主机的信息),并在文件中添加所有hadoop集群的主机信息。

在命令行输入: vi /etc/hosts ,添加3台服务器的节点名信息:

192.168.33.21	Carlota1
192.168.33.22	Carlota2
192.168.33.23	Carlota3

保存之后,分别将主节点的hosts分别拷贝到其他两个子节点:

  • scp /etc/hosts root@192.168.33.22:/etc/
  • scp /etc/hosts root@192.168.33.23:/etc/

分别执行 /bin/hostname hostsname 使更改生效,(例如:Carlota1上执行 /bin/hostsname Carlota1,使之生效。)(重启可以代替/bin/hostname hostsname命令)

5、关闭防火墙

  1. 查看防火墙状态 :firewall-cmd --state
  2. 停止firewall :systemctl stop firewalld.service
  3. 禁止firewall开机启动:systemctl disable firewalld.service

6、配置ssh无密码访问(使每个节点上的/root/.ssh/authorized_keys文件中都包含所有的节点生成的公钥内容)

  • 生成公钥密钥对:在每个节点上分别执行命令行输入:ssh-keygen -t rsa , 一直按回车或Yes直到生成结束(执行结束之后每个节点上的/root/.ssh/目录下生成了两个文件 id_rsa 和 id_rsa.pub其中前者为私钥,后者为公钥)
  • 在主节点上执行命令行输入:cp id_rsa.pub authorized_keys
  • 将两个子节点的公钥拷贝到主节点上,分别在两个子节点上执行:
scp /root/.ssh/id_rsa.pub root@Carlota1:/root/.ssh/id_rsa_Carlota2.pub
scp /root/.ssh/id_rsa.pub root@Carlota1:/root/.ssh/id_rsa_Carlota3.pub
  • 在主节点上,将拷贝过来的两个公钥合并到authorized_keys文件中
cat id_rsa_Carlota2.pub>> authorized_keys
cat id_rsa_Carlota3.pub>> authorized_keys
  • 将主节点的authorized_keys文件分别替换子节点的authorized_keys文件
scp authorized_keys root@Carlota2:/root/.ssh/
scp authorized_keys root@Carlota3:/root/.ssh/
  • 最后测试是否配置成功:在Carlota1上分别执行,ssh Carlota2,ssh Carlota3 能正确跳转到两台子节点的操作界面即可

二、Hadoop集群配置

7、准备工作
下载好相应的Hadoop与JDK版本
在这里插入图片描述
8、分别上传JDK与Hadoop的tar.gz文件到三台服务器
这里使用windows下的文件传输软件进行上传(其中我这里上传路径分别为/usr/local/java/和/usr/local/apps/)
在这里插入图片描述
9、安装配置JAVA

  • tar -zxvf jdk-8u251-linux-x64.tar.gz
  • mv jdk1.8.0_251 jdk1.8

配置环境变量vi /etc/profile 添加以下内容

#JAVA
export JAVA_HOME=/usr/local/java/jdk1.8
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib
  • source /etc/profile

测试是否安装成功:java -version
在这里插入图片描述

10、安装hadoop

  • tar -zxvf hadoop-3.2.1.tar.gz

配置环境变量vi /etc/profile 添加以下内容

#Hadoop
export HADOOP_HOME=/usr/local/apps/hadoop-3.2.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  • source /etc/profile

11、配置Hadoop /sbin下
将start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数

#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs  
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

start-yarn.sh,stop-yarn.sh顶部也需添加以下参数:

#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

12、配置Hadoop /etc下
需要修改的有以下几个文件:

  • hadoop-env.sh
  • yarn-env.sh
  • core-site.xml
  • hdfs-site.xml
  • mapred-site.xml
  • yarn-site.xml
  • workers (Hadoop3.0以前的版本叫做slaves)

(1)、hadoop-env.sh和yarn-env.sh
分别添加JAVA_HOME路径到hadoop-env.sh和yarn-env.sh中

export JAVA_HOME=/usr/local/java/jdk1.8

(2)、core-site.xml
添加如下代码

<configuration><property><name>fs.defaultFS</name><value>hdfs://Carlota1:9000</value></property><property><name>io.file.buffer.size</name><value>131072</value></property><property><name>hadoop.tmp.dir</name><value>file:/usr/temp</value></property><property><name>hadoop.proxyuser.root.hosts</name><value>*</value></property><property><name>hadoop.proxyuser.root.groups</name><value>*</value></property>
</configuration>

其中/usr/temp文件夹需要新建!
(3)、hdfs-site.xml
添加如下代码:

<configuration><property><name>dfs.namenode.secondary.http-address</name><value>Carlota1:9001</value></property><property><name>dfs.namenode.name.dir</name><value>file:/usr/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/usr/dfs/data</value></property><property><name>dfs.replication</name><value>2</value></property><property><name>dfs.webhdfs.enabled</name><value>true</value></property><property><name>dfs.permissions</name><value>false</value></property><property><name>dfs.web.ugi</name><value>supergroup</value></property>
</configuration>

其中/usr/dfs/name与/usr/dfs/data文件夹需要新建!

(4)、mapred-site.xml(没有mapred-site.xml文件可以将mapred-site.xml.template进行重命名为mapred-site.xml)

<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapreduce.jobhistory.address</name><value>Carlota1:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>Carlota1:19888</value></property>
</configuration>

(5)、yarn-site.xml
添加如下代码:

<configuration><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name><value>org.apache.hadoop.mapred.ShuffleHandler</value></property><property><name>yarn.resourcemanager.address</name><value>Carlota1:8032</value></property><property><name>yarn.resourcemanager.scheduler.address</name><value>Carlota1:8030</value></property><property><name>yarn.resourcemanager.resource-tracker.address</name><value>Carlota1:8031</value></property><property><name>yarn.resourcemanager.admin.address</name><value>Carlota1:8033</value></property><property><name>yarn.resourcemanager.webapp.address</name><value>Carlota1:8088</value></property>
</configuration>

(6)、workers
将原内容修改为

Carlota2
Carlota3

拷贝hadoop安装文件到子节点

scp -r etc/hadoop  root@Carlota2:/usr/local/apps/hadoop-3.2.1/etc
scp -r etc/hadoop  root@Carlota3:/usr/local/apps/hadoop-3.2.1/etc

13、启动Hadoop集群

  • 格式化主节点的namenode:./bin/hdfs namenode -format
  • 主节点上在hadoop目录下执行:./sbin/start-all.sh

主节点上jps进程如下:
在这里插入图片描述
子节点上jps进程如下:
在这里插入图片描述

hadoop集群配置成功!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/535831.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTTP 视频怎么在 MIP 页面中使用?

在 MIP 中&#xff0c;一些资源的使用需要支持 HTTPS&#xff0c;视频就是其中一种。但目前大部分站点的视频资源都还是 HTTP 的资源&#xff0c;无法在百度 MIP 搜索结果中直接使用&#xff0c; mip-video 视频组件针对 HTTP 的视频资源采用跳到一个 HTTP 的播放页面进行播放&…

MIP 技术月报(4月):支持熊掌号登录;优化页面悬浮元素

之前由MIP团队维护的《移动 Web 加速技术月报》从本期开始&#xff0c;正式升级为《MIP 技术月报》&#xff0c;与以往不同的是&#xff0c;《MIP 技术月报》将会与大家分享包含移动加速技术以外的其他移动应用开发的技术&#xff0c;从移动用户体验、开发体验出发来分享 MIP 的…

2017 到 2018,PWA 技术到底经历了什么

高磊 OpenWeb开发者 1周前 在 GMTC 2018 全球大前端会议举办期间&#xff0c;高磊担任主题演讲嘉宾&#xff0c;并担任 PWA 专场出品人。作为有近 10 年 Web 前端技术开发、管理经验的开发者&#xff0c;高磊一直关注着 PWA 技术的发展。 2017年 6月10日&#xff0c;GMTC 201…

CentrOS7静默安装oracle11g

最近要做一个用ogg实现oracle到kafka的增量数据实时同步&#xff0c;但是Oracle就让我装了好久&#xff0c;这里来记录一下安装oracle过程。 1.建立swap分区 创建充当swap分区的文件&#xff0c;文件大小就是要增加的swap大小&#xff0c;of是文件位置&#xff0c;bs为单位&a…

MIP 网站中熊掌号登录

标题内容类型通用支持布局responsive,fixed-height,fill,container,fixed所需脚本https://c.mipcdn.com/static/v1/mip-mustache/mip-mustache.js https://c.mipcdn.com/static/v1/mip-login-xzh/mip-login-xzh.js 注意&#xff1a;使用该组件必须在引用本组件链接前引用 <…

MIP 支付组件,支付流程:

MIP 支付组件&#xff0c;支付流程&#xff1a; 标题内容类型通用支持布局responsive,fixed-height,fill,container,fixed所需脚本https://c.mipcdn.com/static/v1/mip-simple-pay/mip-simple-pay.js,https://c.mipcdn.com/static/v1/mip-login-xzh/mip-login-xzh.js 注意&…

jar包在Hadoop集群上测试(MapReduce)

本片使用MapReduce——统计输出给定的文本文档每一个单词出现的总次数的案例进行&#xff0c;jar包在集群上测试 1、添加打包插件依赖 <build><plugins><plugin><artifactId>maven-compiler-plugin</artifactId><version>3.6.2</versio…

什么是集群(cluster)

1、集群 1.1 什么是集群 简单的说&#xff0c;集群(cluster)就是一组计算机&#xff0c;它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点(node)。一个理想的集群是&#xff0c;用户从来不会意识到集群系统底层的节点&#xff0c;在他/她们看来&am…

JDK源码解析之 Java.lang.Double

Double类是原始类型double的包装类&#xff0c;它包含若干有效处理double值的方法&#xff0c;如将其转换为字符串表示形式&#xff0c;反之亦然。Double类的对象可以包含一个double值。 Double类包装原始类型的值 double中的对象。类型的对象 Double包含一个类型为的字段 doub…

sed教程入门与实例练习(二)

让我们看一下 sed 最有用的命令之一&#xff0c;替换命令。使用该命令&#xff0c;可以将特定字符串或匹配的规则表达式用另一个字符串替换。下面是该命令最基本用法的示例&#xff1a; $ sed -e ’s/foo/bar/’ myfile.txt上面的命令将 myfile.txt 中每行第一次出现的 ‘foo’…

Oracle GoldenGate微服务架构

Oracle GoldenGate支持两种架构&#xff0c;经典架构和微服务架构&#xff08;MA&#xff09;。 可以出于以下目的配置Oracle GoldenGate&#xff1a; 从一个数据库中静态提取数据记录&#xff0c;并将这些记录加载到另一个数据库中。连续提取和复制事务性数据处理语言&#…

Oracle GoldenGate经典架构

可以使用Oracle GoldenGate Classic Architecture从命令行配置和管理数据复制。 图示的说明logicalarch2.png 注意&#xff1a; 这是基本配置。根据业务需求和用例&#xff0c;可以配置此模型的不同变体。 1、Manager Manager是Oracle GoldenGate的控制过程。必须先在Oracl…

awk教程入门与实例练习(一)

Awk 是一种非常好的语言&#xff0c;同时有一个非常奇怪的名称。在本系列&#xff08;共三篇文章&#xff09;的第一篇文章中&#xff0c;Daniel Robbins 将使您迅速掌握 awk 编程技巧。随着本系列的进展&#xff0c;将讨论更高级的主题&#xff0c;最后将演示一个真正的高级 a…

HDFS-简介

HDFS 是 Hadoop Distribute File System 的简称&#xff0c;意为&#xff1a;Hadoop 分布式文件系统&#xff0c;是一种旨在在商品硬件上运行的分布式文件系统。它与现有的分布式文件系统有许多相似之处。但是&#xff0c;与其他分布式文件系统的区别很明显。HDFS具有高度的容错…

JDK源码解析之 java.lang.Thread

位于java.lang包下的Thread类是非常重要的线程类&#xff0c;它实现了Runnable接口&#xff0c;今天我们来学习一下Thread类&#xff0c;在学习Thread类之前&#xff0c;先介绍与线程相关知识&#xff1a;线程的几种状态、上下文切换&#xff0c;然后接着介绍Thread类中的方法的…

HDFS-文件读写过程

一、文件读取 Client向NameNode发起RPC请求&#xff0c;来确定请求文件block所在的位置&#xff1b;NameNode会视情况返回文件的部分或者全部block列表&#xff0c;对于每个block&#xff0c;NameNode 都会返回含有该 block 副本的 DataNode 地址&#xff1b; 这些返回的 DN 地…

Hive-简介入门

Hive简介 Hive最初是Facebook为了满足对海量社交网络数据的管理和机器学习的需求而产生和发展的。互联网现在进入了大数据时代&#xff0c;大数据是现在互联网的趋势&#xff0c;而hadoop就是大数据时代里的核心技术&#xff0c;但是hadoop的mapreduce操作专业性太强&#xff0…

Hive-原理解析

一、Hive 架构 下面是Hive的架构图。 Hive的体系结构可以分为以下几部分 1、用户接口&#xff1a;CLI&#xff08;hive shell&#xff09;&#xff1b;JDBC&#xff08;java访问Hive&#xff09;&#xff1b;WEBUI&#xff08;浏览器访问Hive&#xff09; 2、元数据&#x…

JDK源码解析之 java.lang.ClassLoader

Class代表它的作用对象是类&#xff0c;Loader代表它的功能是加载&#xff0c;那么ClassLoader就是把一个以.class结尾的文件以JVM能识别的存储形式加载到内存中。 一、核心方法 1、loadClass方法 protected Class<?> loadClass(String name, boolean resolve) throws…

JDK源码解析之 Java.lang.Package

如果我们在Class对象上调用getPackage方法&#xff0c;就可以得到描述该类所在包的Package对象(Package类是在java.lang中定义的)。我们也可以用包名通过调用静态方法getPackage或者调用静态方法getPackages(该方法返回由系统中所有已知包构成的数组)来获得Package对象。getNam…