一 环境准备

1.    准备机器

2.    修改静态IP

3.    修改主机名

4.    关闭防火墙

5.    创建普通用户hadoop

  添加hadoop用户

    [root@hadoop102 ~]#useradd hadoop

  设置密码

    [root@hadoop102 ~]#passwd hadoop

6.    配置hadoop用户具有root权限

  修改配置文件

    [root@hadoop102 ~]#vi /etc/sudoers

    修改 /etc/sudoers 文件,找到下面一行(91行),在root下面添加一行,如下所示:

      ## Allow root to run any commands anywhere

      root    ALL=(ALL)     ALL

      hadoop   ALL=(ALL)     ALL

  或者配置成采用sudo命令时,不需要输入密码

    ## Allow root to run any commands anywhere

    root      ALL=(ALL)     ALL

    hadoop   ALL=(ALL)     NOPASSWD:ALL

  修改完毕,现在可以用hadoop帐号登录,然后用命令 sudo ,即可获得root权限进行操作。

7.在/opt目录下创建文件夹

(1)在/opt目录下创建module、software文件夹

    [hadoop@hadoop102 opt]$ sudo mkdir module

    [hadoop@hadoop102 opt]$ sudo mkdir software

(2)修改module、software文件夹的所有者cd

    [hadoop@hadoop102 opt]$ sudo chown hadoop:hadoop module/ software/

    [hadoop@hadoop102 opt]$ ll

    总用量 8

    drwxr-xr-x. 2 hadoop hadoop 4096 1月  17 14:37 module

    drwxr-xr-x. 2 hadoop hadoop 4096 1月  17 14:38 software

8.修改hosts文件

  分别在3台机器上修改/etc/hosts文件

    sudo vi /etc/hosts

  添加如下内容

    192.168.194.102 hadoop102

    192.168.194.103 hadoop103

    192.168.194.104 hadoop104

9. SSH无密登录配置

(1)生成公钥和私钥:

  [hadoop@hadoop102 .ssh]$ ssh-keygen -t rsa

  然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)

(2)将公钥拷贝到要免密登录的目标机器上

  [hadoop@hadoop102 .ssh]$ ssh-copy-id hadoop102

  [hadoop@hadoop102 .ssh]$ ssh-copy-id hadoop103

  [hadoop@hadoop102 .ssh]$ ssh-copy-id hadoop104

注意:

  还需要在hadoop102上采用root账号,配置一下无密登录到hadoop102、hadoop103、hadoop104;

  还需要在hadoop103上采用hadoop账号配置一下无密登录到hadoop102、hadoop103、hadoop104服务器上。

二 安装JDK

1. 卸载现有JDK

(1)查询是否安装Java软件:

  [root@hadoop102 opt]$ rpm -qa | grep java

(2)如果安装的版本低于1.7,卸载该JDK:

  [root@hadoop102 opt]$ sudo rpm -e 软件包

(3)查看JDK安装路径:

  [root@hadoop102 ~]$ which java

2.下载jdk8

最新jdk8下载地址

  登录网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

jdk历史版本下载地址

  oracle官网jdk历史下载页面:https://www.oracle.com/technetwork/java/javase/archive-139210.html

3.切换到root用户

su root 获取root用户权限,当前工作目录不变(需要root密码) 或 sudo -i 不需要root密码直接切换成root(需要当前用户密码)

4.上传解压

将jdk安装包上传到服务器并解压

  解压:tar -zxvf jdk-8u191-linux-x64.tar.gz -C /usr/local

5.配置环境变量

编辑配置文件 /etc/profile

vim /etc/profile

末尾添加如下内容:JAVA_HOME根据实际目录来

  export JAVA_HOME=/usr/local/jdk1.8.0_191
  export PATH=$JAVA_HOME/bin:$PATH

6.重新加载环境变量配置文件

  [root@hadoop102 ~]# source /etc/profile

7.查看安装版本情况

  [root@hadoop102 ~]# java -version
  java version "1.8.0_191"
  Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
  Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

8.按照如上步骤在其他服务器上安装jdk

三 安装Hadoop

1.Hadoop下载地址:

