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. MYSQL 三元 函数

    mysql函数之流程控制-FreeOAhttp://www.freeoa.net/osuport/db/mysql-control-fun_2143.html mysql如何利用三元算法判断数字奇偶性 ...

  2. IdentityServer4【Introduction】之概括

    The Big Picture 大多数现代应用看起来都像下面的样子: 大多数的交互是下面这样: 浏览器与web应用之间的通信 web应用和web APIs之间的通信(这两者有时是独立的,有时是有用户参 ...

  3. package-lock.json和package.json的作用

    转自:https://www.cnblogs.com/cangqinglang/p/8336754.html package-lock.json的作用就是锁定安装依赖时包的版本,并且需要上传到git, ...

  4. 深入解读Promise对象

    promise对象初印象: promise对象是异步编程的一种解决方案,传统的方法有回调函数和事件,promise对象是一个容器,保存着未来才会结束的事件的结果 promise对象有两个特点: 1.p ...

  5. Java 找不到或者无法加载主类

    1 测试Test 类的时候突然遇到一个很奇怪的问题,网上搜了很多资料才找到解决办法,大多数情况是因为类加了包名编译,执行的时候没有到包下去执行.与我遇到的情况不一样. 问题:写了一个测试类Test,在 ...

  6. js的日期操作:String转date日期格式、求日期差

    一.在js中String类型转成date格式 var date = new Date("2018-9-21 14:58:43");//就是这么简单 二.date转String类型就 ...

  7. Appscanner实验还原code2

    import _pickle as pickle from sklearn import svm, ensemble import random from sklearn.metrics import ...

  8. Redis五大数据类型

    首先说明下,Redis是:单线程+多路IO复用技术!!! string set  >  key  +  zset          list hash 常用的几个命令: >keys * 查 ...

  9. python之路--递归, 二分法

    一 . 递归 自己调用自己, 递归的入口(参数)  和  出口(return),  树形结构的遍历. def func(): print("我是递归") func() func() ...

  10. python数据结构与算法第十天【插入排序】

    1.插入排序的原理 2.代码实现 def insert_sort(alist): # 从第二个位置,即下标为1的元素开始向前插入 for i in range(1, len(alist)): # 从第 ...