Hadoop 集群环境搭建

目录

第一部分:系统安装... 3

1:图形化安装... 3

2:选择中文... 3

3:安装选项... 3

4:软件选项... 4

5:安装位置... 4

6:网络配置... 6

7:开始安装... 7

8:创建用户... 7

9:重启系统... 7

10:登录测试... 8

第二部分:初始化设置... 9

1:SSH远程登录... 9

2:yum 源更新... 9

3:安装vim和wget. 11

4:增加test 用户权限... 12

5:修改主机 /tec/hosts 文件... 14

6:配置test 账户免密ssh 登录... 15

7:防火墙设置开机关闭... 17

第三部分:Java jdk 安装配置... 19

1:检查JAVA状态... 19

2:安装JAVA 1.8. 19

3配置环境变量... 20

第四部分:Hadoop 集群安装... 22

1:下载hadoop. 22

2:修改环境变量... 23

3:节点配置... 24

1:主节点安装(server1)... 24

2:备节点安装(server2 server3)... 28

第五部分:Hadoop 状态检查和常用命令... 31

1:网页状态查看... 31

2:控制台命令... 32

1:常用排查故障命令... 32

2:常用基础命令... 32

3:HDFS命令(Hadoop分布式文件系统)... 32

4:MapReduce作业运行命令... 33

5:YARN(Yet Another Resource Negotiator)命令... 33

6:Hadoop集群管理命令... 33

7:Hadoop配置文件管理命令... 33

第一部分:系统安装

大致过程:软件安装选择-------磁盘分区-------IP地址设置-----用户名密码设置

1:图形化安装

这里选择图形化安装。

2:选择中文

选择语言为中文。

3:安装选项

设置对应的安装选项。

4:软件选项

选择最小安装和系统管理工具。

5:安装位置

选择对应的磁盘并手动配置磁盘各分区大小。

点击自动创建

调整 /home 分区和/ 分区的大小,因为Hadoop默认的存储路径是在/目录下,所以/目录需要分配大一点。

分配后的各部分大小。

6:网络配置

手动指定IP地址和主机名。

215三台分别是192.168.1.190/191/192

7:开始安装

8:创建用户

创建root密码和用户,简单密码需要保存2次,密码安全测试环境不涉及,

9:重启系统

重启系统后就完成安装了。

10:登录测试

登录系统检测账号密码是否可以登录:

 su -l root 切换到root账户

测试网络是否正常