https://archive.apache.org/dist/hadoop/common/hadoop-2.7.2/

2.上传解压

将hadoop-2.7.2.tar.gz安装包上传到第一台服务器的到opt/software文件夹下面

3.解压安装文件到/opt/module下面

cd /opt/software/

tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module/

查看是否解压成功

[hadoop@hadoop102 software]$ ls /opt/module/

hadoop-2.7.2

4.将Hadoop添加到环境变量

获取Hadoop安装路径

  [hadoop@hadoop102 hadoop-2.7.2]$ pwd

  /opt/module/hadoop-2.7.2

打开/etc/profile文件

  [hadoop@hadoop102 hadoop-2.7.2]$ sudo vi /etc/profile

在profile文件末尾添加Hadoop环境变量路径:(shitf+g)

  ## HADOOP_HOME

  export HADOOP_HOME=/opt/module/hadoop-2.7.2

  export PATH=$PATH:$HADOOP_HOME/bin

  export PATH=$PATH:$HADOOP_HOME/sbin

保存后退出

  :wq

让修改后的文件生效

  [hadoop@ hadoop102 hadoop-2.7.2]$ source /etc/profile

5.测试是否安装成功

  [hadoop@hadoop102 hadoop-2.7.2]$ hadoop version

  Hadoop 2.7.2

6.Hadoop目录结构

查看Hadoop目录结构

[hadoop@hadoop102 hadoop-2.7.2]$ ll

总用量 52

drwxr-xr-x. 2 atguigu atguigu  4096 5月  22 2017 bin

drwxr-xr-x. 3 atguigu atguigu  4096 5月  22 2017 etc

drwxr-xr-x. 2 atguigu atguigu  4096 5月  22 2017 include

drwxr-xr-x. 3 atguigu atguigu  4096 5月  22 2017 lib

drwxr-xr-x. 2 atguigu atguigu  4096 5月  22 2017 libexec

-rw-r--r--. 1 atguigu atguigu 15429 5月  22 2017 LICENSE.txt

-rw-r--r--. 1 atguigu atguigu   101 5月  22 2017 NOTICE.txt

-rw-r--r--. 1 atguigu atguigu  1366 5月  22 2017 README.txt

drwxr-xr-x. 2 atguigu atguigu  4096 5月  22 2017 sbin

drwxr-xr-x. 4 atguigu atguigu  4096 5月  22 2017 share

重要目录

(1)bin目录:存放对Hadoop相关服务(HDFS,YARN)进行操作的脚本

(2)etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件

(3)lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)

(4)sbin目录:存放启动或停止Hadoop相关服务的脚本

(5)share目录:存放Hadoop的依赖jar包、文档、和官方案例

四 Hadoop集群配置

1.集群部署规划

hadoop102

hadoop103

hadoop104

HDFS

NameNode

DataNode

DataNode

SecondaryNameNode

DataNode

YARN

NodeManager

ResourceManager

NodeManager

NodeManager

2.编辑配置文件

(1)核心配置文件

配置core-site.xml

  [hadoop@hadoop102 hadoop]$ vi core-site.xml

  在该文件中编写如下配置

<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop102:9000</value>
</property> <!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>

(2)HDFS配置文件

配置hadoop-env.sh

  [atguigu@hadoop102 hadoop]$ vi hadoop-env.sh

    修改JAVA_HOME的环境变量

    export JAVA_HOME=/usr/local/jdk1.8.0_191

配置hdfs-site.xml

  [atguigu@hadoop102 hadoop]$ vi hdfs-site.xml

  在该文件中编写如下配置

<property>
<name>dfs.replication</name>
<value>1</value>
</property> <!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop104:50090</value>
</property>

(3)YARN配置文件

配置yarn-env.sh

  [atguigu@hadoop102 hadoop]$ vi yarn-env.sh

修改JAVA_HOME的环境变量

    export JAVA_HOME=/usr/local/jdk1.8.0_191

配置yarn-site.xml

  [atguigu@hadoop102 hadoop]$ vi yarn-site.xml

在该文件中增加如下配置

<!-- Reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property> <!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop103</value>
</property>

(4)MapReduce配置文件

