环境:Linux, 8G 内存。60G 硬盘 , Hadoop 2.2.0

为了构建基于Yarn体系的Spark集群。先要安装Hadoop集群,为了以后查阅方便记录了我本次安装的详细步骤。

事前准备

1. 机器准备

三台主机,#后面说明了用途
  • 192.168.1.1   #hadoop1 : master
  • 192.168.1.2   #hadoop2 : datanode1
  • 192.168.1.3   #hadoop3:  datanode2

在hadoop1上, vi /etc/sysconfig/network,改动HOSTNAME=hadoop1
在hadoop2上, vi /etc/sysconfig/network,改动HOSTNAME=hadoop2
在hadoop3上, vi /etc/sysconfig/network,改动HOSTNAME=hadoop3

在三台机器上,在/etc/hosts末尾加入
  • 192.168.1.1   hadoop1
  • 192.168.1.2   hadoop2
  • 192.168.1.3   hadoop3

在hadoop1上, 执行 hostname hadoop1
在hadoop2上。 执行 hostname hadoop2
在hadoop3上, 执行 hostname hadoop3

exit重连之后,hostname 就会变成hadoop[1-3],这样做的优点是ssh hadoop2 会自己主动解析连接192.168.1.2。方便以后使用。

这也是短域名实现的方式。


2. 文件夹创建

$mkdir -p /hadoop/hdfs
$mkdir -p /hadoop/tmp
$mkdir -p /hadoop/log
$mkdir -p /usr/java ###java安装路径
$mkdir -p /usr/hadoop ###hadoop安装路径
$chmod -R 777 /hadoop

能够依据自己的情况确定安装路径。


安装Java

1. 下载JDK,并安装。建议安装JDK 1.7。

本次下载 jdk-7u60-linux-x64.tar.gz

http://www.oracle.com/technetwork/java/javase/downloads/index.html

$tar -zxvf jdk-7u60-linux-x64.tar.gz
$mv jdk1.7.0_60 java

凝视:下载的java 包类型不同。安装略有不同。
2. 配置Java 环境
能够改动/etc/profile,也能够改动自己home文件夹下的~/.profile(ksh)或者~/.bash_profile(bash),本次安装是bash。所以在.bash_profile 末尾加入
export JAVA_HOME=/usr/java
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH
使环境马上生效。运行
$source .bash_profile

3. 检查Java是否成功安装

$ java -version
java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)

配置SSH 无password登录

hadoop1 上
$ mkdir .ssh
$ cd .ssh
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/export/home/zilzhang/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in ~/.ssh/id_rsa.
Your public key has been saved in ~/.ssh/id_rsa.pub.
The key fingerprint is:
b0:76:89:6a:44:8b:cd:fc:23:a4:3f:69:55:3f:83:e3 ...
$ ls -lrt
total 2
-rw------- 1 887 Jun 30 02:10 id_rsa
-rw-r--r-- 1 232 Jun 30 02:10 id_rsa.pub
$ touch authorized_keys
$ cat id_rsa.pub >> authorized_keys

hadoop2和hadoop3上。相同生成公钥和私钥。

[hadoop2]$ mv id_rsa.pub pub2
[hadoop3]$ mv id_rsa.pub pub3

把pub2,pub3都scp到hadoop1上,然后

$ cat pub2 >> authorized_keys
$ cat pub3 >> authorized_keys

把authorized_keys scp到hadoop2和hadoop3上。这样就能够免password登录了。

一言以蔽之,就是在每台node上生成公钥和私钥,把全部公钥的内容汇总成authorized_keys,并把authorized_keys分发到集群全部node上同样的文件夹,这样每一个node都拥有整个集群node的公钥。互相之间就能够免password登录了。

验证免password登录。在hadoop1上:

$ ssh haoop1
ssh: Could not resolve hostname haoop1: Name or service not known
[zilzhang@hadoop3 hadoop]$ ssh hadoop1
The authenticity of host 'hadoop1 (192.168.1.1)' can't be established.
RSA key fingerprint is 18:85:c6:50:0c:15:36:9c:55:34:d7:ab:0e:1c:c7:0f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'hadoop1' (RSA) to the list of known hosts. #################################################################
# #
# This system is for the use of authorized users only. #
# Individuals using this computer system without #
# authority, or in excess of their authority, are #
# subject to having all of their activities on this #
# system monitored and recorded by system personnel. #
# #
# In the course of monitoring individuals improperly #
# using this system, or in the course of system #
# maintenance, the activities of authorized users #
# may also be monitored. #
# #
# Anyone using this system expressly consents to such #
# monitoring and is advised that if such monitoring #
# reveals possible evidence of criminal activity, #
# system personnel may provide the evidence of such #
# monitoring to law enforcement officials. #
# #
# This system/database contains restricted data. #
# #
################################################################# [hadoop1 ~]$

