centos 7.6安装java_Hadoop的安装

为了方便后面使用Hadoop的shell命令,我先介绍Hadoop的安装。

Hadoop有多种安装模式,这里介绍伪分布式的安装。

我测试过Ubutun、Centos和WSL,都可以正常安装Hadoop的所有版本。所有一般不会出现版本对应的问题。

Hadoop是基于Java语言进行编写的,在Hadoop程序执行过程中会调用起系统环境的java虚拟机(JVM),所以我们的系统中需要安装JDK。直接搜索JDK进入官网下载即可。考虑到目前的Hadoop基本上都是基于JDK1.8的,建议下载JDK1.8,高版本的Java虽然也可以支持Hadoop的正常执行,但是会报Warning,强迫症看着应该会很难受。

一、JDK安装

如果你的系统是Centos可以需要卸载Centos系统自带的OpenJDK。

java -version

使用这个命令会看到当前系统的Java版本,如果系统存在Java,那么可以直接看到Java版本信息。如果没有安装Java,那么应该什么也看不到。如果是OpenJDK,就需要先卸载。

OpenJDK卸载过程

rpm -qa | grep java

使用这个命令就可以看到所以的Java文件,.noarch结尾的文件可以不用删除,其他文件使用下述命令进行删除。

rpm -e --nodeps [Java文件名]

[java文件名]替换为对应的Java文件名就可以删除了。如果提示权限不够,则需要使用管理员权限。

以上过程之后,OpenJDK就删除完成了。

OracleJDK安装

找到下载好的JDK安装包,我们知道,Linux系统万物皆是文件,所以所谓的安装过程其实就是文件的解压。

tar -zxvf [文件名]

同理,将 [文件名] 改成对应的JDK安装包的名称。之后我们就可以看到解压好的JDK文件,我们可以将其移动到我们希望安装的位置。一般都是放在 /usr 目录下。为了方便,我们先将JDK文件重命名为java,然后移动到 /usr 目录下。

mv [文件名] javamv java /usr/

之后就可以配置环境变量了。

vi /etc/profile

这个命令是需要root权限的,建议进入root用户再进行处理。使用上述命令打开文件后,在文件最后写入Java的目录信息。

447381345a38a8deaa215ee72d85a91f.png

这样Java就安装完成了。

java -version

9699716cf0296d69c67cabffa390965a.png

二、SSH免密登录

玩过GitHub的人应该都配置过免密登录。他是为了方便用户使用,避免每次使用都重新输入密码。

SSH安装

ssh localhost

输入上述命令后,若显示

ssh: connect to host localhost port 22: Connection refused

则意味着没有安装SSH,我们需要先安装SSH。过程也很简单(Centos将apt命令改为yum命令)

apt-get updatesudo apt-get install openssh-serversudo apt-get install openssh-server

接着启动SSH

sudo service ssh start

SSH免密配置

ssh-keygen

输入上述命令之后,一路回车即可。它会在 /home/[用户名] 目录下生成一个隐藏的 .ssh文件夹,文件夹内保存着密钥信息。

cd /home/[用户名]/.sshtouch authorized_keyschmod 600 authorized_keyscat id_rsa.pub >> authorized_keys

执行时,将 [用户名] 改为自己的用户目录即可。

此时尝试

ssh localhost

发现无需密码,可以直接登录成功。

SSH卸载

提供了一个卸载方法,以备不时之需。

sudo apt-get remove openssh-serversudo apt-get remove openssh-client

三、Hadoop安装

本着Linux中万物皆文件的哲学,我们明白,所谓的安装就是解压二进制安装包,修改配置文件。

直接进入官网,下载自己想要Hadoop版本,我使用的2.7.7版本。下载完之后进行解压,然后修改称自己喜欢的名字,放到想安装的目录下。

tar -zxvf [hadoop安装包名]       # 解压mv [hadoop文件名] hadoop        # 重命名mv hadoop /home/hadoop/        #将文件移动到/home/hadoop目录下

文件配置

Hadoop安装的重点其实就是文件的配置。在hadoop文件的 etc/hadoop目录下,我们会看到很多.sh或者.xml结尾的配置文件。我们需要其中几个必选项。使用 vi 命令进入文件进行修改。例如:

vi core-site.xml

添加内容:

1. core-site.xml

<configuration>    <property>        <name>hadoop.tmp.dirname>        <value>file:/home/hadoop/hadoop/tmpvalue>           <description>Abase for other temporary directories.description>    property>    <property>        <name>fs.defaultFSname>        <value>hdfs://localhost:9000value>     property>configuration>

2.  mapred-site.xml

如果你只看到 mapred-site.xml.template文件,自己复制一个并重命名就可以。在下面的配置中,遇到同样的问题,可以采用相同的方法解决。

