一、环境选择

1,服务器选择

阿里云服务器:入门型(按量付费)

操作系统:linux CentOS 6.8

Cpu:1核

内存:1G

硬盘:40G

ip:39.108.77.250

2,配置选择

JDK:1.8 (jdk-8u144-linux-x64.tar.gz)

Hadoop:2.8.2 (hadoop-2.8.2.tar.gz)

3,下载地址

官网地址:

JDK:

http://www.oracle.com/technetwork/java/javase/downloads

Hadopp:

http://www.apache.org/dyn/closer.cgi/hadoop/common

百度云:

链接:http://pan.baidu.com/s/1pLqS4kF 密码:yb79

二、服务器的相关配置

在配置Hadoop之前,应该先做以下配置

1,更改主机名

首先更改主机名,目的是为了方便管理。

输入:

hostname

查看本机的名称

然后输入:

vim /etc/sysconfig/network

修改主机名称

将HOSTNAME 的名称更改为你想要设置的名称



注:主机名称更改之后,要重启(reboot)才会生效。

输入

vim /etc/hosts

添加 主机IP 和对应的主机名称,做映射。

注:在配置文件中使用主机名的话,这个映射必须做!

2,关闭防火墙

关闭防火墙,方便外部访问。

CentOS 7版本以下输入:

关闭防火墙

service   iptables stop

CentOS 7 以上的版本输入:

systemctl   stop   firewalld.service

3,时间设置

输入:

date

查看服务器时间是否一致,若不一致则更改

更改时间命令

date -s ‘MMDDhhmmYYYY.ss’

三、Hadoop环境安装

1,下载jdk、hadoop

将下载下来的 jdk、hadoop 解压包放在home 目录下

并新建java、hadoop文件夹

3.1.1解压文件

输入:

tar -xvf jdk-8u144-linux-x64.tar.gz

tar -xvf hadoop-2.8.2.tar.gz

解压jdk和hadoop ,分别移动文件到java和hadoop文件下,

并将文件夹重命名为jdk1.8和hadoop2.8

2,JDK环境配置

首先输入

java -version

查看是否安装了JDK,如果安装了,但版本不适合的话,就卸载

3.2.1 profile 文件更改

编辑 /etc/profile 文件

输入:

vim /etc/profile

整体的配置文件:

export JAVA_HOME=/home/java/jdk1.8
export JRE_HOME=/home/java/jdk1.8/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=.:${JAVA_HOME}/bin:$PATH



注: JAVA_HOME的路径是 JDK的路径

使用vim 编辑之后 记得输入

source /etc/profile

使配置生效

配置完后,输入java -version 查看版本信息

3,Hadoop 环境配置

3.3.1 profile 文件更改

编辑 /etc/profile 文件

输入:

vim /etc/profile

整体的配置文件:

export HADOOP_HOME=/home/hadoop/hadoop2.8
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:$PATH



输入:

source  /etc/profile

使配置生效

修改配置文件

3.3.2新建文件夹

在修改配置文件之前,现在root目录下建立一些文件夹。

输入:

mkdir  /root/hadoop
mkdir /root/hadoop/tmp
mkdir /root/hadoop/var
mkdir /root/hadoop/dfs
mkdir /root/hadoop/dfs/name
mkdir /root/hadoop/dfs/data

注:在root目录下新建文件夹是防止被莫名的删除。

首先切换到 /home/hadoop/hadoop2.8/etc/hadoop/ 目录下

3.3.3修改 core-site.xml

输入:

vim core-site.xml

<configuration>添加:

<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://test1:9000</value>
</property>
</configuration>



说明: test1 可以替换为主机的ip。

3.3.4修改 hadoop-env.sh

输入:

vim hadoop-env.sh

${JAVA_HOME} 修改为自己的JDK路径

export   JAVA_HOME=${JAVA_HOME}

修改为:

export   JAVA_HOME=/home/java/jdk1.8

3.4.5修改 hdfs-site.xml

输入:

vim hdfs-site.xml

<configuration>添加:

<property>
<name>dfs.name.dir</name>
<value>/root/hadoop/dfs/name</value>
<description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/root/hadoop/dfs/data</value>
<description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
<description>need not permissions</description>
</property>

说明:dfs.permissions配置为false后,可以允许不要检查权限就生成dfs上的文件,方便倒是方便了,但是你需要防止误删除,请将它设置为true,或者直接将该property节点删除,因为默认就是true。

3.4.6 修改mapred-site.xml

如果没有 mapred-site.xml 该文件,就复制mapred-site.xml.template文件并重命名为mapred-site.xml

输入:

vim mapred-site.xml

修改这个新建的mapred-site.xml文件,在<configuration>节点内加入配置:

<property>
<name>mapred.job.tracker</name>
<value>test1:9001</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/root/hadoop/var</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

使用的命令:



到此 Hadoop 的单机模式的配置就完成了。

四、Hadoop启动

第一次启动Hadoop需要初始化

切换到 /home/hadoop/hadoop2.8/bin目录下输入

  ./hadoop  namenode  -format



初始化成功后,可以在/root/hadoop/dfs/name 目录下(该路径在hdfs-site.xml文件中进行了相应配置,并新建了该文件夹)新增了一个current 目录以及一些文件。

启动Hadoop 主要是启动HDFS和YARN

切换到/home/hadoop/hadoop2.8/sbin目录

