环境: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/tools.jar:JAVA_HOME/lib/tools.jar:JAVA_HOME/lib/dt.jar

export PATH=JAVA_HOME/bin:JAVA\_HOME/bin: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 无密码登录

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上,这样就可以免密码登录了。

一言以蔽之,就是在每台node上生成公钥和私钥,把所有公钥的内容汇总成authorized_keys,并把authorized_keys分发到集群所有node上相同的目录,这样每个node都拥有整个集群node的公钥,互相之间就可以免密码登录了。

验证免密码登录,在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_HOMEexportHADOOP_COMMON_HOME={HADOOP\_HOME} export HADOOP\_COMMON\_HOME=HADOOP_HOMEexportHADOOP_COMMON_HOME={HADOOP_HOME}
export HADOOP_HDFS_HOME=HADOOP_HOMEexportYARN_HOME={HADOOP\_HOME} export YARN\_HOME=HADOOP_HOMEexportYARN_HOME={HADOOP_HOME}
export HADOOP_CONF_DIR=HADOOP_HOME/etc/hadoopexportHDFS_CONF_DIR={HADOOP\_HOME}/etc/hadoop export HDFS\_CONF\_DIR=HADOOP_HOME/etc/hadoopexportHDFS_CONF_DIR={HADOOP_HOME}/etc/hadoop
export YARN_CONF_DIR=HADOOP_HOME/etc/hadoopexportPATH={HADOOP\_HOME}/etc/hadoop export PATH=HADOOP_HOME/etc/hadoopexportPATH=HADOOP_HOME/bin:HADOOP_HOME/sbin:HADOOP\_HOME/sbin: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 添加

hadoop.tmp.dir /hadoop/tmp A base for other temporary directories. fs.default.name hdfs://192.168.1.1:9000

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

192.168.1.2

192.168.1.3

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

dfs.replication 3 dfs.namenode.name.dir file:/hadoop/hdfs/name true dfs.federation.nameservice.id ns1 dfs.namenode.backup.address.ns1 192.168.1.1:50100 dfs.namenode.backup.http-address.ns1 192.168.1.1:50105 dfs.federation.nameservices ns1 dfs.namenode.rpc-address.ns1 192.168.1.1:9000 dfs.namenode.rpc-address.ns2 192.168.1.1:9000 dfs.namenode.http-address.ns1 192.168.1.1:23001 dfs.namenode.http-address.ns2 192.168.1.1:13001 dfs.dataname.data.dir file:/hadoop/hdfs/data true dfs.namenode.secondary.http-address.ns1 192.168.1.1:23002 dfs.namenode.secondary.http-address.ns2 192.168.1.1:23002 dfs.namenode.secondary.http-address.ns1 192.168.1.1:23003 dfs.namenode.secondary.http-address.ns2 192.168.1.1:23003

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

yarn.resourcemanager.address 192.168.1.1:18040 yarn.resourcemanager.scheduler.address 192.168.1.1:18030 yarn.resourcemanager.webapp.address 192.168.1.1:50030 yarn.resourcemanager.resource-tracker.address 192.168.1.1:18025 yarn.resourcemanager.admin.address 192.168.1.1:18141 yarn.nodemanager.aux-services **mapreduce\_shuffle** yarn.web-proxy.address hadoop1-9014.lvs01.dev.ebayc3.com:54315

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

hadoop.proxyuser.root.hosts 192.168.1.1 hadoop.proxyuser.root.groups \*

9.$HADOOP_HOME/etc/hadoop/mapred-site.xml添加(配置job提交到yarn上并且配置history log 服务器)

mapreduce.framework.name yarn Execution framework set to Hadoop YARN. mapreduce.jobhistory.address hadoop1-9014.lvs01.dev.ebayc3.com:10020 mapreduce.jobhistory.webapp.address hadoop1-9014.lvs01.dev.ebayc3.com:19888 mapreduce.jobhistory.intermediate-done-dir /log/tmp mapreduce.jobhistory.done-dir /log/history

这个是说明把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运行状况。

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