copy mapred-site.xml.template mapred-site.xmlvi mapred-site.xml
<configuration>    <property>        <name>mapred.job.trackername>        <value>localhost:9001value>    property>    <property>        <name>mapreduce.framework.namename>        <value>yarnvalue>    property>configuration>

3. hdfs-site.xml

<configuration>    <property>        <name>dfs.replicationname>        <value>1value>     property>    <property>        <name>dfs.namenode.name.dirname>        <value>file:/home/hadoop/hadoop/tmp/dfs/namevalue>      property>    <property>        <name>dfs.datanode.data.dirname>        <value>file:/home/hadoop/hadoop/tmp/dfs/datavalue>      property>configuration>

4. hadoop-env.sh

export JAVA_HOME=[java_path]

[java_path] 改为你自己java路径就可以。

5.  yarn-site.xml

<configuration>    <property>        <name>yarn.nodemanager.aux-servicesname>        <value>mapreduce_shufflevalue>    property>configuration>

至此,一个伪分布式Hadoop就安装完成了。

Hadoop的初始化

安装完成之后,需要进行集群初始化,当然这里我们没有集群,但是初始化也是必须的。

进入Hadoop文件目录。执行:

bin/hdfs namenode -format

之后会出现一连串信息,我们不用管他,中途没有出现ERROR关键字,我们的集群初始化就算成功了。

之后就可以启动Hadoop了。

sbin/start-dfs.shsbin/start-yarn.sh

没有出现报错则说明启动成功,输入jps

jps

904588852660a29db59fc6272ee2daf5.png

叮!!!

配置完成。

打开浏览器,输入地址  localhost:50070

ce406f5991008d95591cf2042369c07d.png

现在你就走出了Hadoop的新手村。

关闭也很简单

sbin/stop-all.sh

9a00aaf787a5e11cf75223758f144886.png

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

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

相关文章

Python3 解题:字符串压缩

Python3 解题&#xff1a;字符串压缩原题 https://leetcode-cn.com/problems/compress-string-lcci/题目&#xff1a; 字符串压缩。利用字符重复出现的次数&#xff0c;编写一种方法&#xff0c;实现基本的字符串压缩功能。比如&#xff0c;字符串aabcccccaaa会变为a2b1c5a3。若…

C++软件分析师异常分析工作经验汇总

点击蓝字关注我们最近几年工作当中很大一部分内容是排查软件运行过程中遇到的各种异常&#xff0c;积累了一定的经验&#xff0c;在此给大家分享一下。本文将详细讲述Windows系统中软件异常的分类以及常用的排查方法&#xff0c;给大家提供一个借鉴与参考。1、软件异常的分类常…

java fix_Java中的低延迟FIX引擎

java fix总览 Chronicle FIX是我们的Low Latency FIX引擎和Java数据库。 是什么使它与众不同&#xff1f; 是为Java中的超低GC *设计的。 支持字符串和日期时间的方式可以最大程度地减少垃圾和开销。 可自定义为仅包含您期望的字段。 使用通常在二进制解析器和生成器中使用…

linux 查看防火墙状态_每天五分钟学习Linux系列之 - 系统安全配置

20年IT从业&#xff0c;二哥的团队使用最多的系统就是Linux&#xff0c;开发&#xff0c;运维的小伙伴们都离不开Linux系统&#xff0c;特别是大数据和人工智能领域更是如此&#xff0c;但由于日常工作忙&#xff0c;小伙伴们没有太多成块的时间系统的学习Linux, 并且现版CentO…

Python3求解旋转矩阵问题

Python3求解旋转矩阵问题原题 https://leetcode-cn.com/problems/spiral-matrix/ 给定一个包含 m x n 个元素的矩阵&#xff08;m 行, n 列&#xff09;&#xff0c;请按照顺时针螺旋顺序&#xff0c;返回矩阵中的所有元素。 示例 1: 输入: [[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8…

只针对异常的情况才使用异常_如何以及何时使用异常

只针对异常的情况才使用异常本文是我们名为“ 高级Java ”的学院课程的一部分。 本课程旨在帮助您最有效地使用Java。 它讨论了高级主题&#xff0c;包括对象创建&#xff0c;并发&#xff0c;序列化&#xff0c;反射等。 它将指导您完成Java掌握的旅程&#xff01; 在这里查看…

C++红黑树模拟实现map和set

点击蓝字关注我们一、红黑树及其节点的设计对于底层都是红黑树的map和set来说&#xff0c;他们之间存在的最大的区别就是&#xff1a;对于set是K模型的容器&#xff0c;而map是KV模型的容器。为了更好的灵活兼容实现map和set&#xff0c;就需要在红黑树以及树节点上进行特别的设…

c语言连接mysql_聊聊数据库MySQL、SqlServer、Oracle的区别,哪个更适合你?