ping 223.5.5.5(223.5.5.5是阿里的公共DNS服务器地址

以上完成操作系统的安装。

第二部分:初始化设置

yum update 更新-----vim wget 安装-----sudo 文件增加用户名----/etc/hosts 文件配置3台机器主机名解析---------SSH 免密登录配置------关闭防火墙设置

1:SSH远程登录

使用WindTerm的 窗口水平分割和同步输入进行3台机器同时操作,节省时间。

2:yum 源更新

切换到root 账户,使用 yum update, 中间出现确认选项使用  y 确认。

命令:

yum update

更新完成

3:安装vim和wget

vim是文档编辑工具,wget 是下载HTTP的工具。

命令:(root用户模式下)中间出现确认选项使用  y 确认。

yum install vim

yum install wget

4:增加test 用户权限

vi和vim 基础操作。进入后 i和(insert)按键进入插入模式,esc 进入 模式

:行数    ===去到某一行

:wq      ====保存修改

:wq!     ====强制保存修改

:q       ====退出

:q:      ====强制退出

去往第100行。

新增test 用户权限,test 为之前创建的用户。

:wq   进行保存。

5:修改主机 /tec/hosts 文件

命令:

vim /etc/hosts

新增主机名和ip地址对应关系,ip地址根据实际地址(这里是我的内网地址)

修改完成后直接ping 主机名进行测试,通了代表修改成功。

6:配置test 账户免密ssh 登录

Hadoop 默认在非root账户下运行,所以需要返回 test 账户下,使用exit 退出

命令:

cd ~/.ssh/

进入test用户的ssh目录,提示无当前目录,使用ssh 随便远程一台机器即可产生目标目录,使用no 不保存密钥。然后就可以进入~/.ssh/ 目录了

命令:

ssh-keygen -t rsa

生成密钥,会出现一些提示,这里要连续按多次回车,直到它出现一个如下图所示的框框。

cat id_rsa.pub >> authorized_keys

chmod 600 ./authorized_keys

加入授权和修改文件权限。

分别使用以下命令拷贝ssh 秘钥,按提示输入 yes 和密码。

命令:

ssh-copy-id test@10.10.10.190 

ssh-copy-id test@10.10.10.191 

ssh-copy-id test@10.10.10.192 

这里是3台机器相互拷贝对方的秘钥,因为我这里使用的是同步输入,每台机器都有自身的秘钥,所以这里有个报错,可以不用管,直接输入密码既可以。(以server3为例server1和server2 需要拷贝server3的密钥,这里提示要是否保存,输入yes 保存,然后输入test 用户密码即可,因为server3不用输入密码,所以这里直接进入了$ 输入模式,这个是正常的,其他2台这里也是一样的)

拷贝完成进行测试,分别使用域名和ip地址测试登录其他机器是否需要输入密码。

命令:

ssh  test@server1

ssh  test@10.10.10.190 

我这里是使用的同步输入,每次都进入相同的服务器,这里可以看到每次都成功了。

7:防火墙设置开机关闭

命令:

sudo systemctl stop firewalld

sudo systemctl disable firewalld

接下来重启下服务器。准备安装java。

第三部分:Java jdk 安装配置

JAVA 安装------环境变量设置-----安装完成后检查

1:检查JAVA状态

切换root账户,输入命令java -version查看当前Java版本。(注意-)我这里显示未安装。

命令:

java -version

2:安装JAVA 1.8

Hadoop在1.7版本或1.8版本都可以,这是是安装的1.8版本的。

命令:

sudo yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel

安装完成后检查一下

3配置环境变量

输入vim ~/.bashrc我们在.bashrc中进行环境变量设置。

命令:

vim ~/.bashrc

进入文本后,在 # User specific aliases and functions下面加上如下一行:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk

这里的JAVA_HOME的值是当前JDK的安装位置。添加上后就:wq保存退出。

输入source ~/.bashrc让刚才的变量设置生效。

命令:

source ~/.bashrc

完成以上操作后,我们输入如下命令进行检查。

命令:

java -version

$JAVA_HOME/bin/java –version

如下图所示,两个命令的输出结果一样,就没有问题。

以上显示java 安装成功。黄色地方报错的原因是  -version 的 -  不对,修改后就可以了运行了。

以上完成了java 的安装。

第四部分:Hadoop 集群安装

1:下载hadoop

(此处一定要切换回 test 账户,否则hadoop 启动不了)

退出到test 账户下,下载hadoop。

命令:

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz

tar -xzvf hadoop-3.3.1.tar.gz

sudo mv hadoop-3.3.1 /usr/local/hadoop

2:修改环境变量

编辑用户的 ~/.bashrc 文件:,在文件末尾添加以下行:

命令:

vim ~/.bashrc

export HADOOP_HOME=/usr/local/hadoop

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

保存并退出,然后执行命令:

source ~/.bashrc

3:节点配置

这里主节点和其他节点配置不一样,所以关闭了同步输入

 1:主节点安装(server1)

1.1:查询java 的程序位置

命令:

sudo update-alternatives --config java

记录当前路径:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.392.b08-2.el7_9.x86_64/jre

1.2:编辑 Hadoop 环境配置文件:

命令:

vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh

添加以下内容:  java 路径替换为上面记录的。

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.392.b08-2.el7_9.x86_64/jre

export HADOOP_HOME_WARN_SUPPRESS=true

1.3:配置 Hadoop 核心文件

命令:

vim /usr/local/hadoop/etc/hadoop/core-site.xml

添加以下内容: hdfs://10.10.10.190:9000 替换成对应的地址。

<configuration>

    <property>

        <name>fs.defaultFS</name>

        <value>hdfs://10.10.10.190:9000</value>

    </property>

</configuration>

1.4:配置 HDFS 文件系统

命令:

vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml

添加以下内容:

<configuration>

    <property>

        <name>dfs.replication</name>

        <value>3</value>

    </property>

    <property>

        <name>dfs.namenode.name.dir</name>

        <value>/usr/local/hadoop/data/namenode</value>

    </property>

    <property>

        <name>dfs.datanode.data.dir</name>

        <value>/usr/local/hadoop/data/datanode</value>

    </property>

</configuration>

1.5:配置 YARN 资源管理器

命令:

vim /usr/local/hadoop/etc/hadoop/yarn-site.xml

添加以下内容: 10.10.10.190 替换成对应的地址

<configuration>

    <property>

        <name>yarn.resourcemanager.hostname</name>

        <value>10.10.10.190</value>

    </property>

</configuration>

1.6:创建 HDFS 目录

命令:

hdfs namenode -format

1.7:启动 Hadoop 服务

命令:

start-dfs.sh

start-yarn.sh

主节点(server1)的hadoop 安装完成。

1.8:查看主节点状态

命名:

hdfs dfsadmin -report

2:备节点安装(server2 server3)

2.1: 从主节点复制 Hadoop 配置到从节点

命令:

scp -r 10.10.10.190:/usr/local/hadoop/etc/hadoop/* /usr/local/hadoop/etc/hadoop/

10.10.10.190修改为对应主节点ip地址

2.2:启动 Hadoop 服务

命令:

start-dfs.sh

start-yarn.sh

2.3:查看主节点状态

命名:

hdfs dfsadmin -report

以上就完成hadoop 3台机器集群环境的安装

第五部分:Hadoop 状态检查和常用命令

1:网页状态查看

YARN ResourceManager Web 用户界面  http://10.10.10.190:8088

Hadoop节点信息                      http://10.10.10.190:9870

2:控制台命令

1:常用排查故障命令

验证一下集群的状态:hdfs dfsadmin -report

列出 HDFS 上的文件:hdfs dfs -ls

本地文件上传到 HDFS:hdfs dfs -put /path/to/local/file /user/test/

获取节点的主机名或 IP 地址:hdfs dfsadmin -report | grep "Name:"

强制 Hadoop 刷新节点列表: hdfs dfsadmin -refreshNodes

2:常用基础命令

3:HDFS命令(Hadoop分布式文件系统)

上传文件到HDFS:

hdfs dfs -put <local-source> <hdfs-destination>

从HDFS下载文件:

hdfs dfs -get <hdfs-source> <local-destination>

列出HDFS目录内容:

hdfs dfs -ls <hdfs-path>

创建HDFS目录:

hdfs dfs -mkdir <hdfs-directory>

删除HDFS文件或目录:

hdfs dfs -rm <hdfs-path>

复制本地文件到HDFS:

hdfs dfs -copyFromLocal <local-source> <hdfs-destination>

4:MapReduce作业运行命令

提交MapReduce作业:

hadoop jar <jar-file> <main-class> <input-path> <output-path>

查看正在运行的MapReduce作业列表:

yarn application -list

5:YARN(Yet Another Resource Negotiator)命令

查看集群节点资源使用情况:

yarn node -list

查看正在运行的应用程序:

yarn application -list

6:Hadoop集群管理命令

启动Hadoop集群:

start-all.sh

停止Hadoop集群:

stop-all.sh

查看Hadoop集群状态:

hadoop dfsadmin -report

7:Hadoop配置文件管理命令

查看Hadoop配置:

hadoop version

查看Hadoop配置文件内容:

cat $HADOOP_HOME/etc/hadoop/core-site.xml

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

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

相关文章

TypeScript实战——ChatGPT前端自适应手机端,PC端

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 可以在线体验哦&#xff1a;体验地址 文章目录 前言引言先看效果PC端手机端 实现原理解释 包的架构目录 引言 ChatGPT是由OpenAI开发的一种基于语言模型的对话系统。它是GPT&#xff08;…

esp32-s3训练自己的数据进行目标检测、图像分类

esp32-s3训练自己的数据进行目标检测、图像分类 一、下载项目二、环境三、训练和导出模型四、部署模型五、存在的问题 esp-idf的安装参考我前面的文章&#xff1a; esp32cam和esp32-s3烧录human_face_detect实现人脸识别 一、下载项目 训练、转换模型&#xff1a;ModelAssist…

外汇天眼:我碰到外汇投资骗局了吗?学会这5招,轻松识别外汇诈骗黑平台!

近年来外汇市场因为交易量大、流动性大、不容易被控盘、品种简单、风险相对低等特色&#xff0c;因此吸引不少投资人青睐&#xff0c;成为全球金融市场的热门选择。 然而&#xff0c;市面上充斥许多诈骗集团设立的黑平台&#xff0c;也打着投资外汇的名义行骗&#xff0c;不免会…

25年老品牌 美好蕴育润康守护孕期妈妈的健康之路

孕期是每一位女性人生中最为特殊的阶段。每一位妈妈都期待着健康、快乐的度过每一天。然而&#xff0c;随着孕周的增加&#xff0c;孕期的不适和困扰也随之而来。孕吐、腰酸背痛、便秘等孕期症状让许多妈妈倍感疲惫和焦虑。在这个关键时刻&#xff0c;美好蕴育润康作为25年的老…

Docker 文件和卷 权限拒绝

一 创作背景 再复制Docker影像文件或访问Docker容器内已安装卷上的文件时我们常常会遇到&#xff1a;“权限被拒绝”的错误&#xff0c;在此&#xff0c;您将了解到为什么会出现“权限被拒绝”的错误以及如何解决这个问题。 二 目的 在深入探讨 Docker 容器中的 Permission De…

Python实验报告十一、自定义类模拟三维向量及其运算

一、实验目的&#xff1a; 1、了解如何定义一个类。 2、了解如何定义类的私有数据成员和成员方法。 3、了解如何使用自定义类实例化对象。 二、实验内容&#xff1a; 定义一个三维向量类&#xff0c;并定义相应的特殊方法实现两个该类对象之间的加、减运算&#xff08;要…

YOLOv5涨点技巧:一种新颖的多尺度特征融合方法iAFF

💡💡💡本文全网独家改进:1)引入了一种新颖的多尺度特征融合iAFF;2)为了轻量级部署,和GhostConv有效结合在边缘端具有竞争力的准确性 💡💡💡在YOLOv5中如何使用 1)iAFF加入Neck替代Concat; 💡💡💡Yolov5/Yolov7魔术师,独家首发创新(原创),适用于Y…

回顾丨2023 SpeechHome 第三届语音技术研讨会

下面是整体会议的内容回顾&#xff1a; 18日线上直播回顾 18日上午9:30&#xff0c;AISHELL & SpeechHome CEO卜辉宣布研讨会开始&#xff0c;并简要介绍本次研讨会的筹备情况以及报告内容。随后&#xff0c;CCF语音对话与听觉专委会副主任、清华大学教授郑方&#xff0c…

Linux 一键部署TeamCity

前言 TeamCity 是一个通用的 CI/CD 软件平台,可实现灵活的工作流程、协作和开发实践。允许在您的 DevOps 流程中成功实现持续集成、持续交付和持续部署。 系统支持Centos7,8,9/Redhat7,8,9及复刻系列download TeamCity TeamCity 文档参考TeamCity downloaddownloadTeamCi…

[Unity]接入Firebase 并且关联支付埋点

首先 在这个下一下FireBase的资源 firebase11.0.6 然后导入Analytics Auth Crashlytics 其他的看着加就行 然后直接丢到Unity里面 接下来需要去Firebase里面下载 Google json 丢到 这个下面 然后就是脚本代码了 using System.Collections; using System.Collection…

一键批量管理HTML文档,轻松删除无用内容,提升网站性能!

随着互联网的快速发展&#xff0c;网站性能优化已经成为每个站长和开发者必须面对的问题。为了提升网站性能&#xff0c;我们需要对HTML文档进行高效的管理和优化。但是&#xff0c;手动管理大量HTML文件不仅效率低下&#xff0c;还容易出错。那么&#xff0c;有没有一种简单、…

2023 年人工智能研究与技术排名前 10 的国家

人工智能研究是一项全球性的工作。虽然美国和中国因其对人工智能的贡献而备受关注&#xff0c;但事实是&#xff0c;世界各国都在涉足这项技术&#xff0c;尝试新的突破&#xff0c;并吸引投资者的关注。 斯坦福大学的《2023年人工智能报告》估计&#xff0c;到 2022 年&#…

05-垃圾收集器ParNewCMS与底层三色标记算法详解

文章目录 垃圾收集算法分代收集理论标记-复制算法标记-清除算法标记-整理算法 垃圾收集器Serial收集器Parallel Scavenge收集器ParNew收集器CMS收集器 CMS的相关核心参数亿级流量电商系统如何优化JVM参数设置(ParNewCMS) 垃圾收集底层算法实现三色标记多标-浮动垃圾漏标-读写屏…

歌曲春节回家:李白的诗意与荆涛的歌声

歌曲春节回家&#xff1a;李白的诗意与荆涛的歌声 “春节回家&#xff0c;春节回家&#xff0c;又是一个春节到&#xff0c;漫天雪花飘。”随着歌手荆涛深情的嗓音&#xff0c;我们仿佛置身于那漫天飞雪的冬日&#xff0c;期待着与家人团聚的温馨时刻。这首歌曲不仅是对春节回…

数学建模笔记-拟合算法

内容&#xff1a;拟合算法 一.概念&#xff1a; 拟合的结果就是找到一个确定的曲线 二.最小二乘法&#xff1a; 1. 2.最小二乘法的二表示的是平方的那个2 3.求解最小二乘法&#xff1a; 三.评价拟合的好坏 1.总体评分和SST&#xff1a; 2.误差平方和SSE&#xff1a; 3.回…

机器学习:手撕 AlphaGo(一)

图 1-1: AphaGo 结构概览 1. 前言 AlphaGo 是一个非常经典的模型&#xff0c;不论从影响力还是模型设计上。它的技术迭代演进路径&#xff1a;AlphaGo&#xff0c;AlphaGoZero&#xff0c;AlphaZero&#xff0c;MuZero 更是十分精彩。相信有很多同学因为听了 AlphaGo 的故事对…

在Portainer创建Nginx容器并部署Web静态站点实现公网访问

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;…

Leetcod面试经典150题刷题记录 —— 矩阵篇

矩阵篇 1. 有效的数独2. 螺旋矩阵Python 3. 旋转图像Python额外开辟数组空间原地置换法 4. 矩阵置零5. 生命游戏Python 1. 有效的数独 题目链接&#xff1a;有效的数独 - leetcode 题目描述&#xff1a; 请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 &#xff0c;验…

Android13 Wifi启动流程分析

Android13 Wifi启动流程分析 文章目录 Android13 Wifi启动流程分析一、正常开关wifi 启动流程1、WifiManager2、WifiServiceImpl3、ActiveModeWarden4、ConcreteClientModeManager5、WifiNative6、WifiVendorHal7、HalDeviceManager8、wifi.cpp 二、重启设备时自动开启wifi流程…

centos(linux)安装jenkins

官网&#xff1a;https://pkg.jenkins.io/redhat/ jdk版本要和jenkins对上&#xff01; 安装官网进行操作&#xff1a; sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.reposudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io-…