最近搭建这个hadoop踩过不少坑,先是配置JDK搞错路径(普通用户和root用户下的路径不同),再就是hadoop版本不同导致的启动错误,网上找到的是hadoop2.*.*的版本,但是我安装的hadoop3.*.*的版本,环境配置有部分不同。希望大家不要重蹈覆辙!

下载hadoop安装包

地址:http://hadoop.apache.org/

安装配置

1.配置主机名:

  将文件中原有的主机名删除,添加你自己的主机名,保存并退出。

vi /etc/hostname

2.配置hosts文件:

  在文件最后增加机器的IP地址和刚才配好的主机名,保存并退出。

vi /etc/hosts

3.生成SSH密钥:执行以下命令,然后一直回车。来生成SSH密钥。生成的密钥文件会存放在/root/.ssh/目录下。前提是你用的root帐号登录并且生成的ssh密钥。

ssh-keygen

4.配置机器免密登录:执行以下命令、将刚才生成好的SSH密钥发送指定的机器上,来实现机器免密登录。

ssh-copy-id root@主机名

5.上传和解压下载好的Hadoop安装包,上传可以直接从xshell拖进目录

tar -zxvf hadoop-3.1.2.tar.gz(我这里写的是我的包名)

6.配置hadoop-env.sh文件:这个文件里写的是hadoop的环境变量,主要修改hadoop的JAVA_HOME、HADOOP_HOME和HADOOP_CONF_DIR 路径,修改完成后保存退出。

cd hadoop-3.1.2/etc/hadoop/

vi hadoop-env.sh

7.修改core-site.xml文件:使用vi core-site.xml打开文件,增加以下配置参数。

  1. <configuration>
  2. <!--用来指定 hdfs 的老大,namenode 的地址-->
  3. <property>
  4. <name>fs.defaultFS</name>
  5. <value>hdfs://主机名:9870</value>
  6. </property>
  7. <!--用来指定 hadoop 运行时产生临时文件的存放目录,如果不配置默认使用/tmp目录存在安全隐患 -->
  8. <property>
  9. <name>hadoop.tmp.dir</name>
  10. <value>hadoop的路径/tmp</value>
  11. </property>
  12. </configuration>

8.修改hdfs-site.xml:使用vi hdfs-site.xml打开文件,增加以下配置参数。

  1. <!--指定 hdfs 保存数据副本的数量,包括自己,默认值是 -->
  2. <!--如果是伪分布模式,此值是 -->
  3. <property>
  4. <name>dfs.replication</name>
  5. <value></value>
  6. </property>
  7. <!--设置 hdfs 的操作权限,false 表示任何用户都可以在 hdfs 上操作文件-->
  8. <property>
  9. <name>dfs.permissions</name>
  10. <value>false</value>
  11. </property>
  12.  
  13. <property>
  14. <name>dfs.http.address</name>
  15. <value>0.0.0.0:</value>
  16. </property>

9.修改mapred-site.xml:使用vi mapred-site.xml,增加以下配置参数。(hadoop3.*里面直接修改这个文件,在hadoop2.*里mapred-site.xml这个文件初始时是没有的,有的是模板文件,mapred-site.xml.template,所以需要拷贝一份,并重命名为 mapred-site.xml )

  1. <property>
  2. <!--指定 mapreduce 运行在 yarn 上-->
  3. <name>mapreduce.framework.name</name>
  4. <value>yarn</value>
  5. </property>

10.修改 yarn-site.xml:使用vi yarn-site.xml打开文件,增加以下配置参数。

  1. <property>
  2. <!--指定 yarn 的老大 resoucemanager 的地址-->
  3. <name>yarn.resourcemanager.hostname</name>
  4. <value>主机名</value>
  5. </property>
  6. <property>
  7. <!--NodeManager 获取数据的方式-->
  8. <name>yarn.nodemanager.aux-services</name>
  9. <value>mapreduce_shuffle</value>
  10. </property>

11.配置 slaves 文件:使用vi slaves打开文件,增加以下配置参数。

  1. hostname #写主机名

12.配置Hadoop的环境变量:使用vi /etc/profile打开文件,增加以下配置参数。保存退出后,使用source /etc/profile命令来使配置立即生效。

  1. #配置hadoop的环境变量
  2. export HADOOP_HOME=hadoop的路径
  3. export PATH=${PATH}:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin

13.格式化namenode:使用以下命令进行格式化hadoop的namenode。出现successfully代表成功。

  1. hadoop namenode -format

14.hadoop3.*版本的话,此时启动还会报错

是因为缺少用户定义造成的,所以在hadoop目录下分别编辑开始和关闭脚本 
vim sbin/start-dfs.sh 
vim sbin/stop-dfs.sh 
在靠上面的空白处添加内容:

  1. HDFS_DATANODE_USER=root
  2. HDFS_DATANODE_SECURE_USER=hdfs
  3. HDFS_NAMENODE_USER=root
  4. 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

15.启动hadoop:使用start-all.sh命令启动hadoop。启动完成后,通过jps命令查看进程节点。如果出现六个节点和地址说明成功启动。

