最近想研究下hadoop,玩一玩大数据,废话不多说,就此开始!

所用环境:

       xshell 5.0(ssh连接工具,支持ftp,可向虚拟机传文件)

     CentOS-7-x86_64-DVD-1511.iso(网上很多资源,可自行搜索)

       hadoop-2.7.0.tar.gz(下载地址:http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.0/)

     jdk-7u79-linux-x64.tar.gz(下载地址:微盘地址http://vdisk.weibo.com/s/zWP8qIll84xX6,也可以去官网下载)

(1)首先,我们准备centos7.2的iso镜像,并安装vmware软件,使用vmware安装三个centos7.2系统(自己设置root用户密码,添加名为:hadoop用户,密码也为hadoop,安装过程就不细说了),centos7.2安装完成需要依次输入:1/2/q/yes,本人安装的版本为桌面版。

(2)配置网络环境,笔者选用的是仅主机模式;

笔者台式机IP为:192.168.202.1,三台虚拟机IP分别为:192.168.202.101(master)、192.168.202.102(node1)、192.168.202.103(node2),验证方式:保证三个虚拟机之间能互相ping通。

(3)由于在centos7我们需要创建hadoop用户,可以跳过这一步骤,看步骤(4)。若没有按照之前的创建hadoop用户,请继续往下看

  在centos7.2桌面右键Open in Terminal选项,弹出命令终端;输入su  和管理员密码,使用管理员权限;输入:

    groupadd hadoop

    useradd hadoop -g hadoop

然后给hadoop用户设置密码,输入:passwd hadoop,然后自己输入两次设置相同密码,若提示“无效的密码,过于简单”则再次输入确认就行,笔者密码设置为“hadoop”;

(4)给hadoop用户添加管理员权限,输入:visudo,找到 root ALL=(ALL) ALL 这行,然后在这行下面增加一行内容:hadoop ALL=(ALL) ALL (当中的间隔为tab),按ESC输入“:wq”进行保存,修改内容如下图所示:

(5)输入命令:su - hadoop,看是否用hadoop用户登录(用户名/密码:hadoop/hadoop),若能成功登陆,验证通过。

(6)三台虚拟机中均需修改主机名,首先在,master上修改hosts文件(注:IP改成个人设置的虚拟机IP,与主机名对应)

    echo "192.168.202.101 master" >>/etc/hosts
      echo "192.168.202.102 node1" >>/etc/hosts
    echo "192.168.202.103 node2" >>/etc/hosts

然后,同步到node1,node2上的主机,使用命令,输入用户名密码即可。

    scp /etc/hosts node1:/etc/
     scp /etc/hosts node2:/etc/

测试:从三台虚拟机分别ping其他主机的主机名,若能ping通,则验证通过。如下如:

(7)关闭防火墙

    systemctl stop firewalld 
         systemctl disable firewalld

验证方法,输入命令:systemctl status firewalld.service,查看防火墙状态

(8)接下来,为三台虚拟机(master/node1/node2)安装JDK,首先得查看是否安装openjdk,若已安装openjdk,则卸载;未安装,则开始安装JDK。检查命令如下:

        rpm -qa|grep openjdk  #检查openjdk,存在则删除

        yum remove *-openjdk-*  ####删除openjdk#####

使用xshell中的xftp工具将下载的jdk文件拷贝至/usr/目录下,并使用chmod +x /usr/jdk-7u79-linux-x64.tar.gz赋予权限,使用命令解压:

        tar -zxvf /usr/jdk-7u79-linux-x64.tar.gz

修改java环境变量,使用命令: vim /etc/profile,在内容中添加:(输入:‘:wq’----------保存退出)

        JAVA_HOME=/usr/jdk1.7.0_79
        HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.0
        export PATH=$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH

如下图:

输入命令:source /etc profile ,让环境变量生效。验证方法,输入:java -verison,看能否出现相关版本信息。

(9)在master,node1,node2上创建相关目录,(直接复制全部内容执行即可)

     sudo mkdir -p /usr/local/hadoop
       sudo chown -R hadoop:hadoop  /usr/local/hadoop
       sudo mkdir -p /data/hadoop/  #创建 hadoop 数据目录结构 
         sudo chown -R hadoop:hadoop  /data/hadoop/
     mkdir -p /data/hadoop/tmp/  #创建 tmp 
       mkdir -p /data/hadoop/hdfs/  #创建hdfs 
       mkdir -p /data/hadoop/hdfs/data  #创建datanode目录 
    mkdir -p /data/hadoop/hdfs/name  #创建namenode目录 
      mkdir -p /data/hadoop/hdfs/namesecondary

(10)在master,node1,node2上使用ssh免密登录。首先在master上的hadoop用户通过rsa算法生成非对称密钥对:

    ssh-keygen -t rsa 
      cd /home/hadoop/.ssh/ 
            cp id_rsa.pub  authorized_keys 
            chmod go-wx  authorized_keys

master上的公钥authorized_keys拷贝到node1,node2上的hadoop用户,先分别创建文件夹:mkdir /home/hadoop/.ssh/ ,然后执行以下命令,输入正确密码即可。

   scp authorized_keys node1:/home/hadoop/.ssh/ 
     scp authorized_keys node2:/home/hadoop/.ssh/

验证测试:从master端,ssh node1、ssh node2看是否不需要输入密码。

(11)安装hadoop,使用xftp将 tar -zxvf hadoop-2.7.2.tar.gz 拷贝至/usr/local/hadoop/目录下,然后执行

    ar -zxvf hadoop-2.7.2.tar.gz  
       chown -R hadoop:hadoop /usr/local/hadoop/

然后输入:vim /etc/profile ,参考步骤8图,验证hadoop路径是否与已安装路径一致。

(12)修改hadoop配置文件,首先进入hadoop目录,

    cd /usr/local/hadoop/hadoop-2.7.0/etc/hadoop/

    cp mapred-site.xml.template mapred-site.xml(ps:hadoop2.7.0版本中不包含mapred-site.xml文件,需要从mapred-site.xml.template复制一份重命名为mapred-site.xml)

    ll(查看目录)

修改五个配置文件,如下:

  1.vim hadoop-env.sh

将文件中java_home路径配置为JDK路径(/usr/jdk1.7.0_79),如下图

  2.vim core-site.xml

将配置文件修改为:

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
</property>

</configuration>

参考下图:

  3.vim  hdfs-site.xml

文件配置如下:

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
</property>

</configuration>

如下图:

  4.vim mapred-site.xml

配置文件如下:

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

如下图:

  5.vim yarn-site.xml

配置文件如下:

<configuration>

<property>

<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

如下图:

(13)格式化hdfs,输入命令:

    cd /usr/local/hadoop/hadoop-2.7.0/

    bin/hdfs namenode -format

(14)启动dfs系统

    cd /usr/local/hadoop/hadoop-2.7.0/sbin/

    ./start-dfs.sh

(15)使用yarn启动tracker

    cd /usr/local/hadoop/hadoop-2.7.0/sbin/

    ./start-yarn.sh

(16)验证伪分布集群是否搭建成功

    1.输入jps,查看是否有如下名称6个进程。

    2.从网页上打开http://192.168.202.101:50070/(192.168.202.101为个人设置的master的IP),看是否页面能访问。如下图:

      3.从网页上打开http://192.168.202.101:50030/(192.168.202.101为个人设置的master的IP),看是否页面能访问。如下图:

    4.若以上均无问题,则表示环境搭建成功!恭喜你!

centos7.2+jdk7.9搭建haddoop2.7.0伪分布式环境(亲测成功)的更多相关文章

  1. 在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境

    近几年大数据越来越火热.由于工作需要以及个人兴趣,最近开始学习大数据相关技术.学习过程中的一些经验教训希望能通过博文沉淀下来,与网友分享讨论,作为个人备忘. 第一篇,在win7虚拟机下搭建hadoop ...

  2. ubuntu14.04搭建Hadoop2.9.0伪分布式环境

    本文主要参考 给力星的博文——Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04 一些准备工作的基本步骤和步骤具体说明本文不再列出,文章中提到的“见参考”均指以上 ...

  3. Hadoop2.5.0伪分布式环境搭建

    本章主要介绍下在Linux系统下的Hadoop2.5.0伪分布式环境搭建步骤.首先要搭建Hadoop伪分布式环境,需要完成一些前置依赖工作,包括创建用户.安装JDK.关闭防火墙等. 一.创建hadoo ...

  4. Spark2.4.0伪分布式环境搭建

    一.搭建环境的前提条件 环境:ubuntu-16.04 hadoop-2.6.0  jdk1.8.0_161. spark-2.4.0-bin-hadoop2.6.这里的环境不一定需要和我一样,基本版 ...

  5. hive-2.2.0 伪分布式环境搭建

    一,实验环境: 1, ubuntu server 16.04 2, jdk,1.8 3, hadoop 2.7.4 伪分布式环境或者集群模式 4, apache-hive-2.2.0-bin.tar. ...

  6. CentOS5.4 搭建Hadoop2.5.2伪分布式环境

    简介: Hadoop是处理大数据的主要工具,其核心部分是HDFS.MapReduce.为了学习的方便,我在虚拟机上搭建了一个伪分布式环境,来进行开发学习. 一.安装前准备: 1)linux服务器:Vm ...

  7. Ubuntu15.10下Hadoop2.6.0伪分布式环境安装配置及Hadoop Streaming的体验

    Ubuntu用的是Ubuntu15.10Beta2版本,正式的版本好像要到这个月的22号才发布.参考的资料主要是http://www.powerxing.com/install-hadoop-clus ...

  8. 安装hadoop2.6.0伪分布式环境

    集群环境搭建请见:http://blog.csdn.net/jediael_lu/article/details/45145767 一.环境准备 1.安装linux.jdk 2.下载hadoop2.6 ...

  9. 安装hadoop2.6.0伪分布式环境 分类: A1_HADOOP 2015-04-27 18:59 409人阅读 评论(0) 收藏

    集群环境搭建请见:http://blog.csdn.net/jediael_lu/article/details/45145767 一.环境准备 1.安装linux.jdk 2.下载hadoop2.6 ...