配置mapred-env.sh

修改JAVA_HOME的环境变量

  [atguigu@hadoop102 hadoop]$ vi mapred-env.sh

  export JAVA_HOME=/opt/module/jdk1.8.0_144

配置mapred-site.xml

  [atguigu@hadoop102 hadoop]$ cp mapred-site.xml.template mapred-site.xml

  [atguigu@hadoop102 hadoop]$ vi mapred-site.xml

  在该文件中增加如下配置

<!-- 指定MR运行在Yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

(4)配置slaves

cd /opt/module/hadoop-2.7.2/etc/hadoop/slaves

[hadoop@hadoop102 hadoop]$ vi slaves

  在该文件中增加如下内容:

  hadoop102

  hadoop103

  hadoop104

注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行

3.分发

将/opt/module/hadoop-2.7.2/目录分发到其他服务器

  scp -r /opt/module/hadoop-2.7.2/ root@hadoop103:/opt/module

  scp -r /opt/module/hadoop-2.7.2/ root@hadoop104:/opt/module

五 启动测试

1.格式化集群

集群第一次启动,需要格式化NameNode

  [hadoop@hadoop102 hadoop-2.7.2]$ bin/hdfs namenode -format

如果需要重新格式化,需要先停止启动的所有namenode和datanode进程,然后删除data和log数据,重新执行bin/hdfs namenode -format命令

2.启动hdfs

在主节点上执行

  [hadoop@hadoop102 hadoop-2.7.2]$ sbin/start-dfs.sh

查看启动进程

  [hadoop@hadoop102 hadoop-2.7.2]$ jps

  1345 NameNode

  5443 Jps

  4356 DataNode

  [hadoop@hadoop103 hadoop-2.7.2]$ jps

  9382 DataNode

  3948 Jps

  [hadoop@hadoop104 hadoop-2.7.2]$ jps

  3438 DataNode

  2345 SecondaryNameNode

  2456 Jps

3.启动YARN

[hadoop@hadoop103 hadoop-2.7.2]$ sbin/start-yarn.sh

注意:NameNode和ResourceManger如果不是同一台机器,不能在NameNode上启动 YARN,应该在ResouceManager所在的机器上启动YARN。

4.查看web页面

hdfs web页面 http://hadoop102:50070/

yarn web页面  http://hadoop103:18088/

CentOS7.6搭建Hadoop2.7.2运行环境-三节点集群模式的更多相关文章

  1. virtualBox安装centos7并配置nginx php mysql运行环境

    virtualBox安装centos7并配置nginx php mysql运行环境 一:virtualBox安装centos7并进行基础设置 1.下载dvd.iso安装文件,下载地址:https:// ...

  2. Docker学习笔记之一,搭建一个JAVA Tomcat运行环境

    Docker学习笔记之一,搭建一个JAVA Tomcat运行环境 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序 ...

  3. Hadoop(二)CentOS7.5搭建Hadoop2.7.6完全分布式集群

    一 完全分布式集群(单点) Hadoop官方地址:http://hadoop.apache.org/ 1  准备3台客户机 1.1防火墙,静态IP,主机名 关闭防火墙,设置静态IP,主机名此处略,参考 ...

  4. CentOS7.5搭建Hadoop2.7.6完全分布式集群

    一 完全分布式集群搭建 Hadoop官方地址:http://hadoop.apache.org/ 1  准备3台客户机 1.2 关闭防火墙,设置静态IP,主机名 关闭防火墙,设置静态IP,主机名此处略 ...

  5. 搭建Hadoop2.6.0+Spark1.1.0集群环境

    前几篇文章主要介绍了单机模式的hadoop和spark的安装和配置,方便开发和调试.本文主要介绍,真正集群环境下hadoop和spark的安装和使用. 1. 环境准备 集群有三台机器: master: ...

  6. Centos7下搭建WebGoat 8和DVWA环境

    搭建WebGoat 安装前置条件说明 我们这里选择WebGoat的jar版本,由于WebGoat 8的jar文件已自带了tomcat和数据库,所以不需要再另外安装tomcat和mysql这种东西,只需 ...

  7. windows下搭建学习objective-c 的运行环境【转载】

    对于Iphone开发学习者而言,Object -c 是必修的语言.但是由于苹果的自我封闭的产业链发展模式(从芯片.机器.开发语言.终端产品.服务)的限制,要想开发针对苹果iPhone等产品的应用程序, ...

  8. ubuntu 下搭建apache+python的运行环境

    ubuntu下怎么搭建apache+python运行环境,可以参考http://www.01happy.com/ubuntu-apache-mod-python/ ,这里只是简单的记录下步骤,本文主要 ...

  9. Docker学习笔记之搭建 Java Web 项目运行环境

    0x00 概述 Java Web 泛指以 Java 程序为基础向外提供 Web 服务的技术及相关工具,狭义上来说,我们也可以说 Java Web 是由 Servlet 程序提供的 Web 服务. 对我 ...

  10. 无界面Ubuntu服务器搭建selenium+chromedriver+VNC运行环境

    搭建背景 有时候我们需要把基于selenium的爬虫放到服务器上跑的时候,就需要这样一套运行环境,其中VNC是虚拟的显示模式,用于排查定位线上问题以及实时运行情况. 搭建流程 安装虚拟输出设备:sud ...