安装Hadoop

1. 下载与解压(全部节点)
$ wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.2.0/hadoop-2.2.0.tar.gz
$ tar -zxvf hadoop-2.2.0.tar.gz
$ mv hadoop-2.2.0 /usr/hadoop

下面都执行在haoop1上
2. 配置环境变量,在.bash_profile末尾加入


export HADOOP_HOME=/usr/hadoop

export HADOOP_MAPARED_HOME=${HADOOP_HOME}

export HADOOP_COMMON_HOME=${HADOOP_HOME}

export HADOOP_HDFS_HOME=${HADOOP_HOME}

export YARN_HOME=${HADOOP_HOME}

export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop

export HDFS_CONF_DIR=${HADOOP_HOME}/etc/hadoop

export YARN_CONF_DIR=${HADOOP_HOME}/etc/hadoop

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

source .bash_profile
3. $HADOOP_HOME/etc/hadoop/hadoop-env.sh,末尾加入
export JAVA_HOME=/usr/java/java

4. $HADOOP_HOME/etc/hadoop/core-site.xml 加入

<property>

 <name>hadoop.tmp.dir</name>

 <value>/hadoop/tmp</value>

 <description>A base for other temporary directories.</description>

</property>

 <property>

 <name>fs.default.name</name>

 <value>hdfs://192.168.1.1:9000</value>

</property>

5. $HADOOP_HOME/etc/hadoop/slaves 内容变为(datanode)

192.168.1.2

192.168.1.3

6. $HADOOP_HOME/etc/hadoop/hdfs-site.xml 加入

<property>

 <name>dfs.replication</name>

 <value>3</value>

</property>

 

<property>

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

 <value>file:/hadoop/hdfs/name</value>

 <final>true</final>

</property>

 

<property>

 <name>dfs.federation.nameservice.id</name>

 <value>ns1</value>

</property>

 

<property>

 <name>dfs.namenode.backup.address.ns1</name>

 <value>192.168.1.1:50100</value>

</property>

 

<property>

 <name>dfs.namenode.backup.http-address.ns1</name>

 <value>192.168.1.1:50105</value>

</property>

 

<property>

 <name>dfs.federation.nameservices</name>

 <value>ns1</value>

</property>

 

<property>

 <name>dfs.namenode.rpc-address.ns1</name>

 <value>192.168.1.1:9000</value>

</property>

<property>

 <name>dfs.namenode.rpc-address.ns2</name>

 <value>192.168.1.1:9000</value>

</property>

 

<property>

 <name>dfs.namenode.http-address.ns1</name>

 <value>192.168.1.1:23001</value>

</property>

 

<property>

 <name>dfs.namenode.http-address.ns2</name>

 <value>192.168.1.1:13001</value>

</property>

 

<property>

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

 <value>file:/hadoop/hdfs/data</value>

 <final>true</final>

</property>

 

<property>

 <name>dfs.namenode.secondary.http-address.ns1</name>

 <value>192.168.1.1:23002</value>

</property>

 

<property>

 <name>dfs.namenode.secondary.http-address.ns2</name>

 <value>192.168.1.1:23002</value>

</property>

 

<property>

 <name>dfs.namenode.secondary.http-address.ns1</name>

 <value>192.168.1.1:23003</value>

</property>

 

<property>

 <name>dfs.namenode.secondary.http-address.ns2</name>

 <value>192.168.1.1:23003</value>

</property>

7. $HADOOP_HOME/etc/hadoop/yarn-site.xml 加入

<property>

 <name>yarn.resourcemanager.address</name>

 <value>192.168.1.1:18040</value>

</property>

 

<property>

 <name>yarn.resourcemanager.scheduler.address</name>

 <value>192.168.1.1:18030</value>

</property>

 

<property>

 <name>yarn.resourcemanager.webapp.address</name>

 <value>192.168.1.1:50030</value>

</property>

 

<property>

 <name>yarn.resourcemanager.resource-tracker.address</name>

 <value>192.168.1.1:18025</value>

</property>

 

<property>

 <name>yarn.resourcemanager.admin.address</name>

 <value>192.168.1.1:18141</value>

</property>

 

<property>

 <name>yarn.nodemanager.aux-services</name>

 <value>mapreduce_shuffle</value>

</property>

