Centos 7之Hadoop搭建

介绍

Hadoop Distributed File System简称 HDFS,是一个分布式文件系统。HDFS 有着高容错性(fault-tolerent)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS 放宽了(relax)POSIX 的要求(requirements)这样可以实现流的形式访问(streaming access)文件系统中的数据。HDFS 开始是为开源的 apache 项目 nutch 的基础结构而创建,HDFS 是 hadoop 项目的一部分,而 hadoop 又是 lucene 的一部分。

官方网站

https://hadoop.apache.org/

软件准备

  • hadoop-3.3.4.tar.gz

下载地址:https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz

  • jdk-8u361-linux-x64.tar.gz

下载地址:https://share.weiyun.com/uwm6F1la

环境列表

master

192.168.199.201

slave0

192.168.199.202

slave1

192.168.199.203

关闭防火墙并禁用开机自启

systemctl disable firewalld --now

关闭seLinux

# 永久关闭重启后生效
sed -i 's/=enforcing/=disabled/g' /etc/selinux/config
# 临时关闭
setenforce 0

修改主机名

# IP:192.168.199.201
hostnamectl set-hostname master# IP:192.168.199.202
hostnamectl set-hostname slave0# IP:192.168.199.203
hostnamectl set-hostname slave1

修改hosts文件

cat >> /etc/hosts <<EOF
192.168.199.201 master
192.168.199.202 slave0
192.168.199.203 slave1
EOF

配置免密钥登录

  • 生成公钥文件
ssh-keygen -t rsa
  • 对master进行免密钥登录,输入对应密码
ssh-copy-id -i /root/.ssh/id_rsa.pub root@master
  • 对slave0进行免密钥登录,输入对应密码
ssh-copy-id -i /root/.ssh/id_rsa.pub root@slave0
  • 对slave1进行免密钥登录,输入对应密码
ssh-copy-id -i /root/.ssh/id_rsa.pub root@slave1
  • 在master服务器输入下面的命令,都不需要输入密码,则配置成功
ssh master
ssh slave0
ssh slave1

安装JDK

  • 创建java目录
mkdir /usr/local/java
cd /usr/local/java
  • 把准备的jdk-8u361-linux-x64.tar.gz上传到该目录下进行解压
tar xzf jdk-8u361-linux-x64.tar.gz
  • 配置环境变量
echo "export JAVA_HOME=/usr/local/java/jdk1.8.0_361" >> /root/.bash_profile
echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> /root/.bash_profile
source /root/.bash_profile
  • 验证变量是否生效
[root@master ~]# java -version
java version "1.8.0_361"
Java(TM) SE Runtime Environment (build 1.8.0_361-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.361-b10, mixed mode)
  • 拷贝jdk和.bash_profile文件到slave0、slave1中
scp -r /usr/local/java root@slave0:/usr/local
scp -r /root/.bash_profile root@slave0:/root
ssh root@slave0 "source /root/.bash_profile"scp -r /usr/local/java root@slave1:/usr/local
scp -r /root/.bash_profile root@slave1:/root
ssh root@slave1 "source /root/.bash_profile"

Hadoop安装与环境配置

1、上传hadoop-3.3.4.tar.gz到/opt目录下,解压并变更属主属组

cd /opt/
tar xzf hadoop-3.3.4.tar.gz
mv hadoop-3.3.4 hadoopchown -R root:root hadoop

2、创建数据目录

mkdir -p /opt/hadoop/{tmp,hdfs/{name,data}}

3、配置hadoop-env.sh

sed -i 's@# export JAVA_HOME=@export JAVA_HOME=\/usr\/local\/java\/jdk1.8.0_361\/@g' /opt/hadoop/etc/hadoop/hadoop-env.sh
grep JAVA_HOME= /opt/hadoop/etc/hadoop/hadoop-env.sh

4、配置core-site.xml

vim /opt/hadoop/etc/hadoop/core-site.xml# <configuration>之间添加如下内容:<!-- 指定Hadoop所使用的文件系统schema(URL),HDFS的老大(NameNode)的地址 -->
<property><name>fs.defaultFS</name><value>hdfs://master:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的储存目录,默认是/tmp/hadoop-${user.name} -->
<property><name>hadoop.tmp.dir</name><value>file:/opt/hadoop/tmp</value>
</property>

5、配置hdfs-site.xml

