• 配置环境要求:

  1. Centos7
  2. jdk 8
  3. Vmware 14 pro
  4. hadoop 3.1.1
  • Hadoop下载

  • 安装4台虚拟机,如图所示

  1. 克隆之后需要更改网卡选项,ip,mac地址,uuid

  2. 重启网卡:
  3. 为了方便使用,操作时使用的root账户

  • 设置机器名称

  1. 再使用hostname命令,观察是否更改

    类似的,更改其他三台机器hdp-02、hdp-03、hdp-04。

  • 在任意一台机器Centos7上修改域名映射

    1. vi /etc/hosts
    2. 修改如下
    3. 使用scp命令发送其他克隆机上    scp /etc/hosts 192.168.126.124:/etc/

  • 给四台机器生成密钥文件

  1.  确认生成。
  2. 把每一台机器的密钥都发送到hdp-01上(包括自己)
  3. 将所有密钥都复制到每一台机器上
  • 在每一台机器上测试

  1. 无需密码则成功,保证四台机器之间可以免密登录
  • 安装Hadoop

  1. 在usr目录下创建Hadoop目录,以保证Hadoop生态圈在该目录下。
  2. 使用xsell+xFTP传输文
  3. 解压缩Hadoop

  • 配置java与hadoop环境变量

 export JAVA_HOME=/usr/jdk/jdk1..0_131
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH export HADOOP_HOME=/usr/hadoop/hadoop-3.1./
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

注意:以上四台机器都需要配置环境变量

  • 修改etc/hadoop中的配置文件

    注:除了个别提示,其余文件只用修改hdp-01中的即可

  1. 修改core-site.xml

     <configuration>
    <property>
    <name>fs.defaultFS</name>
    <!-- 注意别的slave机需要识别master主机名,否则将不能与主机hdp-01沟通 -->
    <value>hdfs://hdp-01:9000</value>
    </property>
    <property>
    <name>hadoop.tmp.dir</name>
    <!-- 以下为存放临时文件的路径 -->
    <value>/opt/hadoop/hadoop-3.1.1/data/tmp</value>
    </property>
    </configuration>
  2. 修改hadoop-env.sh

     export JAVA_HOME=/usr/jdk/jdk1.8.0_131

    注:该步骤需要四台都配置

  3. 修改hdfs-site.xml

     <configuration>
    <property>
    <name>dfs.namenode.http-address</name>
    <!-- hserver1 修改为你的机器名或者ip -->
    <value>hdp-01:50070</value>
    </property>
    <property>
    <name>dfs.namenode.name.dir</name>
    <value>/hadoop/name</value>
    </property>
    <property>
    <name>dfs.replication</name>
    <!-- 备份次数 -->
    <value>1</value>
    </property>
    <property>
    <name>dfs.datanode.data.dir</name>
    <value>/hadoop/data</value>
    </property> </configuration>
  4. 修改mapred-site.xml

     <configuration>
    <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property>
    </configuration>
  5. 修改 workers

     hdp-
    hdp-
    hdp-
    hdp-
  6. 修改yarn-site.xml文件

     <configuration>
    
     <!-- Site specific YARN configuration properties -->
    <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hdp-01</value>
    </property>
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>
    <property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    <property>
    <name>yarn.nodemanager.resource.cpu-vcores</name>
    <value>1</value>
    </property> </configuration>

    注:可以把整个/usr/hadoop目录所有文件复制到其余三个机器上 还是通过scp 嫌麻烦的可以先整一台机器,然后再克隆

  • 启动Hadoop

  1. 在namenode上初始化

    因为hdp-01是namenode,hdp-02、hdp=03和hdp-04都是datanode,所以只需要对hdp-01进行初始化操作,也就是对hdfs进行格式化。

    执行初始化脚本,也就是执行命令:hdfs namenode  -format

    等待一会后,不报错返回 “Exiting with status 0” 为成功,“Exiting with status 1”为失败

  2. 在namenode上执行启动命令

    直接执行start-all.sh 观察是否报错,如报错执行一下内容

    $ vim sbin/start-dfs.sh
    $ vim sbin/stop-dfs.sh

    在空白位置加入

     HDFS_DATANODE_USER=root
    
     HADOOP_SECURE_DN_USER=hdfs
    
     HDFS_NAMENODE_USER=root
    
     HDFS_SECONDARYNAMENODE_USER=root

    $ vim sbin/start-yarn.sh 
    $ vim sbin/stop-yarn.sh

    在空白位置加入

     YARN_RESOURCEMANAGER_USER=root
    
     HADOOP_SECURE_DN_USER=yarn
    
     YARN_NODEMANAGER_USER=root

    $ vim start-all.sh

    $ vim stop-all.sh

     TANODE_USER=root
    HDFS_DATANODE_SECURE_USER=hdfs
    HDFS_NAMENODE_USER=root
    HDFS_SECONDARYNAMENODE_USER=root
    YARN_RESOURCEMANAGER_USER=root
    HADOOP_SECURE_DN_USER=yarn
    YARN_NODEMANAGER_USER=root

    配置完毕后执行start-all.sh

    运行jps

    显示6个进程说明配置成功

  3. 去浏览器检测一下  http://hdp-01:50070
  4. 创建目录 上传不成功需要授权

    hdfs dfs -chmod -R a+wr hdfs://hdp-01:9000/
  5. //查看容量
    hadoop fs -df -h /

  6. 查看各个机器状态报告
    hadoop dfsadmin -report