<property> 

    <name>yarn.web-proxy.address</name> 

      <value>hadoop1-9014.lvs01.dev.ebayc3.com:54315</value> 

</property>

8. $HADOOP_HOME/etc/hadoop/httpfs-site.xml 加入

<property>

 <name>hadoop.proxyuser.root.hosts</name>

 <value>192.168.1.1</value>

</property>

 <property>

 <name>hadoop.proxyuser.root.groups</name>

 <value>*</value>

</property>

9. $HADOOP_HOME/etc/hadoop/mapred-site.xml 加入(配置job提交到yarn上而且配置history log server)

<property>

   <name>mapreduce.framework.name</name>

   <value>yarn</value>

   <description>Execution framework set to Hadoop YARN.</description>

</property>

<property>

 <name>mapreduce.jobhistory.address</name>

  <value>hadoop1-9014.lvs01.dev.ebayc3.com:10020</value>

</property>

<property>

  <name>mapreduce.jobhistory.webapp.address</name>

  <value>hadoop1-9014.lvs01.dev.ebayc3.com:19888</value>

</property>

<property>

  <name>mapreduce.jobhistory.intermediate-done-dir</name>

  <value>/log/tmp</value>

</property>

<property>

  <name>mapreduce.jobhistory.done-dir</name>

  <value>/log/history</value>

</property>

这个是说明把job放到yarn 上去跑。

10. 配置同步到其它datanode上

$ scp ~/.bash_profile hadoop2:~/.bash_profile
$ scp $HADOOP_HOME/etc/hadoop/hadoop-env.sh hadoop2:$HADOOP_HOME/etc/hadoop/
$ scp $HADOOP_HOME/etc/hadoop/core-site.xml hadoop2:$HADOOP_HOME/etc/hadoop/
$ scp $HADOOP_HOME/etc/hadoop/slaves hadoop2:$HADOOP_HOME/etc/hadoop/
$ scp $HADOOP_HOME/etc/hadoop/hdfs-site.xml hadoop2:$HADOOP_HOME/etc/hadoop/
$ scp $HADOOP_HOME/etc/hadoop/yarn-site.xml hadoop2:$HADOOP_HOME/etc/hadoop/
$ scp $HADOOP_HOME/etc/hadoop/httpfs-site.xml hadoop2:$HADOOP_HOME/etc/hadoop/
$ scp $HADOOP_HOME/etc/hadoop/mapred-site.xml hadoop2:$HADOOP_HOME/etc/hadoop/

把hadoop2改成hadoop3,,把配置同步到hadoop3上

启动Hadoop集群

1. 格式化

hadoop namenode -format

2. 启动hdfs

start-dfs.sh

3. 启动yarn

start-yarn.sh
 
4. 启动history server
 
mr-jobhistory-daemon.sh start historyserver

5. 启动proxy server
 
yarn-daemons.sh start proxyserver

httpfs.sh start
6. 创建日志存放文件夹
hadoop fs -mkdir -p /log/tmp
hadoop fs -mkdir -p /log/history

測试hadoop集群

1. hadoop1,看看进程是否已经开启
$ jps
8606 NameNode
4640 Bootstrap
17007 Jps
16077 ResourceManager
8781 SecondaryNameNode

这些进程必须都有

2. 在hadoop2 上看进程是否开启

$ jps
5992 Jps
5422 NodeManager
3292 DataNode

这些进程必须都有

3. hadoop fs -ls /    看能否够列出文件

4. 測试hadoop job
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /input /output7

假设执行正常,能够在job monitor页面看到job执行状况。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemxjZDE5ODg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center">




总结:在安装过程中会遇到各种问题,这里不一一列示,以免太过啰嗦。