随机推荐

  1. 14. 流、文件和IO

    前言 InputStream/OutStream流用来处理设备之间的数据传输 Java.io 包几乎包含了所有操作输入.输出需要的类.所有这些流类代表了输入源和输出目标. Java.io 包中的流支持 ...

  2. es6,@import一直报错 Can't resolve。。

    最近在项目中新增了一个按钮组的组件页面,但是在其他页面引入时,一直报错 引入方式:

  3. 角度转弧度&根据弧度计算圆周上点的坐标的方法

    角度转弧度: #define AngleToRadian(angle) (M_PI/180.0f)*angle 以正东面为0度起点计算指定角度所对应的圆周上的点的坐标: float radian = ...

  4. git项目版本处理--远程分支重新拉取本地代码如何处理

    最近在eclipse 上用git拉取分支,提交代码因为提交代码提交了一些配置文件造成 后续同事提交代码一直出现代码冲突问题 项目老大又重新拉取了一条代码 同样的分支名字 当时有点蒙不知道接着怎么弄:场 ...

  5. 基于Spring注解的上下文初始化过程源码解析(二)

    上一篇看完了register方法的代码,继续跟后面代码 后面执行refresh方法,代码清单如下: public void refresh() throws BeansException, Illeg ...

  6. web面试

    什么是面向对象? 程序中的事物都是用对象结构来描述的,所有的程序都是用面向对象的思想,管理数据和功能的. 面向对象三大特点:封装 继承 多态 什么是封装? 创建一个对象结构,用来保存一个事物的属性和方 ...

  7. DT-06 For AT

    乐鑫官方AT指令固件- 最新1.5.4版本 此固件仅支持AT指令对模块进行操作. 1.DT-06固件的烧录 1.1打开ESP模块下载工具ESPFlashDownloadTool,选择需要下载的固件,填 ...

  8. java集合类的相关转换

    下面的的案例,基本上是以代码为主,文字的描述较少,后期有时间会继续添加. ArrayToList public void ArrayToList() { System.out.println(&quo ...

  9. Spring Boot 中的同一个 Bug,竟然把我坑了两次!

    真是郁闷,不过这事又一次提醒我解决问题还是要根治,不能囫囵吞枣,否则相同的问题可能会以不同的形式出现,每次都得花时间去搞.刨根问底,一步到位,再遇到类似问题就可以分分钟解决了. 如果大家没看过松哥之前 ...

  10. CGI getenv 参数

    变量名 描述 CONTENT_TYPE 这个环境变量的值指示所传递来的信息的MIME类型.目前,环境变量CONTENT_TYPE一般都是:application/x-www-form-urlencod ...