hadoop学习笔记(二):centos7三节点安装hadoop2.7.0

环境win7+vamvare10+centos7

一、新建三台centos7 64位的虚拟机

master   192.168.137.100   root/123456
node1   192.168.137.101   root/123456
node2   192.168.137.102  root/123456

 

二、关闭三台虚拟机的防火墙,在每台虚拟机里面执行:

systemctl stop firewalld.service
systemctl disable firewalld.service

 

三、在三台虚拟机里面的/etc/hosts添加三行

192.168.137.100     master
192.168.137.101     node1
192.168.137.102     node2

 

四、为三台机器设置ssh免密登录

  1、CentOS7默认没有启动ssh无密登录,去掉/etc/ssh/sshd_config其中1行的注释,每台服务器都要设置

#PubkeyAuthentication yes

 然后重启ssh服务

systemctl restart sshd

 

2、在master机器的/root执行:ssh-keygen -t rsa命令,一直按回车。三台机器都要执行。

[root@master ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:aMUO8b/EkylqTMb9+71ePnQv0CWQohsaMeAbMH+t87M root@master
The key's randomart image is:
+---[RSA 2048]----+
|  o ...      .   |
|   =  o=  . o    |
|    + oo=. . .   |
|     =.Boo o  . .|
|    . OoSoB  . o |
|     =.+.+ o. ...|
|      + o o  .. +|
|     .   o . ..+.|
|        E ....+oo|
+----[SHA256]-----+

  3、在master上合并公钥到authorized_keys文件

[root@master ~]# cd /root/.ssh/
[root@master .ssh]# ll
total 8
-rw-------. 1 root root 1679 Apr 19 11:10 id_rsa
-rw-r--r--. 1 root root  393 Apr 19 11:10 id_rsa.pub
[root@master .ssh]# cat id_rsa.pub>> authorized_keys

  4、将master的authorized_keys复制到node1和node2节点

scp /root/.ssh/authorized_keys root@192.168.137.101:/root/.ssh/
scp /root/.ssh/authorized_keys root@192.168.137.102:/root/.ssh/

  5、测试:

[root@master ~]# ssh root@192.168.137.101
Last login: Thu Apr 19 11:41:23 2018 from 192.168.137.100
[root@node1 ~]# 

 

[root@master ~]# ssh root@192.168.137.102
Last login: Mon Apr 23 10:40:38 2018 from 192.168.137.1
[root@node2 ~]# 

 

五、为三台机器安装jdk

1、jdk下载地址:https://pan.baidu.com/s/1-fhy_zbGbEXR1SBK8V7aNQ

2、创建目录:/home/java

mkdir -p /home/java

3、将下载的文件jdk-7u79-linux-x64.tar.gz,放到/home/java底下,并执行以下命令:

tar -zxf jdk-7u79-linux-x64.tar.gz
rm -rf tar -zxf jdk-7u79-linux-x64.tar.gz

4、配置环境变量:

 vi /etc/profile,添加以下内容

export JAVA_HOME=/home/java/jdk1.7.0_79
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

然后:source /etc/profile

测试:

[root@master jdk1.7.0_79]# java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
[root@master jdk1.7.0_79]#

 

六、安装hadoop 2.7(只在Master服务器解压,再复制到Slave服务器)

 1、创建/home/hadoop目录

mkdir -p /home/hadoop

2、将hadoop-2.7.0.tar.gz放到/home/hadoop下并解压

tar -zxf hadoop-2.7.0.tar.gz

3、在/home/hadoop目录下创建数据存放的文件夹,tmp、hdfs/data、hdfs/name

[root@master hadoop]# mkdir tmp
[root@master hadoop]# mkdir -p hdfs/data
[root@master hadoop]# mkdir -p hdfs/name

4、配置配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下的core-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration><property><!-- 这里的值指的是默认的HDFS路径。当有多个HDFS集群同时工作时,用户如果不写集群名称,那么默认使用哪个哪?在这里指定!该值来自于hdfs-site.xml中的配置 --><name>fs.defaultFS</name><value>hdfs://192.168.137.100:9000</value></property><property><name>fs.default.name</name><value>hdfs://192.168.137.100:9000</value></property><property><name>hadoop.tmp.dir</name><value>file:/home/hadoop/tmp</value></property><property><!--流文件的缓冲区--><name>io.file.buffer.size</name><value>131702</value></property>
</configuration>

 

5、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下的hdfs-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- 设置secondarynamenode的http通讯地址 --><property><name>dfs.namenode.secondary.http-address</name><value>192.168.137.100:9001</value></property><property><name>dfs.namenode.name.dir</name><value>file:/home/hadoop/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/home/hadoop/dfs/data</value></property>
<!--指定DataNode存储block的副本数量--><property><name>dfs.replication</name><value>2</value></property>
<!--这里抽象出两个NameService实际上就是给这个HDFS集群起了个别名--><property><name>dfs.nameservices</name><value>mycluster</value></property><property><name>dfs.webhdfs.enabled</name><value>true</value></property>
</configuration>

6、将/home/hadoop/hadoop-2.7.0/etc/hadoop目录下的mapred-site.xml.template复制一份,并命名成mapred-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapreduce.jobhistory.address</name><value>192.168.137.100:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>192.168.137.100:19888</value></property>
</configuration>

7、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下的yarn-site.xml

<?xml version="1.0"?>
<configuration>
<!--NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序,默认值:“”--><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name><value>org.apache.hadoop.mapred.ShuffleHandler</value></property>
<!--ResourceManager 对客户端暴露的地址。客户端通过该地址向RM提交应用程序,杀死应用程序等默认值:${yarn.resourcemanager.hostname}:8032--><property><name>yarn.resourcemanager.address</name><value>192.168.137.100:8032</value></property>
<!--ResourceManager 对ApplicationMaster暴露的访问地址。ApplicationMaster通过该地址向RM申请资源、释放资源等。默认值:${yarn.resourcemanager.hostname}:8030--><property><name>yarn.resourcemanager.scheduler.address</name><value>192.168.137.100:8030</value></property>
<!--ResourceManager 对NodeManager暴露的地址。NodeManager通过该地址向RM汇报心跳,领取任务等。默认值:${yarn.resourcemanager.hostname}:8031--><property><name>yarn.resourcemanager.resource-tracker.address</name><value>192.168.137.100:8031</value></property>
<!--ResourceManager 对管理员暴露的访问地址。管理员通过该地址向RM发送管理命令等。默认值:${yarn.resourcemanager.hostname}:8033--><property><name>yarn.resourcemanager.admin.address</name><value>192.168.137.100:8033</value></property>
<!--ResourceManager对外web ui地址。用户可通过该地址在浏览器中查看集群各类信息。默认值:${yarn.resourcemanager.hostname}:8088--><property><name>yarn.resourcemanager.webapp.address</name><value>192.168.137.100:8088</value></property>
<!--NodeManager总的可用物理内存。注意,该参数是不可修改的,一旦设置,整个运行过程中不可动态修改。另外,该参数的默认值是8192MB,即使你的机器内存不够8192MB,YARN也会按照这些内存来使用(傻不傻?),因此,这个值通过一定要配置。--><property><name>yarn.nodemanager.resource.memory-mb</name><value>768</value></property>
</configuration>

8、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下hadoop-env.sh、yarn-env.sh的JAVA_HOME,不设置的话,启动不了

export JAVA_HOME=/home/java/jdk1.7.0_79

9、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下的slaves,删除默认的localhost,增加2个从节点

192.168.137.101
192.168.137.102

10、将配置好的Hadoop复制到各个节点对应位置上

scp -r /home/hadoop 192.168.137.101:/home/
scp -r /home/hadoop 192.168.137.102:/home/

11、在Master服务器启动hadoop,从节点会自动启动,进入/home/hadoop/hadoop-2.7.0

  1)初始化:bin/hdfs namenode -format

  2)全部启动sbin/start-all.sh,也可以分开sbin/start-dfs.sh、sbin/start-yarn.sh

 

