1.安装Java

$ yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

上述命令默认安装位置/usr/lib/jvm/java-1.8.0-openjdk

设置环境变量:

$ vim ./.bashrc

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$PATH:JAVA_HOME/bin

测试:

$ java -version

2.创建unix用户账号

HDFS,MapReduce,YARN通常作为独立的用户运行,分别命名为hdfs,mapred,yarn,都属于同一组hadoop。

3.hadoop的安装

CDH : http://archive-primary.cloudera.com/cdh5/cdh/5/

Hadoop : wget https://archive.apache.org/dist/hadoop/common/hadoop-2.6.4/hadoop-2.6.4.tar.gz

步骤:

$ tar -zxf hadoop-2.x.x -C /usr/local
$ cd /usr/local
$ mv hadoop-2.x.x hadoop

设置环境变量:

$ vim ./.bashrc
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin $ source ./.bashrc

4. ssh配置

# 这一部分比较关键,因为我们是根据别名来连接slaves

master:

$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
# 确保公钥存放在用户所要连接的所有机器上(包括本机master)~/.ssh/authorized_keys

这里还有一个点,我们ssh连接slaves服务器时,想要使用slaves服务器的别名(hostname),

这就需要我们编辑/etc/hosts文件

$ vim /etc/hosts
192.168.31.111 data1
192.168.31.112 data2
192.168.31.113 data3
192.168.31.110 master

5.hadoop的配置

hadoop 各版本配置详见hadoop 官网对应版本的document或见hadoop文件配置

主要配置文件:

hadoop-env.sh:脚本中要用到的环境变量,以运行Hadoop。

mapred-env.sh:脚本中要用到的环境变量,以运行MapReduce。

yarn-env.sh:脚本中要用到的环境变量,以运行YARN。

core-site.xml:Hadoop Core配置项,例如HDFS,MapReduce和YARN常用的IO设置。

hdfs-site.xml:Hadoop守护进程的配置项,包括namenode,辅助namenode和datanode等。

mapred-site.xml:MapReduce守护进程的配置项,包括作业历史服务器。

yarn-site.xml:YARN守护进程的配置项,包括资源管理器,web应用代理服务器,和节点管理器。

slaves:纯文本,运行datanode和节点管理器的机器列表。

https://hadoop.apache.org/docs/r2.5.2/
# 文档地址,各版本文档不同

6.hdfs的格式化

以hdfs用户身份运行以下命令

$ hdfs namenode -format

7.启动和停止守护进程

当然也可以start-all.sh。

# 以hdfs用户身份运行以下命令可启动HDFS守护进程
$ start-dfs.sh

start-dfs.sh 所做事情如下:

1. 在每台机器上运行一个namenode,这些机器由hdfs getconf -namenodes得到的返回值确定

2. 在slaves 文件所列举的每台机器上启动一个datanode

3. 在每台机器上启动一个辅助namenode,这些机器由hdfs getconf -secondarynamenodes得到的返回值确定

hadoop的集群是基于master/slave模式,namenode、ResourceManager、jobtracker属于master,datanode、NodeManager、tasktracker属于slave,master只有一个,而slave有多个

# yarn守护进程以相同的方式启动,
# 以yarn用户身份在托管资源管理器的机器上运行
$ start-yarn.sh

在这种情况下,资源管理器总是和start-yarn.sh运行在同一机器上,脚本明确完成以下两件事:

1. 在本地机器上运行一个资源管理器ResourceManager

2. 在slaves文件列举的每台机器上启动一个节点管理器NodeManager

7. 创建用户目录

$ hadoop fs -mkdir /user/username
$ hadoop fs -chown username:username /user/username # 给用户目录设置最大空间
$ hdfs dfsadmin -setSpaceQuota 1t /user/username

