伪分布Hadoop的安装与部署

1.实训目标

(1)熟悉掌握使用在Linux下安装JDK。

(2)熟悉掌握使用在Linux下安装Hadoop。

(3)熟悉掌握使用配置SSH免密登录。

2.实训环境与软件

环境

版本

说明

Windows 10系统

64位

操作电脑配置

VMware

16

用于搭建所需虚拟机Linux系统

Linux系统

CentOS 7

已配置完成

hadoop

192.168.213.200

用于安装JDK与Hadoop伪分布式的搭建

软件

版本

说明

JDK

1.8

jdk-8u161-linux-x64.tar.gz

Hadoop

3.1.4

hadoop-3.1.4.tar.gz

3.实训说明

       在实际应用中,如果是做简单的测试数据不大,可以使用Hadoop伪分布式集群来运算。Hadoop伪分布式部署的步骤流程与分布式的相差不大,相对来说要更简单些。集群的配置需要具体问题具体分析,根据业务需求搭建合适的集群环境。因此,请基于Hadoop 3.1.4版本,安装并部署伪分布式Hadoop集群,巩固Hadoop集群的搭建操作,加深对Haddop的理解。

4.实训步骤

        4.1 FinalShell远程连接Linux系统

 (1)使用命令“ifconfig”查看虚拟机的IP地址。

 (2)打开Final shell连接Linux系统。

4.2 修改主机别名为hadoop

(1)使用hostnamectl命令设置主机别名,最后重启reboot。

hostnamectl set-hostname hadoop
reboot

(2)使用命令“host”查看修改后的主机名。

(3)进入hosts文件里面添加IP与主机别名的映射关系。

vi /etc/hosts
192.168.213.200 hadoop

4.3 设置SSH免密登录

(1)使用“ssh-keygen -t rsa”命令,接着按3次“Enter”键。ssh-keygen产生公钥与私钥(可以进入.ssh目录中查看,id_rsa:私钥,id_rsa.pub :公钥)。

(2)使用命令“ssh-copy-id”将公钥复制至master,输入ssh-copy-id hadoop后,输入yes和密码。 

 (3)验证免密登录是否成功,输入ssh hadoop命令。

4.安装JDK

(1)将JDK安装包jdk-8u161-linux-x64.tar.gz上传至虚拟机master的/opt目录下,进入/opt目录下,使用“tar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/local/”命令将JDK解压安装到/usr/local目录下,具体实现如下所示。

cd /opt/
tar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/local/

 (2)验证JDK是否配置成功,使用“java -version”命令查看Java版本。具体实现如代码所示。

4.5 安装Hadoop,配置jdk和hadoop的环境变量

(1)将Hadoop安装包hadoop-3.1.4.tar.gz上传至虚拟机master的/opt目录下,使用“tar -zxvf hadoop-3.1.4.tar.gz -C /usr/local”命令,将Hadoop安装包解压至master的/usr/local目录下。

cd /opt/
tar -zxvf hadoop-3.1.4.tar.gz -C /usr/local/

(2)配置jdk和hadoop的环境变量。使用命令“vi /etc/profile”在hadoop节点上修改/etc/profile文件,在文件末尾添加如下代码内容,文件修改完保存退出,然后使用“source /etc/profile”命令使配置生效。

代码4.4-1 设置Jdk和Hadoop环境变量

export JAVA_HOME=/usr/local/jdk1.8.0_161
export HADOOP_HOME=/usr/local/hadoop-3.1.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

(3)使用“source /etc/profile”命令使配置生效。

(4)使用jps和javac命令测试一下是否配置成功。

 4.6 配置Hadoop相关文件

       使用命令“cd /usr/local/hadoop-3.1.4/etc/hadoop/”进入/usr/local/hadoop-3.1.4/etc/hadoop目录。依次修改core-site.xmlhadoop-env.shhdfs-site.xmlmapred-site.xmlyarn-site.xml共5个配置文件的内容,具体操作步骤如下。

(1)使用命令“vi core-site.xml”打开文件。hadoop.tmp.dir配置了Hadoop的临时文件的目录。添加的内容如代码4.5-1所示。

 代码4.5-1 修改core-site.xml

<configuration><property><name>fs.defaultFS</name><value>hdfs://hadoop:8020</value></property><property><name>hadoop.tmp.dir</name><value>/usr/local/hadoop-3.1.4/tmp</value></property>
</configuration>

(2)使用命令“vi hadoop-env.sh”打开文件。hadoop-env.sh文件设置了Hadoop运行基本环境的配置,需要修改JDK所在目录。修改内容如代码4.5-2所示。

代码4.5-2 修改hadoop-env.sh

export JAVA_HOME=/usr/local/jdk1.8.0_161
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

(3)使用命令“vi hdfs-site.xml”打开文件。hdfs-site.xml设置了HDFS相关的配置,修改内容如代码4.5-3所示。 

代码4.5-3 修改hdfs-site.xml文件

<configuration>
<property><name>dfs.namenode.http-address</name><value>hadoop:9870</value></property><property><name>dfs.namenode.secondary.http-address</name><value>hadoop:9868</value>
</property>
</configuration>

(4)使用命令vi mapred-site.xml打开文件,mapred-site.xml文件添加的内容如代码4.54所示。

代码4.5-4  mapred-site.xml文件添加的内容

<configuration>
<property><name>mapreduce.framework.name</name><value>yarn</value>
</property>
</configuration>

(5)使用命令vi yarn-site.xml打开文件,yarn-site.xml文件修改的内容如代码4.5-5所示。

代码4.5-5  yarn-site.xml文件修改的内容

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