[root@master hadoop-2.7.0]# sbin/start-all.sh
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
Starting namenodes on [master]
master: starting namenode, logging to /home/hadoop/hadoop-2.7.0/logs/hadoop-root-namenode-master.out
192.168.137.101: starting datanode, logging to /home/hadoop/hadoop-2.7.0/logs/hadoop-root-datanode-node1.out
192.168.137.102: starting datanode, logging to /home/hadoop/hadoop-2.7.0/logs/hadoop-root-datanode-node2.out
starting yarn daemons
starting resourcemanager, logging to /home/hadoop/hadoop-2.7.0/logs/yarn-root-resourcemanager-master.out
192.168.137.101: starting nodemanager, logging to /home/hadoop/hadoop-2.7.0/logs/yarn-root-nodemanager-node1.out
192.168.137.102: starting nodemanager, logging to /home/hadoop/hadoop-2.7.0/logs/yarn-root-nodemanager-node2.out

 3)停止的话,输入命令,sbin/stop-all.sh

 4)输入命令,jps,可以看到相关信息

[root@master hadoop-2.7.0]# jps
1765 ResourceManager
2025 Jps

12、浏览器查看

  1)resourcemanager.webapp.address的界面

 

 

 2)namenode的界面

 

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

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

相关文章

在Microsoft Teams中的Visio协作