Hadoop集群的构建和安装的更多相关文章

  1. 高可用,完全分布式Hadoop集群HDFS和MapReduce安装配置指南

    原文:http://my.oschina.net/wstone/blog/365010#OSC_h3_13 (WJW)高可用,完全分布式Hadoop集群HDFS和MapReduce安装配置指南 [X] ...

  2. 大数据系列(4)——Hadoop集群VSFTP和SecureCRT安装配置

    前言 经过前三篇文章的介绍,已经通过VMware安装了Hadoop的集群环境,当然,我相信安装的过程肯定遇到或多或少的问题,这些都需要自己解决,解决的过程就是学习的过程,本篇的来介绍几个Hadoop环 ...

  3. Hadoop集群搭建-03编译安装hadoop

    Hadoop集群搭建-05安装配置YARN Hadoop集群搭建-04安装配置HDFS  Hadoop集群搭建-03编译安装hadoop Hadoop集群搭建-02安装配置Zookeeper Hado ...

  4. 大数据系列(2)——Hadoop集群坏境CentOS安装

    前言 前面我们主要分析了搭建Hadoop集群所需要准备的内容和一些提前规划好的项,本篇我们主要来分析如何安装CentOS操作系统,以及一些基础的设置,闲言少叙,我们进入本篇的正题. 技术准备 VMwa ...

  5. 大数据——Hadoop集群坏境CentOS安装

    前言 前面我们主要分析了搭建Hadoop集群所需要准备的内容和一些提前规划好的项,本篇我们主要来分析如何安装CentOS操作系统,以及一些基础的设置,闲言少叙,我们进入本篇的正题. 技术准备 VMwa ...

  6. hadoop集群环境搭建之安装配置hadoop集群

    在安装hadoop集群之前,需要先进行zookeeper的安装,请参照hadoop集群环境搭建之zookeeper集群的安装部署 1 将hadoop安装包解压到 /itcast/  (如果没有这个目录 ...

  7. 3.Hadoop集群搭建之Zookeeper安装

    前期准备 下载Zookeeper 3.4.5 若无特殊说明,则以下操作均在master节点上进行 1. 解压Zookeeper #直接解压Zookeeper压缩包 tar -zxvf zookeepe ...

  8. hadoop集群监控工具Apache Ambari安装配置教程

    ambari 1.2.4 下载地址:http://www.apache.org/dist/incubator/ambari/ambari-1.2.4/ambari-1.2.4-incubating.t ...

  9. Hadoop 集群的建立与安装

随机推荐

  1. python与C,在写程序时踩过的坑!

    1.  python与C有很多相似之处, 其一就是指针的大量应用,  因此在使用临时变量保存数据, 并将临时变量传递给其他变量时需要创建内存; 例如,在C中, char *temp 每次获取到不同的字 ...

  2. 源码追踪,解决Could not locate executable null\bin\winutils.exe in the Hadoop binaries.问题

    在windows系统本地运行spark的wordcount程序,会出现一个异常,但不影响现有程序运行. >>提君博客原创  http://www.cnblogs.com/tijun/  & ...

  3. transform: translate(-50%, -50%) 实现块元素百分比下居中

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  4. Eclipse导入工程后出现中文乱码

    Eclipse之所以会出现乱码问题是因为eclipse编辑器选择的编码规则是可变的.一般默认都是UTF-8或者GBK,当从外部导入的一个工程时,如果该工程的编码方式与eclipse中设置的编码方式不同 ...

  5. html5调用手机摄像头(图片可多选 限pc)

    html5自带的 input file=”” ,纯html5,并且不涉及到js ,就可以实现.代码如下: <input type="file" accept="im ...

  6. python之路--内置常用模块

    一 . 简单的了解模块 你写的每一个py文件都是一个模块. 还有一些我们一直在使用的模块. buildins  内置模块. print, input. random  主要是和随机相关的的内容 ran ...

  7. nginx反向代理proxy_pass的问题

    起因:今天企业部署一个项目,用的nginx做的反向代理,配置如下: 测试结果令人失望,IP:端口 能访问项目,域名:端口 也能访问 ,但是 域名/接口名 访问失败 ################## ...

  8. python数据结构与算法第十五天【二叉树】

    1.树的特点 (1)每个节点有零个或多个子节点: (2)没有父节点的节点称为根节点: (3)每一个非根节点有且只有一个父节点: (4)除了根节点外,每个子节点可以分为多个不相交的子树: 2.树的种类 ...

  9. 思维导图,UML图,程序流程图制作从入门到精通

    工具: https://www.processon.com/ 第一 用例图 第二 时序图 第三 流程图

  10. JavaScript之Json的使用

    Json字符串转JavaScript对象 <html> <body> <h3>通过 JSON 字符串来创建对象</h3> <p> First ...