vim /opt/hadoop/etc/hadoop/hdfs-site.xml#<configuration>之间添加如下内容:<property><name>dfs.replication</name><value>1</value><description>HDFS数据块的副本存储个数</description>
</property>
<property><name>dfs.namenode.name.dir</name><value>file:/opt/hadoop/hdfs/name</value><description>为了保证元数据的安全一般配置多个不同目录</description>
</property>
<property><name>dfs.datanode.data.dir</name><value>file:/opt/hadoop/hdfs/data</value><description>datanode的数据存储目录</description>
</property>
  • secondary namenode 运行节点的信息,在namenode不同节点上进行配置
<property><name>dfs.secondary.http.address</name><value>master:50090</value><description>secondarynamenode运行节点的信息和namenode不同节点</description>
</property>

6、配置yarn-site.xml

vim /opt/hadoop/etc/hadoop/yarn-site.xml#<configuration>之间添加如下内容:<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value><description>YARN集群为MapReduce程序提供的shuffle服务</description>
</property>
<property><name>yarn.resourcemanager.address</name><value>master:18040</value>
</property>
<property><name>yarn.resourcemanager.scheduler.address</name><value>master:18030</value>
</property>
<property><name>yarn.resourcemanager.resource-tracker.address</name><value>master:18025</value>
</property>
<property><name>yarn.resourcemanager.admin.address</name><value>master:18141</value>
</property>
<property><name>yarn.resourcemanager.webapp.address</name><value>master:18088</value>
</property>
<property><name>yarn.nodemanager.pmem-check-enabled</name><value>false</value>
</property>
<property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value>
</property>

7、配置mapred-site.xml

vim /opt/hadoop/etc/hadoop/mapred-site.xml#<configuration>之间添加如下内容:
<property><name>mapreduce.framework.name</name><value>yarn</value>
</property>

8、配置works

  • hadoop-3.0.0版本以前该文件名称为slaves
cat > /opt/hadoop/etc/hadoop/workers <<EOF 
master
slave0
slave1
EOF

9、配置Hadoop环境变量

echo "export HADOOP_HOME=/opt/hadoop" >> /root/.bash_profile
echo "export PATH=\$HADOOP_HOME/bin:\$HADOOP_HOME/sbin:\$PATH" >> /root/.bash_profile
echo "export HDFS_NAMENODE_USER=root" >> /root/.bash_profile
echo "export HDFS_DATANODE_USER=root" >> /root/.bash_profile
echo "export HDFS_SECONDARYNAMENODE_USER=root" >> /root/.bash_profile
echo "export YARN_RESOURCEMANAGER_USER=root" >> /root/.bash_profile
echo "export YARN_NODEMANAGER_USER=root" >> /root/.bash_profile

10、复制hadoop相关目录到slave0和slave1

scp -r /opt/hadoop root@slave0:/opt
scp -r /root/.bash_profile root@slave0:/root
ssh root@slave0 "source /root/.bash_profile"
ssh root@slave0 "/bin/bash /opt/hadoop/useradd.sh"scp -r /opt/hadoop root@slave1:/opt
scp -r /root/.bash_profile root@slave1:/root
ssh root@slave1 "source /root/.bash_profile"
ssh root@slave1 "/bin/bash /opt/hadoop/useradd.sh"

11、格式化文件系统

  • 仅master执行该命令,且只能执行一次
source /root/.bash_profile
hadoop namenode -format

12、启动hadoop

[root@master ~]# start-all.sh
Starting namenodes on [master]
Last login: Tue Oct 11 23:18:57 CST 2022 from master on pts/1
Starting datanodes
Last login: Tue Oct 11 23:53:33 CST 2022 on pts/0
slave0: WARNING: /opt/hadoop/logs does not exist. Creating.
slave1: WARNING: /opt/hadoop/logs does not exist. Creating.
Starting secondary namenodes [master]
Last login: Tue Oct 11 23:53:35 CST 2022 on pts/0
Starting resourcemanager
Last login: Tue Oct 11 23:53:44 CST 2022 on pts/0
Starting nodemanagers
Last login: Tue Oct 11 23:54:16 CST 2022 on pts/0
[root@master ~]# jps
2631 SecondaryNameNode
2935 ResourceManager
2280 NameNode
2424 DataNode
3067 NodeManager
3619 Jps
[root@master ~]# ssh slave0 "/usr/local/java/jdk1.8.0_361/bin/jps"
1795 DataNode
1908 NodeManager
2015 Jps
[root@master ~]# ssh slave1 "/usr/local/java/jdk1.8.0_361/bin/jps"
1747 DataNode
1862 NodeManager
1965 Jps

13、关闭hadoop

stop-all.sh

14、historyserver的启动与关闭

mapred --daemon start historyserver
mapred --daemon stop historyserver