所有Team站点都带有专用文件库&#xff0c;用于存储所有工作组的内容。 您现在可以从桌面或云存储站点将Visio文件上载到此库&#xff0c;例如&#xff0c;您所在Team的资产都集中在一个位置&#xff0c;供具有权限的任何人进行访问。与其他存储文件一样&#xff0c;您可以直接…

用区块链打击假新闻 这可能是最2017年的一件事

据外媒报道&#xff0c;非营利性基金会PUBLIQ公布了一个基于区块链打造的平台。这是一个用于创建和分享原创新闻和媒体内容的平台&#xff0c;它将在近期推出。据了解&#xff0c;PUBLIQ创建这一平台则是希望能借用类似于比特币一样的系统来打击假新闻。 通过创建一个受信任的经…

oo面向对象第一单元总结

oo第一次作业主要考察了多项式的求导&#xff0c;从简单的幂函数求导到三角函数求导再到嵌套函数的求导&#xff0c;难度循序渐进&#xff0c;对我们对于面向对象的理解的要求也在一次一次提升。一行行代码打下来&#xff0c;一夜夜熬过去&#xff0c;我也来到了这个短暂的停靠…

Microsoft Teams免费版本初体验

Microsoft Teams推出有一段时间了&#xff0c;如果想要体验Teams&#xff0c;必须需要有Office365的订阅。最近微软为了进一步推广Teams&#xff0c;突然宣布Teams免费了。使用过Teams的读者知道Teams是基于Office365账号和组的&#xff0c;那它免费后&#xff0c;不使用Office…

强制禁用gitlab的双因子认证:Two-Factor Authentication

&#xff08;一&#xff09;问题描述&#xff1a; 此博客解决如下问题&#xff1a;禁用gitlab的双因子认证 禁用前&#xff0c;如图&#xff08;此时&#xff0c;你在gitlab中什么也干不了&#xff09; &#xff08;二&#xff09;思路分析&#xff1a; 百度了很多方法&#xf…

如何将Outgoing Webhook部署到中国版Azure

在这篇文章中&#xff0c;我们主要来如何将Azure DevOps中的项目作为应用发布到中国版Azure的App Service中。 什么是Azure DevOps Azure DevOps, 原名为VSTS, 全称是Visual Studio Team System&#xff0c;是由微软开发的一套具有高生产力、高集成性、可扩展的生命周期开发工…

Google SRE 读书笔记 扒一扒SRE用的那些工具

写在前面 最近花了一点时间阅读了《SRE Goolge运维解密》这本书&#xff0c;对于书的内容大家可以看看豆瓣上的介绍。总体而言&#xff0c;这本书是首次比较系统的披露Google内部SRE运作的一些指导思想、实践以及相关的问题&#xff0c;对于我们运维乃至开发人员都有一定的借鉴…

Microsoft Teams的Meet Now功能

今天&#xff0c;我们宣布完成了Skype for Business to Teams路线图中首次披露的几项关键会议功能。当个人联系&#xff0c;沟通和协作时&#xff0c;工作就自然而然的完成了&#xff0c;我们相信这些功能&#xff08;除了我们2月的公告之外&#xff09;使Microsoft Teams为所有…

Java泛型主题讨论