Centos7 搭建 hadoop3.1.1 集群教程的更多相关文章

  1. CentOS7搭建Hadoop-3.3.0集群手记

    前提 这篇文章是基于Linux系统CentOS7搭建Hadoop-3.3.0分布式集群的详细手记. 基本概念 Hadoop中的HDFS和YARN都是主从架构,主从架构会有一主多从和多主多从两种架构,这 ...

  2. CentOS7搭建Hadoop2.8.0集群及基础操作与测试

    环境说明 示例环境 主机名 IP 角色 系统版本 数据目录 Hadoop版本 master 192.168.174.200 nameNode CentOS Linux release 7.4.1708 ...

  3. CentOS7搭建 Hadoop + HBase + Zookeeper集群

    摘要: 本文主要介绍搭建Hadoop.HBase.Zookeeper集群环境的搭建 一.基础环境准备 1.下载安装包(均使用当前最新的稳定版本,截止至2017年05月24日) 1)jdk-8u131 ...

  4. 18-基于CentOS7搭建RabbitMQ3.10.7集群镜像队列+HaProxy+Keepalived高可用架构

    集群架构 虚拟机规划 IP hostname 节点说明 端口 控制台地址 192.168.247.150 rabbitmq.master rabbitmq master 5672 http://192 ...

  5. CentOS7搭建Pacemaker高可用集群(1)

    Pacemaker是Red Hat High Availability Add-on的一部分.在RHEL上进行试用的最简单方法是从Scientific Linux 或CentOS存储库中进行安装 环境 ...

  6. Storm(二)CentOS7.5搭建Storm1.2.2集群

    一.Storm的下载 官网下载地址:http://storm.apache.org/downloads.html 这里下载最新的版本storm1.2.2,进入之后选择一个镜像下载 二.Storm伪分布 ...

  7. HBase(二)CentOS7.5搭建HBase1.2.6HA集群

    一.安装前提 1.HBase 依赖于 HDFS 做底层的数据存储 2.HBase 依赖于 MapReduce 做数据计算 3.HBase 依赖于 ZooKeeper 做服务协调 4.HBase源码是j ...

  8. centos7下安装zookeeper&zookeeper集群的搭建

    一.centos7下安装zookeeper 1.zookeeper 下载地址 https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ 2.安装步骤 ...

  9. CentOS7.5搭建spark2.3.1集群

    一 下载安装包 1 官方下载 官方下载地址:http://spark.apache.org/downloads.html 2  安装前提 Java8         安装成功 zookeeper  安 ...

随机推荐

  1. qt 创建线程

    http://www.cnblogs.com/xinxue/p/6840315.html Qt 之 QtConcurrent 本文以 Qt 中的 QtConcurrent::run() 函数为例,介绍 ...

  2. matlab练习程序(随机游走图像)

    随机游走类似布朗运动,就是随机的向各个方向走吧. 虽然代码没什么技术含量,不过产生的图像实在太漂亮了,所以还是贴上来吧. 产生的图像: matlab代码如下: clear all;close all; ...

  3. Azure 9 月新发布

    亲爱的小伙伴们, 我们很高兴向您宣布以下新功能与相关调整,欢迎关注与使用. 1. SQL 数据库弹性池  2. 存储指标更新 3. SQL 数据库 P15 4. Azure 高级存储 5. Wosig ...

  4. Flask入门邮件同步与异步发送(九)

    ​ 应用场景: 用户在注册或者密码丢失等过程中,账号绑定邮箱,用户在进行身份认证的过程中,电子邮箱确实是一种很常用的方式,Python中提供了smtplib可以实现发送电子邮件功能,Flask框架也有 ...

  5. Windows快捷操作技巧

    隐藏技能 在当前路径打开命令行 shift + 右键点击文件夹内的空白处,你会看到右键弹出菜单多了个选项 "在此处打开命令窗口",省去了打开命令行再cd到当前路径的麻烦. 快捷键 ...

  6. JUnit报错:java.lang.ClassNotFoundException: com.mogodb.test.test

    最近在使用JUnit做单元测试时,发现新写好的测试类运行总是出错,报找不到类异常. Class not found com.mogodb.test.test java.lang.ClassNotFou ...

  7. 用trie树实现输入提示功能,输入php函数名,提示php函数

    参照刘汝佳的trie树 结构体 #include "stdio.h" #include "stdlib.h" #include "string.h&q ...

  8. 细说new与malloc的10点区别(转载)

    原地址https://www.cnblogs.com/QG-whz/p/5140930.html#_label1_0 new与malloc的10点区别 1. 申请的内存所在位置 new操作符从自由存储 ...

  9. C/C++ memmove与memcpy的区别及实现

    1.与字符串函数strcpy区别: memcpy与memmove都是对内存进行拷贝可以拷贝任何内容,而strcpy仅是对字符串进行操作. memcpy与memmove拷贝多少是通过其第三个参数进行控制 ...

  10. ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(一) 整理基础数据

    最近碰巧发现一款比较好的Web即时通讯前端组件,layim,百度关键字即可,我下面要做的就是基于这个前端组件配合后台完成即时聊天等功能.当然用到的技术就是ASP.NET SingalR框架.本人不会c ...