centos7搭建hadoop3.*.*系列的更多相关文章

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

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

  2. Centos7 搭建 hadoop3.1.1 集群教程

    配置环境要求: Centos7 jdk 8 Vmware 14 pro hadoop 3.1.1 Hadoop下载 安装4台虚拟机,如图所示 克隆之后需要更改网卡选项,ip,mac地址,uuid 重启 ...

  3. centos7 搭建GlusterFS

    centos7 搭建GlusterFS 转载http://zhaijunming5.blog.51cto.com/10668883/1704535 实验需求:4台机器安装GlusterFS组成一个集群 ...

  4. Centos7搭建FTP服务器

    从网上搜索了好多搭建Centos7搭建服务器的教程都没有成功唯独这个,利用Windows资源管理器连接测试成功. 一.通过yum安装vsftpd yum install -y vsftpd 二.修改v ...

  5. CentOS7 搭建 SVN 服务器

    CentOS7 搭建 SVN 服务器 介绍SVN: SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上 ...

  6. centos7搭建ELK Cluster集群日志分析平台(四):Fliebeat-简单测试

    续之前安装好的ELK集群 各主机:es-1 ~ es-3 :192.168.1.21/22/23 logstash: 192.168.1.24 kibana: 192.168.1.25 测试机:cli ...

  7. centos7搭建ELK Cluster集群日志分析平台(三):Kibana

    续  centos7搭建ELK Cluster集群日志分析平台(一) 续  centos7搭建ELK Cluster集群日志分析平台(二) 已经安装好elasticsearch 5.4集群和logst ...

  8. centos7搭建ELK Cluster集群日志分析平台(二):Logstash

    续  centos7搭建ELK Cluster集群日志分析平台(一) 已经安装完Elasticsearch 5.4 集群. 安装Logstash步骤 . 安装Java 8 官方说明:需要安装Java ...

  9. centos7搭建ELK Cluster集群日志分析平台(一):Elasticsearch

    应用场景: ELK实际上是三个工具的集合,ElasticSearch + Logstash + Kibana,这三个工具组合形成了一套实用.易用的监控架构, 很多公司利用它来搭建可视化的海量日志分析平 ...

随机推荐

  1. MYSQL主从复制、主主复制、双主多从配置

    一.如何配置MYSQL的主从复制? 1. 两台数据库服务器,IP分别为 192.168.216.128 和 192.168.216.129,在服务器上装MYSQL(我的配置版本为5.5.56) 2. ...

  2. 没事别想不开做Halcon视觉工程师 halcon机器视觉如何学习?

    今天我们来听听看来自一个机器视觉工程师的唠叨和吐槽,在这之后,你还想学人工智能,还想学机器视觉?恭喜你,你对人工智能机器视觉是真爱了! 既然自己选择了这条路,那么无论前进路上有多坎坷,跪着也要走完. ...

  3. jsp的简介(1)

    一.什么是Java Server Pages? JSP全称Java Server Pages,是一种动态网页开发技术.它使用JSP标签在HTML网页中插入Java代码.标签通常以<%开头以%&g ...

  4. Pyinstaller 打包工具的使用!!!

    打包成一个文件夹: pyinstaller xxx.py 打包成单个文件: pyinstaller -F xxx.py 打包成不显示终端的单个文件: pyinstaller -F -w xxx.py ...

  5. 有容云-【原理】Docker存储驱动之AUFS

    编者按:今天聊一聊Docker的Image(镜像)与Container(容器)的存储以及存储驱动之AUFS.   Docker存储驱动简介 Docker内置多种存储驱动,每种存储驱动都是基于Linux ...

  6. 关于程序null值的见解

    今天遇到了一个问题,查询一条数据,返回用list接,发现少了2个值(ssh框架).执行SQL少的这两个字段的值为null.上图说明一下: 可以看到第一次查询没有角标38.39的值. 是同一条SQL,第 ...

  7. Idea搭建Spring+SpringMvc+Mybatis框架集成项目

    1.新建maven项目 2.创建多模块 每个模块配置如父模块一样,除视图层 (视图层配置) 最后 common-通过模块,不依赖任何模块,有各种项目所需要用到的工具类 model- POJO.VO.D ...

  8. 高性能MySQL之基础架构

    一.背景 为什么我们需要先学习MYSQL的基础架构先呢? 原因很简单,当我们需要了解一件事物的时候,我们只有站在宏观的层面,才能层层剥丝抽茧的去理解问题.举个例子,我们要看一个框架的源码,一开始就想进 ...

  9. 基于tp3.2的腾讯云短信验证码的实现

    新手小白在公司要完成短信验证码注册功能,最初由于没有经验,网上的教程又不是很全,便参考着官方API文档,进行开发 直接进入正题:使用composer下载腾讯云短信接口(记得添加依赖).在项目目录下新建 ...

  10. Java 8 Stream实践

    [**前面的话**]Java中的Stream于1.8版本析出,平时项目中也有用到,今天就系统的来实践一下.下面借用重庆力帆队伍中我个人比较喜欢的球员来操作一波,队员的年龄为了便于展示某些api做了调整 ...