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,一经查实,立即删除!

相关文章

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…

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;它可以灵活地…

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

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

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

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

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;影响很坏&…

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…

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

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

python随机抽取人名_python实现艾宾浩斯背单词功能,实现自动提取单词、邮件发送,再也不用担心背单词啦...

&#xfeff;已经完成了利用python爬虫实现定时QQ邮箱推送英文文章&#xff0c;辅助学习英语的项目&#xff0c;索性就一口气利用python多做一些自动化辅助英语学习的项目&#xff0c;对自己的编程能力和英文水评也有一定的帮助&#xff0c;于是在两天的努力下&#xff0c;我完…

用不到125行C语言代码就可以编写一个简单的16位虚拟机?

点击蓝字关注我们一位国外的软件工程师分享了这么一篇博文&#xff1a;Writing a simple 16 bit VM in less than 125 lines of C&#xff08;用不到 125 行 C 语言编写一个简单的 16 位虚拟机&#xff09;。博文地址&#xff1a;https://www.andreinc.net/2021/12/01/writing-…

用一个程序生成另一个程序_还有另一个报告生成器?

用一个程序生成另一个程序如果您具有业务应用程序开发的经验&#xff0c;那么很可能会遇到要求该应用程序具有灵活的报告机制的需求。 我工作的公司主要专注于开发业务解决方案&#xff0c;而报告是必不可少的&#xff0c;实际上&#xff0c;它必须包含我们开发的所有企业系统的…

CocosCreator1.x实现水流动的效果

CocosCreator1.x实现水流动的效果Cocos Creator版本&#xff1a;1.10.2 运行结果&#xff1a;(H5和原生都支持) 场景: 脚本&#xff1a; HelloWorld.js&#xff1a; let shader require(shader);cc.Class({extends: cc.Component,properties: {water: cc.Node,waterNorm…

python爬虫xpath教程_使用 Xpath 进行爬虫开发

使用 Xpath 进行爬虫开发 Xpath( XML Path Language, XML路径语言)&#xff0c;是一种在 XML 数据中查找信息的语言&#xff0c;现在&#xff0c;我们也可以使用它在 HTML 中查找需要的信息。 既然谈到 Xpath 是一门语言&#xff0c;当然它就会有自己的一些特定的语法。我们这里…

用C语言写烟花,给心中的那个人看!

点击蓝字关注我们前言程序员不懂浪漫? 大错特错&#xff01;今天就让你们看看什么是程序员的浪漫&#xff01;你向窗外看烟花&#xff0c;我在窗边看你&#xff0c;这时&#xff0c;你比烟花好看的多&#xff0c;你的眼眸倒映满天的烟火&#xff0c;我的瞳孔倒映你温柔的脸庞…

手把手教你做一个线程池--C语言版

点击蓝字关注我们1、线程池原理我们使用线程的时候就去创建一个线程&#xff0c;这样实现起来非常简便&#xff0c;但是就会有一个问题&#xff1a;如果并发的线程数量很多&#xff0c;并且每个线程都是执行一个时间很短的任务就结束了&#xff0c;这样频繁创建线程就会大大降低…

oracle 48小时内_缺血性脑梗死后48小时内使用阿替普酶能够降低脑损伤程度

一项刊登在影响因子7.6杂志Neurology上题为“Effect of IV alteplase on the ischemic brain lesion at 24–48 hours after ischemic stroke”的研究报告中&#xff0c;来自爱丁堡大学的科学家们发现&#xff0c;alteplase与病变可视性的短期进展降低相关。在荟萃分析中&#…