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. 【Python3练习题 013】 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字

    a=input('输入数字>>>') count=int(input('几个数字相加>>>')) ret=[] for i in range(1,count+1): ...

  2. Laravel5 创建自定义门面(Facade)

    门面为应用服务容器中的绑定类提供了一个“静态”接口.Laravel 内置了很多门面,你可能在不知道的情况下正在使用它们.Laravel 的门面作为服务容器中底层类的“静态代理”,相比于传统静态方法,在 ...

  3. Linux 查找文件命令 find whereis locate

    Linux 有三个查找文件的命令:find, whereis, locate 其中find 不常用,whereis与locate经常使用,因为find命令速度较慢,因为whereis与locate是利 ...

  4. [转帖]国产闪存颗粒终于熬出头 紫光存储S100固态硬盘评测

    国产闪存颗粒终于熬出头 紫光存储S100固态硬盘评测 https://www.cnbeta.com/articles/tech/830875.htm 全国产的 SSD 群联貌似是对岸的 不过不管怎么说 ...

  5. 4.请介绍一下c++和Java的区别

    1.指针 2.c++多重继承,Java只能继承一个父类,但是可以继承多个接口 3.数据类型及类,Java完全面向对象,所有函数和变量都必须是类的一部分.而c++允许将函数和变量定义为全局,Java取消 ...

  6. 剑指offer(14)

    题目: 操作给定的二叉树,将其变换为源二叉树的镜像. 思路: 这里有个细节,我们发现,6节点的子节点在操作之后并没有发生变化,所以等会我们在交换的时候,交换的不是节点的数值,而是整个节点. 另外我们进 ...

  7. JS 类型检测

    typeof 适合函数对象和基本类型的判断 typeof 100instanceof 适合判断对象类型 obj instanceof Object 基于原型链判断操作符,若做操作符不是对象,则会直接返 ...

  8. python之路--基础数据类型的补充与深浅copy

    一 . join的用法 lst =['吴彦祖','谢霆锋','刘德华'] s = '_'.join(lst) print(s) # 吴彦祖_谢霆锋_刘德华 # join() "*" ...

  9. 莫烦scikit-learn学习自修第五天【训练模型的属性】

    1.代码实战 #!/usr/bin/env python #!_*_ coding:UTF-8 _*_ from sklearn import datasets from sklearn.linear ...

  10. Java使用RabbitMQ之整合Spring(消费者)

    依赖包: <!--RabbitMQ集成spring--> <!-- https://mvnrepository.com/artifact/org.springframework.am ...