4.7 启动Hadoop 

(1)在首次启动签需要使用命令“hdfs namenode -format”格式化NameNode。

(2)格式化完成后即可启动Hadoop集群,使用命令“start-all.sh”可启动Hadoop集群。

(3)集群启动之后,使用“jps”命令,出现如下图所示的6个进程信息,说明集群启动成功。

4.8 查看HDFS对应的webUI(必须要先关闭防火墙)

  首先查看防火墙的状态:firewall-cmd --state
  如果防火墙为开启状态,需要关闭防火墙:systemctl stop firewalld.service
  浏览器输入网址:http://192.168.25.200:9870

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

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

相关文章

【IEEE列表会议】IEEE第三届信息与通信工程国际会议国际会议(JCICE 2024)

会议简介 Brief Introduction 2024年第三届信息与通信工程国际会议国际会议 (JCICE 2024) 会议时间&#xff1a;2024年5月10日-12日 召开地点&#xff1a;中国福州 大会官网&#xff1a;JCICE 2024-2024 International Joint Conference on Information and Communication Engi…

筛选出等于1的式子

然后统计和归类 归类分行归类方法 算术符号归类 数字大小排序算术符号归类 import randomdef generate_expression(num_range, num_count, operators):nums random.sample(range(num_range[0], num_range[1]1), num_count)ops random.choices(operators, knum_count-1)expre…

高级语言讲义2010计专(仅高级语言部分)

1.编写一程序&#xff0c;对输入的正整数&#xff0c;求他的约数和。 如&#xff1a;18的约数和为1236939 #include <stdio.h>int getsum(int n){int i,sum0;for(i1;i<n;i)if(n%i0)sumi;return sum; } int main(){int sum getsum(18);printf("%d",sum); …

vulhub中Weblogic < 10.3.6 ‘wls-wsat‘ XMLDecoder 反序列化漏洞(CVE-2017-10271)复现

Weblogic的WLS Security组件对外提供webservice服务&#xff0c;其中使用了XMLDecoder来解析用户传入的XML数据&#xff0c;在解析的过程中出现反序列化漏洞&#xff0c;导致可执行任意命令。 访问http://your-ip:7001/即可看到一个404页面&#xff0c;说明weblogic已成功启动 …

【数据结构】用栈实现队列

前言&#xff1a;本节博客分享了用栈实现队列效果的思路以及代码&#xff0c;有需要借鉴即可。 1.题目及链接 LINK 2.思路分析 如果要用栈实现队列&#xff0c;我们直到栈是先入后出的一个效果&#xff0c;所以我们可以用两个栈&#xff0c;这样逆转两次数不就是入栈之前数组…

深入理解神经网络

图片怎么被识别的过程 (每层神经网络是数组,会对进来的数据进行加权求和[(weight*数据 然后累加) bias])(激活函数是为了训练weight和bias偏移值,在每个神经网络)(分类器会统计概率分类) 2. 引用链接 https://mp.weixin.qq.com/s?__bizMzIyNjMxOTY0NA&mid2247500124&…

FFmpeg--AAC音频解码流程

文章目录 AAC 组成函数分析读aac帧写aac帧aac的head参数设置 运行结果 AAC 组成 AAC音频格式&#xff1a;是⼀种由MPEG-4标准定义的有损⾳频压缩格式 ADTS:是AAC音频的传输流格式 AAC音频文件的每一帧由ADTS Header和AAC Audio Data组成 每⼀帧的ADTS的头⽂件都包含了⾳频的采…

STL容器之哈希的补充——其他哈希问题

1.其他哈希问题 ​ 减少了空间的消耗&#xff1b; 1.1位图 ​ 位图判断在不在的时间复杂度是O(1)&#xff0c;速度特别快; ​ 使用哈希函数直接定址法&#xff0c;1对1映射&#xff1b; ​ 对于海量的数据判断在不在的问题&#xff0c;使用之前的一些结构已经无法满足&…

13. 用户注册功能实现

文章目录 一 、增加路由二、书写流程控制&#xff08;controller&#xff09;逻辑三、书写业务逻辑四、与DB交互五、测试 代码地址&#xff1a;https://gitee.com/lymgoforIT/bluebell 一 、增加路由 添加路由&#xff0c;使用分组管理 v1 : r.Group("/api/v1")//…

代码随想录训练营第41天 | 动态规划:01背包理论基础、动态规划:01背包理论基础(滚动数组)、LeetCode 416.分割等和子集

动态规划&#xff1a;01背包理论基础 文章讲解&#xff1a;代码随想录(programmercarl.com) 视频讲解&#xff1a;带你学透0-1背包问题&#xff01;_哔哩哔哩_bilibili 动态规划&#xff1a;01背包理论基础&#xff08;滚动数组&#xff09; 文章讲解&#xff1a;代码随想录(…

OpenStack之keystone(用户认证)

Keystone&#xff08;认证&#xff09; Keystone 概述 1)管理用户及其权限 2)维护OpenStack Services 的 Endpoint 3)Authentication&#xff08;认证&#xff09;和 Authorization&#xff08;授权&#xff09; keystone的名词概念 1.User&#xff08;用户或服务&#xf…

L-2:插松枝(Python)

作者 陈越 单位 浙江大学 人造松枝加工场的工人需要将各种尺寸的塑料松针插到松枝干上&#xff0c;做成大大小小的松枝。他们的工作流程&#xff08;并不&#xff09;是这样的&#xff1a; 每人手边有一只小盒子&#xff0c;初始状态为空。每人面前有用不完的松枝干和一个推送…