Hadoop Yarn 安装相关推荐

  1. Hadoop YARN安装部署初探

    本文主要介绍了在实验环境下,能使YARN(以CDH4为例,Apache版本安装方法类似)正常工作的最简单的配置部署方法.如果想在线上集群环境下搭建YARN,可参考Cloudera的这篇文档: Depl ...

  2. Hadoop YARN学习之Hadoop框架演进历史简述

    Hadoop YARN学习之Hadoop框架演进历史简述(1) 1. Hadoop在其发展的过程中经历了多个阶段: 阶段0:Ad Hoc集群时代 标志着Hadoop的起源,集群以Ad Hoc.单用户方 ...

  3. hadoop yarn 获取日志_赵丽颖固然漂亮,可这份Hadoop核心教程也不差啊!

    阿里巴巴采用了 15 个节点组成的 Hadoop 集群,用于处理从数据库中导出的商业数据的排序和组合. Ebay 使用了 32 个节点组成的集群,包括 8 * 532 个计算核心以及 5.3 PB 的 ...

  4. hadoop的安装-配置文件修改

    Hadoop的安装 集群的规划: 服务器IP 192.168.252.150 192.168.252.151 192.168.252.152 主机名 node01 node02 node03 Name ...

  5. Mac Hadoop的安装与配置

    这里介绍Hadoop在mac下的安装与配置. 安装及配置Hadoop 首先安装Hadoop $ brew install Hadoop 配置ssh免密码登录 用dsa密钥认证来生成一对公钥和私钥: $ ...

  6. Hadoop伪分布式配置和搭建,hadoop单机安装,wordcount实例测试,hadoop安装java目录怎么找,问题及问题解决方法

    Hadoop伪分布式配置和搭建,hadoop单机安装,wordcount实例测试,hadoop安装java目录怎么找,问题及问题解决方法 环境说明 系统:ubuntu18.04 主机名:test1 用 ...

  7. Hadoop Yarn REST API未授权漏洞利用挖矿分析

    目录 一.背景情况 二. 漏洞说明 攻击步骤: 三.入侵分析 四.安全建议 清理病毒 安全加固 五.IOCs 一.背景情况  5月5日腾讯云安全曾针对攻击者利用Hadoop Yarn资源管理系统RES ...

  8. Hadoop单点安装(伪分布式)

    Hadoop单点安装,基于版本2.7.1, 在一台Lunix主机上面安装Hdoop, 包括Hdfs的NameNode和DataNode, 以及Yarn的ResouceManager和NodeManag ...

  9. Hadoop的安装配置

    Hadoop的安装配置 登录Hadoop官网(http://hadoop.apache.org/releases.html) 下载Hadoop 2.6.0安装包hadoop-2.6.0.tar.gz. ...

最新文章

  1. hadoop data join
  2. PAT甲级1111 Online Map (30分):[C++题解]两次dijkstra求单源最短路、保存路径、长度最短、时间最短
  3. 青岛互联网java开发_为什么说Java是过去未来的互联网编程(上)
  4. apache kafka_使用Apache Kafka,Kubernetes和Envoy,Istio,Linkerd的服务网格和云原生微服务...
  5. 数据结构,Java实现递归回溯,寻找出迷宫路线,解决迷宫问题
  6. windows 打开exe传参_“以管理员身份运行”,这个打开软件时经常遇到的问题,有何含义...
  7. 计算机辅助制造讲义翻译,计算机辅助制造讲义-2007-2演示文稿.PPT
  8. 日志管理系统rsyslogd
  9. MATLAB绘制散点图
  10. MySQL高级学习(一) (吾爱破解)
  11. rpi4b引导ubuntu分析------distro_bootcmd
  12. 二级计算机中一级标题设置,如何编辑目录中一级标题二级标题的不同格式
  13. 老式计算机如何设置u盘启动,新旧主板BIOS设置U盘启动详细分析
  14. c语言字母大小写转换程序
  15. 计算机通信中ip,macid的主要作用和区别
  16. STM32串口DMA方式接收数据。类似环形FIFO。超省CPU资源!
  17. 2022-2023上学期 奖状的清单
  18. 人工智能导论/人工智能及其应用 期末练习题
  19. VMware安装优麒麟20.04LTS
  20. Web课程设计之学生成绩管理系统

热门文章

  1. 【原创】《华杉讲透《孙子兵法》》阅读有感(二)
  2. 7、快速更改subclass颜色
  3. Opencv中的图像相加,相减,相除,相乘(python实现)
  4. 玩转 MATLAB 附加功能/硬件支持包安装
  5. [机器学习与scikit-learn-33]:算法-回归-通过PolynomialFeatures实现数据的升维
  6. 出现Avoid mutating a prop directly since the value will错误 已解决
  7. SylixOS 技术简介
  8. bootstrap的carousel-indicators是怎么实现垂直居中的
  9. pytorch1.10新功能inference_mode
  10. 耀之阳电商:店铺运营的注意事项事项