一、MySQL优点&#xff1a;体积小、速度快、总体拥有成本低&#xff0c;开源&#xff1b;支持多种操作系统&#xff1b;是开源数据库&#xff0c;提供的接口支持多种语言连接操作 &#xff1b;MySQL的核心程序采用完全的多线程编程。线程是轻量级的进程&#xff0c;它可以灵活地…

Python3解题:二叉树路径总和问题

Python3解题&#xff1a;二叉树路径总和问题原题 https://leetcode-cn.com/problems/path-sum-ii/ 给定一个二叉树和一个目标和&#xff0c;找到所有从根节点到叶子节点路径总和等于给定目标和的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树&#xff…

绩效工作流_流绩效–您的想法

绩效工作流上周&#xff0c;我介绍了一些有关Java 8流性能的基准测试结果。 你们和gal足够有兴趣留下一些想法&#xff0c;还有哪些可以介绍。 这就是我所做的&#xff0c;这里是结果。 总览 最后一篇文章的序言也适用于此。 阅读它&#xff0c;以找出所有数字为何撒谎&#…

C语言访问MCU寄存器的两种方式

点击蓝字关注我们单片机的特殊功能寄存器SFR&#xff0c;是SRAM地址已经确定的SRAM单元&#xff0c;在C语言环境下对其访问归纳起来有两种方法。1、采用标准C的强制类型转换和指针来实现采用标准C的强制转换和指针的概念来实现访问MCU的寄存器&#xff0c;例如:#define DDRB (*…

python中return true的用法_Return True/False何时使用它而不是Return

类比&#xff1a;函数是一个准备好执行任务并给出答案的可克隆助手。任务由函数的参数定义&#xff08;括号内的内容&#xff09;。让我们重写这些名称以赋予它们语义意义&#xff08;即说明我们期望的名称&#xff09;。在def isXGreaterThanY(..... 在这里&#xff0c;任务的…

08_优先队列

08_优先队列 一、优先队列最大优先队列最大优先队列API设计 最小优先队列最小优先队列API设计最小优先队列代码实现 索引优先队列索引优先队列实现思路索引优先队列API设计索引优先队列代码实现 一、优先队列 :::info 普通的队列是一种先进先出的数据结构&#xff0c;元素在队…

Python3实现红黑树[下篇]

Python3实现红黑树[下篇]我写的红黑树的上篇在这里&#xff1a;https://blog.csdn.net/qq_18138105/article/details/105190887 这是我近期看的文章 https://www.cnblogs.com/gcheeze/p/11186806.html 我看了很多关于红黑树删除的文章和博客&#xff0c;介绍得是相当相当的复…

C语言内存泄露很严重,如何应对?

点击蓝字关注我们1. 前言最近部门不同产品接连出现内存泄漏导致的网上问题&#xff0c;具体表现为单板在现网运行数月以后&#xff0c;因为内存耗尽而导致单板复位现象。**一方面&#xff0c;内存泄漏问题属于低级错误&#xff0c;此类问题遗漏到现网&#xff0c;影响很坏&…

通用编程_通用编程准则

通用编程本文是我们名为“ 高级Java ”的学院课程的一部分。 本课程旨在帮助您最有效地使用Java。 它讨论了高级主题&#xff0c;包括对象创建&#xff0c;并发&#xff0c;序列化&#xff0c;反射等。 它将指导您完成Java掌握的旅程&#xff01; 在这里查看 &#xff01; 目…

python发送邮件outlook_通过Python发送Outlook电子邮件?

I am using Outlook 2003. What is the best way to send email (through Outlook 2003) using Python? 解决方案 For a solution that uses outlook see TheoretiCALs answer below. Otherwise, use the smtplib that comes with python. Note that this will require your e…

Python3实现快速排序 通俗易懂

Python3实现快速排序快速排序 是一种交换排序&#xff0c;属于分治算法。 思路&#xff1a; 对于要排序的元素集合&#xff0c;指定集合的第一个元素为基准点&#xff0c;通过一系列的扫描和交换(见下面的代码)&#xff0c;让基准点左边的元素比基准点小&#xff0c;让基准点右…

C++队列queue用法详解(超详细)

点击蓝字关注我们一、定义queue是一种容器转换器模板&#xff0c;调用#include< queue>即可使用队列类。二、queue初始化queue<Type, Container> (<数据类型&#xff0c;容器类型>&#xff09;初始化时必须要有数据类型&#xff0c;容器可省略&#xff0c;省…

redis nosql_Redis教程:NoSQL键值存储

redis nosql课程大纲 Redis是使用ANSI C编写的&#xff0c;具有可选持久性的开源&#xff0c;网络化&#xff0c;内存中键值数据存储。根据DB-Engines.com的月度排名&#xff0c;Redis是最受欢迎的键值存储。 其名称意为“远程词典服务器”。 Redis是BSD许可的&#xff0c;并且…