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. Apache Tomcat® - Which Version Do I Want?

    Apache Tomcat® - Which Version Do I Want?http://tomcat.apache.org/whichversion.html

  2. Velocity中为什么要使用{}来明确标识变量

    原因 比如在页面中,页面中有一个$someonename,此时,Velocity将把someonename作为变量名,若我们程序是想在someone这 个变量的后面紧接着显示name字符,则上面的标签 ...

  3. Unit 2.前端之html--table(表格),form(表单)标签

    一.table标签 作用:定义html表格.一个table标签元素至少包含 thead(表头),tbody(表主题),还可以有tfoot(表底部) html表格游table元素及一个或者多个tr,th ...

  4. Chromecast

    Chromecast chrome://cast/#offers https://chromecast.com/help https://www.pcmag.com/feature/326584/24 ...

  5. fdisk磁盘分区与挂载

    参考博客:https://blog.csdn.net/capecape/article/details/78499351?locationNum=6&fps=1 1.查看磁盘分区情况.root ...

  6. SpringBoot之修改单个文件后立刻生效

    问题: 在使用SpringBoot进行开发时,如果修改了某个文件比如前端页面html,不能立刻起效. 解决: 在idea中打开修改后的文件,使用快捷键Ctrl+Shift+F9 进行重新编译,然后刷新 ...

  7. Python——数组模块(array)

    一.模块说明 array模块是python中实现的一种高效的数组存储类型.它和list相似,但是所有的数组成员必须是同一种类型,在创建数组的时候,就确定了数组的类型. 二.代码

  8. MyISAM索引和InnoDB索引的区别

    首先你要知道: 无论是Myisam和Innodb引擎,如果在建表的时候没有显示的定义一行主键列的话,他内部都会自动创建一个隐藏的主键索引: 主键索引以外的索引假设称为次索引:首先Myisam和Inno ...

  9. Oracle 查询两个时间段内的所有日期列表

    1.查询某时间段内日期列表 select level,to_char(to_date('2013-12-31','yyyy-mm-dd')+level-1,'yyyy-mm-dd') as date_ ...

  10. react用class关键字来创建组件

    创建组件之前,首先学习一个ES6的写法,叫做展开运算符. 比如我这里有两个数组.如何将第二个数组o2中的所有属性导入到数组o1中呢?一个个输太麻烦,所以就用到了展开运算符. var o2={ age: ...