楼主是从Hadoop2.x版本过来的,在工作之余自己搭建了一套3.0的版本来耍一耍,此文章的前置环境准备工作省略。主要介绍一些和Hadoop2.x版本不同的安装之处

Hadoop版本:hadoop-3.0.0-beta1

JDK版本:jdk1.8.0_121

虚拟机版本:Centos6.5

一、前置环境准备

1.1 jdk安装

1.2 免密钥登录

二、 hadoop3.0需要配置的文件有core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml、hadoop-env.sh、workers

1.core-site.xml配置文件

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop3:9000</value>
</property> <property>
<name>hadoop.tmp.dir</name>
<value>file:///hadoopv3/tmp</value> //此目录不配置的话,默认是在/temp目录下。Linux系统重启的话此目录会被清空
</property>
</configuration>

2.hdfs-site.xml配置文件

<configuration>
<property>
<name>dfs.replication</name>
<value></value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///hadoopv3/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///hadoopv3/hdfs/data</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop2:</value>
</property>
</configuration>

3.workers中设置slave节点,将slave机器的名称写入

hadoop1
hadoop2
hadoop3

4.mapred-site配置

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property> <property>
<name>mapreduce.application.classpath</name>
<value>
/home/software/hadoop-3.0.-beta1/etc/hadoop,
/home/software/hadoop-3.0.-beta1/share/hadoop/common/*,
/home/software/hadoop-3.0.0-beta1/share/hadoop/common/lib/*,
/home/software/hadoop-3.0.0-beta1/share/hadoop/hdfs/*,
/home/software/hadoop-3.0.0-beta1/share/hadoop/hdfs/lib/*,
/home/software/hadoop-3.0.0-beta1/share/hadoop/mapreduce/*,
/home/software/hadoop-3.0.0-beta1/share/hadoop/mapreduce/lib/*,
/home/software/hadoop-3.0.0-beta1/share/hadoop/yarn/*,
/home/software/hadoop-3.0.0-beta1/share/hadoop/yarn/lib/*
</value>
</property>
</configuration>
上面的mapreduce.application.classpath开始没有配置,导致使用mapreduce时报错
Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster

5.yarn-site.xml配置

<configuration>

<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop3</value>
</property>
</configuration>

6.hadoop-env.sh中配置java_home

export JAVA_HOME=/usr/local/java/jdk1..0_121  

以上配置完成后,将hadoop整个文件夹复制到其他二台机器。

四、启动hadoop

1.格式化namenode
hdfs namenode -format   

注意:格式化的时候只需要在namenode节点执行一次即可

若没有设置路径$HADOOP_HOME/bin为环境变量,则需在$HADOOP_HOME路径下执行

格式化之后三台机器上的目录的结构分别是:

hadoop1:

hadoop2:

hadoop3:

2.启动hdfs及yarn

start-dfs.sh
start-yarn.sh

若没有设置路径$HADOOP_HOME/sbin为环境变量,则需在$HADOOP_HOME路径下执行

现在便可以打开页面http://hadoop3:8088及http://hadoop3:9870;看到下面两个页面时说明安装成功。

注意:启动的时候会遇到一些问题

问题1:Starting namenodes on [hadoop3] 
ERROR: Attempting to launch hdfs namenode as root 
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting launch.

解决1: 
是因为缺少用户定义造成的,所以分别编辑开始和关闭脚本 
$ vi sbin/start-dfs.sh 
$ vi sbin/stop-dfs.sh 
在顶部空白处添加内容: 
HDFS_DATANODE_USER=root 
HADOOP_SECURE_DN_USER=hdfs 
HDFS_NAMENODE_USER=root 
HDFS_SECONDARYNAMENODE_USER=root

问题2:

Starting resourcemanager 
ERROR: Attempting to launch yarn resourcemanager as root 
ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting launch. 
Starting nodemanagers 
ERROR: Attempting to launch yarn nodemanager as root 
ERROR: but there is no YARN_NODEMANAGER_USER defined. Aborting launch.

解决2: 
是因为缺少用户定义造成的,所以分别编辑开始和关闭脚本 
$ vi sbin/start-yarn.sh 
$ vi sbin/stop-yarn.sh

hadoop-3.0.0-beta1分布式安装的更多相关文章

  1. CentOS7-64bit 编译 Hadoop-2.5.0,并分布式安装

    摘要 CentOS7-64bit 编译 Hadoop-2.5.0,并分布式安装 目录[-] 1.系统环境说明 2.安装前的准备工作 2.1 关闭防火墙 2.2 检查ssh安装情况,如果没有则安装ssh ...

  2. Hadoop2.2.0多节点分布式安装及测试

    众所周知,hadoop在10月底release了最新版2.2.很多国内的技术同仁都马上在网络上推出了自己对新版hadoop的配置心得.这其中主要分为两类: 1.单节点配置 这个太简单了,简单到只要懂点 ...

  3. Hadoop生态圈-hbase介绍-伪分布式安装

    Hadoop生态圈-hbase介绍-伪分布式安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HBase简介 HBase是一个分布式的,持久的,强一致性的存储系统,具有近似最 ...

  4. centos 7下Hadoop 2.7.2 伪分布式安装

    centos 7 下Hadoop 2.7.2 伪分布式安装,安装jdk,免密匙登录,配置mapreduce,配置YARN.详细步骤如下: 1.0 安装JDK 1.1 查看是否安装了openjdk [l ...

  5. hadoop 2.7.3伪分布式安装

    hadoop 2.7.3伪分布式安装 hadoop集群的伪分布式部署由于只需要一台服务器,在测试,开发过程中还是很方便实用的,有必要将搭建伪分布式的过程记录下来,好记性不如烂笔头. hadoop 2. ...

  6. Linux下Storm2.1.0的伪分布式安装

    官方下载网址:http://storm.apache.org/downloads.html 1.第一步我们先从官网下载解压包  2.然后进行解压 3.配置环境变量 在profile里面插入如下格式语句 ...

  7. Hadoop + Hive + HBase + Kylin伪分布式安装

    问题导读 1. Centos7如何安装配置? 2. linux网络配置如何进行? 3. linux环境下java 如何安装? 4. linux环境下SSH免密码登录如何配置? 5. linux环境下H ...

  8. Hadoop1.0.4伪分布式安装

    前言: 目前,学习hadoop的目的是想配合其它两个开源软件Hbase(一种NoSQL数据库)和Nutch(开源版的搜索引擎)来搭建一个知识问答系统,Nutch从指定网站爬取数据存储在Hbase数据库 ...

  9. arcsde10.0 for oracle11g 分布式安装教程

    [操作系统] oracle :windows server 2008ArcSDE:win7[数据库版本]  Oracle 11g [ArcSDE版本]  ArcSDE 10.0 1.在要安装ArcSD ...

  10. Hadoop开发第4期---分布式安装

    一.复制虚拟机 由于Hadoop的集群安装需要多台机器,由于条件有限,我是用虚拟机通过克隆来模拟多台机器,克隆方式如下图所示

随机推荐

  1. C++ 类的对象管理模型初讲

    //类的对象管理模型初讲 #include<iostream> using namespace std; class PointA{ private: int x;//占据4个字节大小的内 ...

  2. C++ 百炼成钢20

    题目56: 编写C++程序完成以下功能:(1)定义一个Point类,其属性包括点的坐标,提供计算两点之间距离的方法:(2)定义一个圆形类,其属性包括圆心和半径:(3)创建两个圆形对象,提示用户输入圆心 ...

  3. Servlet开发-----基础及MVC设计模式

    一.Servlet介绍   Servlet本身只是普通的Java类,只有当容器为他创建了ServletConfig和ServletContext时才成为了一个Servlet:   Servlet简单的 ...

  4. java---sychronized的深入理解

    synchronized 关键字,代表这个方法加锁,相当于不管哪一个线程A每次运行到这个方法时,都要检查有没有其它正在用这个方法的线程B(或者C D等),有的话要等正在使用这个方法的线程B(或者C D ...

  5. java守护线程。

    java的守护线程:具体定义我也不太清楚,百度和谷歌了看的也不是很明白,但是啊,下边有给出一个例子自己领悟吧. 一.计时器的Timer声明时是否声明为守护线程对计时器的影响. /** * */ pac ...

  6. 【基础练习】【BFS+A*】codevs1225八数码难题题解

    题目描写叙述 Description Yours和zero在研究A*启示式算法.拿到一道经典的A*问题,可是他们不会做,请你帮他们. 问题描写叙述 在3×3的棋盘上,摆有八个棋子,每一个棋子上标有1至 ...

  7. 《Java并发编程实战》第八章 线程池的使用 读书笔记

    一.在任务与运行策略之间的隐性解耦 有些类型的任务须要明白地指定运行策略,包含: . 依赖性任务.依赖关系对运行策略造成约束.须要注意活跃性问题. 要求线程池足够大,确保任务都能放入. . 使用线程封 ...

  8. hdu 1253:胜利大逃亡(基础广搜BFS)

    胜利大逃亡 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  9. 利用LoadRunner判断HTTP服务器的返回状态

    利用LoadRunner判断HTTP服务器的返回状态第一种方法:是利用LR的内置函数web_get_int_property.举例:#include "web_api.h"Acti ...

  10. JavaScript的parseint()函数

    定义和用法 parseInt() 函数可解析一个字符串,并返回一个整数. 语法 parseInt(string, radix) 参数 描述 string 必选项.要转换为数字的字符串. radix 可 ...