Hadoop Yarn 安装的更多相关文章

  1. Hadoop Yarn(一)—— 单机伪分布式环境安装

    HamaWhite(QQ:530422429)原创作品,转载请注明出处:http://write.blog.csdn.net/postedit/40556267. 本文是依据Hadoop官网安装教程写 ...

  2. Apache Hadoop集群离线安装部署(二)——Spark-2.1.0 on Yarn安装

    Apache Hadoop集群离线安装部署(一)——Hadoop(HDFS.YARN.MR)安装:http://www.cnblogs.com/pojishou/p/6366542.html Apac ...

  3. 三、hadoop、yarn安装配置

    本文hadoop的安装版本为hadoop-2.6.5 关闭防火墙 systemctl stop firewalld 一.安装JDK 1.下载java jdk1.8版本,放在/mnt/sata1目录下, ...

  4. Hadoop Linux安装

    Hadoop Linux安装 步骤流程 1.硬件准备 2.软件准备(推荐CDH) 3.将Hadoop安装包分发到各个节点下 4.安装JDK 5.修改/etc/hosts配置文件 6.设置SSH免密码登 ...

  5. Storm on Yarn 安装配置

    1.背景知识 在不修改Storm任何源代码的情况下,让Storm运行在YARN上,最简单的实现方法是将Storm的各个服务组件(包括Nimbus和Supervisor),作为单独的任务运行在YARN上 ...

  6. centos中-hadoop单机安装及伪分布式运行实例

    创建用户并加入授权 1,创建hadoop用户 sudo useradd -m hadoop -s /bin/bash 2,修改sudo的配置文件,位于/etc/sudoers,需要root权限才可以读 ...

  7. hadoop单机版安装及基本功能演示

    本文所使用的Linux发行版本为:CentOS Linux release 7.4.1708 (Core) hadoop单机版安装 准备工作 创建用户 useradd -m hadoop passwd ...

  8. hadoop的安装和配置(三)完全分布式模式

    博主会用三篇文章为大家详细说明hadoop的三种模式: 本地模式 伪分布模式 完全分布模式 完全分布式模式: 前面已经说了本地模式和伪分布模式,这两种在hadoop的应用中并不用于实际,因为几乎没人会 ...

  9. hadoop的安装和配置(二)伪分布模式

    博主会用三篇文章为大家详细的说明hadoop的三种模式: 本地模式 伪分布模式 完全分布模式 伪分布式模式: 这篇为大家带来hadoop的伪分布模式: 从最简单的方面来说,伪分布模式就是在本地模式上修 ...

随机推荐

  1. vue-cli 前端开发,后台接口跨域代理调试问题

    使用 webpack的方式开发的时候,前台开发过程中需要调用很多后台的数据接口,但是通常前后台分离的开发方式,后台的接口数据很可能是不方便或者是不能在前端同学的电脑上运行的,也就出现了所谓的跨域问题. ...

  2. 初识React-Redux之粗暴理解入门

    权当暂记 日后再行补充完善,若有阅读者,请翻到下文黄色标题'从这里开始'起阅读. Rudex在我看来最本质做的事情就是将所有的State属性统一存储(一个属性就是一个注册到store的Reducer) ...

  3. Nginx-动态路由升级版

    前几篇文章我们介绍了Nginx的配置.OpenResty安装配置.基于Redis的动态路由以及Nginx的监控. Nginx-OpenResty安装配置 Nginx配置详解 Nginx技术研究系列1- ...

  4. 如何在RHEL7上搭建Samba服务实现Windows与Linux之间的文件共享

    如何在RHEL7上搭建Samba服务实现Windows与Linux之间的文件共享 实现环境:VMware workstations.RHEL7.0 第一步:配置网卡IP及yum软件仓库 命令:vim ...

  5. spring boot一个简单用户管理DEMO

    概述 该Demo旨在部署一个简单spring boot工程,包含数据编辑和查看功能 POM配置 <?xml version="1.0" encoding="UTF- ...

  6. 数据库(概念、语法、DBMS、SQL语言:创建数据库、表格,添加、修改、删除数据记录)

    关系型数据库:以表作为实体,以主键和外键关系作为联系的一种数据结构. 主键:在关系型数据库中,用一个唯一的标识符来标志每一行,这个标识符就是主键.主键有两个特点:非空和不能重复. 外键:在关系型数据库 ...

  7. 在ASP.NET开发中一些单词的标准缩写

    有些词可能共用一些缩写.带星号的缩写或词来源于PeopleSoft标准. The following standard word abbreviations should be used in nam ...

  8. 我的第一个python web开发框架(16)——产品分类管理

    产品分类管理的html页面之前忘记做了,这次附件里补上. 好了先上图 从页面效果图来看,我们需要开发列表获取接口.添加接口.单条记录获取接口.编辑接口和删除接口 对于产品分类列表,我们将使用jqgri ...

  9. KICKSTART无人值守安装 - (字符界面操作)

    kickstart 部署 1.1 kickstart简介说明 1.1.1 pxe工作过程(图) 1.1.2 kickstart具体过程(图) 1.2 kickstart无人值守部署 1.2.1 系统环 ...

  10. Office隐藏17年的漏洞CVE_2017_11882测试记录

    Office隐藏17年的漏洞CVE_2017_11882测试记录 创建时间: 2017/11/25 0:18 作者: CN_Simo 标签: Office漏洞 参考文章1:https://www.cn ...