15、Web Interfaces

Once the Hadoop cluster is up and running check the web-ui of the components as described below:

Daemon

Web Interface

Notes

NameNode

http://nn_host:port/

Default HTTP port is 9870.

ResourceManager

http://rm_host:port/

Default HTTP port is 8088.

MapReduce JobHistory Server

http://jhs_host:port/

Default HTTP port is 19888.

http://192.168.199.201:9870

http://192.168.199.201:18088

http://192.168.199.201:19888

到这里就配置完成了,以上代码和界面均能实现,则hadoop部署成功!

分享、在看与点赞
只要你点,我们就是胖友

来自: Centos 7之搭建Hadoopicon-default.png?t=N7T8https://mp.weixin.qq.com/s?__biz=Mzk0NTQ3OTk3MQ==&mid=2247486447&idx=1&sn=02bf9445d7e23023ae75e5f0097df9a3&chksm=c31583a3f4620ab57eab9f8e36e42d9592a92ce48ddd198be4a4fd4a7be96d58dc8267a0245d&token=355315523&lang=zh_CN#rd

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

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

相关文章

三分钟“手撕”队列与习题

代码放开头&#xff0c;方便大家查阅 目录 一、实现代码 二、什么是队列 三、队列常见方法 入队push&#xff08;&#xff09; 出队 四、Queue使用 Java自带的Queue 双端队列 五、习题 循环队列 用队列实现栈 用栈实现队列 一、实现代码 package demo2;publi…

一款小众清新的Typecho主题

源码介绍 DearLicy主题&#xff0c;一款小众化小清新风格的博客主题 主题支持Typecho所支持的所有版本PHP 简约、小众、优雅 源码截图 安装教程 将主题上传至/usr/themes/文件夹下解压后台进行启用访问前台查看效果 源码下载 https://www.qqmu.com/3378.html

一键设置常用纸张和页面边距-Word插件-大珩助手

Word大珩助手是一款功能丰富的Office Word插件&#xff0c;旨在提高用户在处理文档时的效率。它具有多种实用的功能&#xff0c;能够帮助用户轻松修改、优化和管理Word文件&#xff0c;从而打造出专业而精美的文档。 【新功能】常用纸张和常用边距 1、一键设定符合中国人常用…

273 基于matlab的改进型节点重构小波包频带能量谱与 PNN(概率神经网络)的联合故障诊断新方法

基于matlab的改进型节点重构小波包频带能量谱与 PNN&#xff08;概率神经网络&#xff09;的联合故障诊断新方法。针对风电机组故障信号的非平稳性以及故障与征兆的非线性映射导致的故障识别困难问题&#xff0c;提出了改进型的节点重构小波包频带能量谱与PNN&#xff08;概率神…

大数据数据治理工具

大数据数据治理-CSDN博客 大数据数据治理工具&#xff1a; 开源工具&#xff1a; Apache Atlas&#xff1a; 一个开源的数据治理和元数据框架&#xff0c;为Hadoop生态系统提供数据分类、管理和安全功能。 Apache Ranger&#xff1a; 一个集中式安全管理框架&#xff0c;用于…

Java Web学习笔记2——Web开发介绍

什么是Web&#xff1f; Web&#xff1a;全球广域网&#xff0c;也称为万维网&#xff08;WWW World Wide Web&#xff09;&#xff0c;能够通过浏览器访问的网站。 1&#xff09;淘宝、京东、唯品会等电商系统&#xff1b; 2&#xff09;CRM、OA、ERP企业管理系统&#xff1…

ubuntu-server(22.04)安装

准备工作 首先我们先从网上获取ubuntu的iso镜像文件 Index of /ubuntu-releases/22.04/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 我们安装这个最小包即可 找到我们ubuntu安装完成后所需要下载安装源的网址&#xff08;常用是阿里云&#xff09; ubuntu安装…

手写节流throttle

节流throttle 应用场景 滚动事件监听scroll&#xff1a;例如监听页面滚动到底部加载更多数据时&#xff0c;使用节流技术减少检查滚动位置的频率&#xff0c;提高性能。鼠标移动事件mousemove&#xff1a;例如实现一个拖拽功能&#xff0c;使用节流技术减少鼠标移动事件的处理…

分布式session共享配置

目录 1、spring-session 1.1 添加依赖 1.2 spring-mvc.xml配置文件 1.3 web.xml 2、tomcat配置session、共享 2.1 Tomcat配置 2.2 Web.xml配置 1、spring-session 官方文档&#xff1a;https://docs.spring.io/spring-session/docs/1.3.0.RELEASE/reference/html5/ 1.…

