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. 1170 - BLOB/TEXT column 'CustomerName' used in key specification without a key length

    [DTF] Data Transfer 企管宝_2_CRM start[DTF] Getting tables[DTF] Analyzing table: `CustomerInfo`[DTF] Ge ...

  2. MySQL 查询语句中自己定义的中文内容在Java Web 中显示为问号

    Java Web 端做查询时,性别字段存的是数字,1代表男,2代表女,取数据时将性别转为汉字显示在页面,sql语句如下,结果发生了问题  select a.emp_id,a.emp_name ,cas ...

  3. HDU 3900 Unblock Me

    题目:Unblock Me 链接:Here 题意:一个游戏,看图就基本知道题意了,特殊的是:1. 方块长度为3或2,宽度固定是1.2. 地图大小固定是6*6,从0开始. 3. 出口固定在(6,2).4 ...

  4. Mybatis测试用例

    package cn.zhangxueliang.mybatis.mapper; import static org.junit.Assert.*; import java.io.InputStrea ...

  5. checkout 多选 全选(亲测有效)

    <input type="button" id="btn1" value="全选"> <input type=" ...

  6. 设置SQLServer数据库内存

    需要设置SQLServer数据库的内存配置.登录数据库,这里使用的是SQLServer2008,右键点击最上方的服务器名,在弹出的菜单中,点击属性] 打开服务器属性窗口.默认显示的是第一项[常规]内容 ...

  7. Vue 鼠标移入移出事件

    Vue 中鼠标移入移出事件 @mouseover和@mouseleave 然后绑定style   现在开始代码示例 <template> <div class="pc&qu ...

  8. drf实现图片验证码功能

    一.背景 在之前实现过django的图片验证码,有自己实现过的,也有基于django-simple-captcha的,都是基于form表单验证,若自己实现,可以获取相应的标签name便可以获取判断,若 ...

  9. 使用mysqlbinlog恢复数据

    前提:mysql数据库开启了binlog日志,并且有对应的日志文件 起因:今天由于同事对数据库的误操作不小心删除了一条数据 方法一:通过binlog日志文件恢复数据 通过mysqlbinlog恢复My ...

  10. ServiceLoader详解

    系统中用到了ServiceLoader,查了一下: ServiceLoader与ClassLoader是Java中2个即相互区别又相互联系的加载器.JVM利用ClassLoader将类载入内存,这是一 ...