说明&#xff1a;在学习泛型这一知识点中&#xff0c;主要参考自《疯狂Java讲义》第7章P307-P330的泛型内容&#xff0c;因为是跳着阅读&#xff0c;所以前面的一些名词不是特别清楚&#xff0c;这里也做出适当备注&#xff0c;供自己识记与理解。 1.泛型 理解&#xff1a;说到…

从Microsoft Teams技术栈看前端技术发展趋势

在前不久的微软美国一年一度的Ignite大会上&#xff0c;微软宣布Microsoft Teams是微软历史上发展最快的应用。它将取代Skype for business&#xff0c;成为语音视频协作的主打产品。 我也有幸在上个月微软中国年度技术大会Tech Summit 2018上被邀请作为讲师讲解基于Teams平台…

Confluence Cloud的Teams Message Extension

Confluence Cloud的Message Extension现在正式登入Microsoft Teams。 它可用于团队频道和私人聊天&#xff0c;使您的对话更具描述性和信息性。 从Microsoft Teams应用商店获取Confluence Cloud应用程序并连接到Confluence Cloud实例。 连接后&#xff0c;您将能够搜索Conflue…

45 | 打蛇打七寸:精准测试

转载于:https://www.cnblogs.com/lmx0621/p/10614966.html

Teams App统计

周末闲来无事&#xff0c;统计了一下Teams的app商店里的app ( Teams App Store )。截至到现在&#xff08;2018年11月&#xff09;一共有145个app。要注意一点&#xff1a;如果app不是公开的&#xff08;即单独安装到Office365租户里&#xff0c;并没有提交到office store&…

你必须要懂的APK瘦身知识

随着业务复杂度的逐渐增加&#xff0c;代码、资源也在不断的增加&#xff0c;此时你的APP大小也在增加。从用户层面来说&#xff0c;面对动辄几十兆的APP来说在非WIFI情况下还是会犹豫要不要下载&#xff0c;不下载你就可能因此失去了一个用户。从公司层面来讲&#xff0c;流量…

DHT网络

(基础技术) 现在有一种方法&#xff0c;可以通过磁力链接&#xff0c;例如magnet:?xturn:btih:0482e0811014fd4cb5d207d08a7be616a4672daa&#xff0c;就可以获取BT文件。 这个是通过DHT网络来实现的。 DHT网络是一个去中心化的&#xff0c;分布式信息存储系统。 存储的信息就…

Node文件模块

在上一篇文章中有提到&#xff0c;Node模块分为核心模块和文件模块&#xff0c;接下来就简单总结一下文件模块。 文件模块则是在运行时动态加载&#xff0c;需要完整的路径分析、文件定位、编译执行过程、速度相比核心模块稍微慢一些&#xff0c;但是用的非常多。这些模块需要我…

PHP GD库解析一张简单图片并输出

这里只演示一下2种颜色值的图片&#xff0c;简单描述下概念。 首先要安装下GD库。否则下面的代码运行不了。 $size getimagesize(2.png); // 获取图片大小 $res imagecreatefrompng(2.png); // 获取指定图片的资源对象for ($i 0; $i < $size[1]; $i) {for ($j 0; $j &…

开发Teams的messaging extension

什么是Messaging Extension Messaging Extension是微软Teams的一种十分有用的扩展方式。可以让用户发送adaptive cards。具体的说明不在这里展开了。可以阅读微软官方的详细说明&#xff1a; https://docs.microsoft.com/en-gb/microsoftteams/platform/concepts/messaging-e…

归并排序(转)

转载自&#xff1a;https://www.cnblogs.com/chengxiao/p/6194356.html 归并排序&#xff08;MERGE-SORT&#xff09;是利用归并的思想实现的排序方法&#xff0c;该算法采用经典的分治&#xff08;divide-and-conquer&#xff09;策略&#xff08;分治法将问题分(divide)成一些…

Site24x7 为Teams提供可智能 DevOps

我们生活在一个云的时代, SaaS 应用程序每天都在推动我们的生产力。作为一个消费者, 很难想象如果你最喜欢的应用无法访问&#xff0c;即使只是一秒钟无法访问。作为 SaaS业务, 更难以想象您的服务面临停机, 每一分钟停止服务都会花费大量的资金, 当然还损失客户的信任。Site24…