OpenCV中的圆形标靶检测——斑点检测算法(一)

1.导读 在上一节内容中我们简要描述了OpenCV中实现圆形标靶检测的API的使用方法,其处理流程可大致分为1)斑点形状的检测,和2)基于规则的斑点形状的过滤与定位。第一步将类似圆斑形状的区域检测出来,但可能存在一些误检测的噪声,第二步则利用圆斑的分布规则(M*N排列)进行…

攻防世界---misc---can_has_stdio?

1、下载附件是一个没有后缀的文件&#xff0c;尝试将后缀改为txt发现里面有一些特殊字符的编码 2、查阅资料得知它是一种编程代码 3、知道了它是什么代码之后&#xff0c;我们就去解码&#xff08;网址&#xff1a;El Brainfuck (copy.sh)&#xff09; 4、 flag{esolangs_for_f…

ChatTTS,语气韵律媲美真人的开源TTS模型,文字转语音界的新魁首,对标微软Azure-tts

前两天 2noise 团队开源了ChatTTS项目&#xff0c;并且释出了相关的音色模型权重&#xff0c;效果确实非常惊艳&#xff0c;让人一听难忘&#xff0c;即使摆在微软的商业级项目Azure-tts面前&#xff0c;也是毫不逊色的。 ChatTTS是专门为对话场景设计的文本转语音模型&#x…

文件上传题目练习

[HNCTF 2022 Week1]easy_upload 先尝试上传一个php文件&#xff0c;发现直接就成功了 用蚁剑测试连接成功 找到flag [NISACTF 2022]bingdundun~ 白名单上传 这里因为尝试了很多绕过方式都不成功&#xff0c;去搜索了一下wp&#xff0c;发现要用到Phar://伪协议 补充&#xff…

SSRF及相关例题

SSRF及相关例题 服务端请求伪造&#xff08;Server Side Request Forgery, SSRF&#xff09;指的是攻击者在未能取得服务器所有权限时&#xff0c;利用服务器漏洞以服务器的身份发送一条构造好的请求给服务器所在内网。SSRF攻击通常针对外部网络无法直接访问的内部系统。 SSR…

sql注入 (运用sqlmap解题)

注:level参数 使用–batch参数可指定payload测试复杂等级。共有五个级别&#xff0c;从1-5&#xff0c;默认值为1。等级越高&#xff0c;测试的payload越复杂&#xff0c;当使用默认等级注入不出来时&#xff0c;可以尝试使用–level来提高测试等级。 --level 参数决定了 sql…

鸿蒙应用开发之OpenGL应用和X组件12

在这个应用程序里还有一个功能,就是点击绘画四边形作出响应,也就是触摸X组件进行响应,所以X组件的点击函数响应在前面已经做设置了回调,当用户触摸这个组件时,就会调用函数DispatchTouchEventCB,再从这个函数里调用渲染对象的函数ChangeColor来改变颜色,如下两图是不同的…

<网络安全VIP>第二篇《工业控制软件》

1 PLC PLC,(Programmable Logic Controller),可编程逻辑控制器(PLC)是种专门为在工业环境下应用而设计的数字运算操作电子系统。 2 DCS 四、DCS的发展趋势 一、DCS的基本定义 DCS是分布式控制系统(Distributed Control System)的英文缩写,在国内自控行业又称之为集…

使用wireshark分析tcp握手过程

开启抓包 tcpdump -i any host 127.0.0.1 and port 123 -w tcp_capture.pcap 使用telnet模拟tcp连接 telnet 127.0.0.1 123 如果地址无法连接&#xff0c;则会一直重试SYN包&#xff0c;各个平台SYN重试间隔并不一致&#xff0c;如下&#xff1a; 异常站点抓包展示&#xff…

Fatfs

STM32进阶笔记——FATFS文件系统&#xff08;上&#xff09;_stm32 fatfs-CSDN博客 STM32进阶笔记——FATFS文件系统&#xff08;下&#xff09;_stm32 文件系统怎样获取文件大小-CSDN博客 STM32——FATFS文件基础知识_stm32 fatfs-CSDN博客 021 - STM32学习笔记 - Fatfs文件…

godot.bk4:how to make NPC roam and attack player with global variable‘s usage

1.为什么会有重力的影响&#xff1a;因为CharacterBody2D默认的代码是重力影响的&#xff0c;删掉即可 只需要添加 extends CharacterBody2Dconst SPEED 200.0 var directionfunc _physics_process(delta):direction Input.get_vector("ui_left", "ui_right&…