启动HDFS

输入:

start-dfs.sh

登录会询问是否连接,输入yes ,然后输入密码就可以了

启动YARN

输入:

start-yarn.sh

可以输入 jps 查看是否成功启动

在浏览器输入:

http://39.108.77.250:8088/cluster

输入:

http://39.108.77.250:50070



注:当时忘记截图了,这张使用的是本地用虚拟机搭建环境的图片。

到此,Hadoop的单机配置就结束了。

大数据学习系列之一 ----- Hadoop环境搭建(单机)的更多相关文章

  1. 大数据学习系列之四 ----- Hadoop+Hive环境搭建图文详解(单机)

    引言 在大数据学习系列之一 ----- Hadoop环境搭建(单机) 成功的搭建了Hadoop的环境,在大数据学习系列之二 ----- HBase环境搭建(单机)成功搭建了HBase的环境以及相关使用 ...

  2. 大数据学习系列之六 ----- Hadoop+Spark环境搭建

    引言 在上一篇中 大数据学习系列之五 ----- Hive整合HBase图文详解 : http://www.panchengming.com/2017/12/18/pancm62/ 中使用Hive整合 ...

  3. 大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解

    引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单 ...

  4. 大数据学习系列之八----- Hadoop、Spark、HBase、Hive搭建环境遇到的错误以及解决方法

    前言 在搭建大数据Hadoop相关的环境时候,遇到很多了很多错误.我是个喜欢做笔记的人,这些错误基本都记载,并且将解决办法也写上了.因此写成博客,希望能够帮助那些搭建大数据环境的人解决问题. 说明: ...

  5. 大数据学习系列之Hadoop、Spark学习线路(想入门大数据的童鞋,强烈推荐!)

    申明:本文出自:http://www.cnblogs.com/zlslch/p/5448857.html(该博客干货较多) 1 Java基础: 视频方面:          推荐<毕向东JAVA ...

  6. 大数据学习——java操作hdfs环境搭建以及环境测试

    1 新建一个maven项目 打印根目录下的文件的名字 添加pom依赖 pom.xml <?xml version="1.0" encoding="UTF-8&quo ...

  7. 大数据学习系列之五 ----- Hive整合HBase图文详解

    引言 在上一篇 大数据学习系列之四 ----- Hadoop+Hive环境搭建图文详解(单机) 和之前的大数据学习系列之二 ----- HBase环境搭建(单机) 中成功搭建了Hive和HBase的环 ...

  8. 大数据学习系列之九---- Hive整合Spark和HBase以及相关测试

    前言 在之前的大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 中介绍了集群的环境搭建,但是在使用hive进行数据查询的时候会非常的慢,因为h ...

  9. 【转】RHadoop实践系列之一:Hadoop环境搭建

    RHadoop实践系列之一:Hadoop环境搭建 RHadoop实践系列文章,包含了R语言与Hadoop结合进行海量数据分析.Hadoop主要用来存储海量数据,R语言完成MapReduce 算法,用来 ...

随机推荐

  1. C++继承(07)

    继承 通过特殊化已有的类来建立新类的过程,叫做“类的派生”,原来的类叫做“基类”,新建立的类则叫做“派生类”.另一方面,从类的成员角度看,派生类自动地将基类的所有成员作为自己的成员,这叫做“继承”.基 ...

  2. 一起来学linux:SSH远程登陆

    p { margin-bottom: 0.25cm; line-height: 120% } a:link { } 在最早的远程连接技术,主要是telnet和RSH为主.缺点也很明显,就是明文传输.在 ...

  3. 基于Vue.js的大型报告页项目实现过程及问题总结(一)

    今年5月份的时候做了一个测评报告项目,需要在网页正常显示的同时且可打印为pdf,当时的技术方案采用jquery+template的方式,因为是固定模板所以并没有考虑报告的模块化区分,九月底产品提出新的 ...

  4. 探究Angular依赖注入对象$injector

    $injector其实是一个IOC容器,包含了很多我们通过.module()和$provide创建的模块和服务.$injector服务提供了对依赖注入器对象的访问,当然我们也可以调用angular.i ...

  5. SSM框架中的注解,配置和控制器相关笔记

    常规SSM实例 探索SSM理论的前提,应该是在对框架基础的运作方式有一定了解,以下是个人Android后台项目,用SSM框架快速搭建,以下是代码,主要 观察结构. 代码结构: model实体类 Ida ...

  6. Leetcode题解(20)

    59. Spiral Matrix II 题目 这道题copy网上的代码 class Solution { private: ][]; ][]; public: void dfs(int dep, v ...

  7. CodeForces - 556B Case of Fake Numbers

    //////////////////////////////////////////////////////////////////////////////////////////////////// ...

  8. 初入servlet:Allocate exception for servlet

    老板,来一碗错误垫垫肚子! 如果以下几个错误都符合,估计就是这个原因了. 页面报错如下: java.lang.NoClassDefFoundError:IllegalName: firstDemo/T ...

  9. Python入门学习(一)

    看完了莫烦Python的视频,对于Python有了一点感觉,接下来打算把小甲鱼的视频啃完,附上学习网址:http://blog.fishc.com/category/python 小甲鱼的视频是从零基 ...

  10. Java面试题-2

    程序员面试之九阴真经 谈谈final, finally, finalize的区别: final:::修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此 ...