随机推荐

  1. Python地图栅格化实例

    Python地图栅格化实例 引言 shapefile是GIS中的一种非常重要的数据类型,由ESRI开发的空间数据开放格式,目前该数据格式已经成为了GIS领域的开放标准.目前绝大多数开源以及收费的GIS ...

  2. React魔法堂:echarts-for-react源码略读

    前言 在当前工业4.0和智能制造的产业升级浪潮当中,智慧大屏无疑是展示企业IT成果的最有效方式之一.然而其背后怎么能缺少ECharts的身影呢?对于React应用而言,直接使用ECharts并不是最高 ...

  3. PCA降维的原理及实现

    PCA可以将数据从原来的向量空间映射到新的空间中.由于每次选择的都是方差最大的方向,所以往往经过前几个维度的划分后,之后的数据排列都非常紧密了, 我们可以舍弃这些维度从而实现降维 原理 内积 两个向量 ...

  4. Rock18框架之整体框架介绍

    1. 总体框架图 2.框架能解决哪些问题? 问题1: 自动化设备包含龙门架.机械手.伺服.步进等电机.IO控制.定位及纠偏.界面展示等部分.其中硬件(伺服.IO等)是需要更换的,硬件的更换不影响整套系 ...

  5. win10 优化

    禁用服务中的某些不用的服务 例如 SysMain 服务 win+R键开启运行快捷方式,输入services.msc: 找到SysMain这个服务: 选择这个服务后,右键属性: 点击停止:启动类型选择禁 ...

  6. python(27)反射机制

    1. 什么是反射? 它的核心本质其实就是基于字符串的事件驱动,通过字符串的形式去操作对象的属性或者方法 2. 反射的优点 一个概念被提出来,就是要明白它的优点有哪些,这样我们才能知道为什么要使用反射. ...

  7. KMP算法,匹配字符串模板(返回下标)

    //KMP算法,匹配字符串模板 void getNext(int[] next, String t) { int n = next.length; for (int i = 1, j = 0; i & ...

  8. 【题解】P7860 [COCI2015-2016#2] ARTUR

    题面传送门 好题. 主要思路和另一位巨佬差不多,详细讲一下判断的部分. 解决思路: 首先考虑本题与拓扑排序有和关系.可以想到,某些棍子的先后移动顺序是有限制的.比如: 这里红色的必须比蓝色的先移动,因 ...

  9. Kubernetes集群管理工具kubectl

    Kubernetes集群管理工具kubectl 概述 kubectl是Kubernetes集群的命令行工具,通过kubectl能够对集群本身进行管理,并能够在集群上进行容器化应用的安装和部署 命令格式 ...

  10. 我的Python基础(二)

    python包含6种内奸的序列:列表.元组.字符串.Unicode字符串.buffer对象和xrange对象 列表和元组的主要区别在于,列表可以修改,元组则不能. 索引: 使用负数索引时,最后一个元素 ...