一、硬件及环境

服务器:3台,IP分别为:192.168.100.105、192.168.100.110、192.168.100.115

操作系统:Ubuntu Server 18.04

JDK:1.8.0

Hadoop:3.3.1

二、系统配置

* 3台机都要执行以下操作

1.登录root账号

su

2.配置时区

https://www.cnblogs.com/live41/p/14237170.html

* 如果部署过程遇到一些莫名其妙的错误,或者日志的时间是错的,先用date -R检查一下时区是否正确。

3.配置hosts

vim /etc/hosts

添加内容

192.168.100.105 c1
192.168.100.110 c2
192.168.100.115 c3

4.关闭防火墙

ufw disable

5.安装ssh

apt install ssh

6.设置免密登录

https://www.cnblogs.com/live41/p/14236950.html

* 见第二点的第5点

7.安装JDK

https://www.cnblogs.com/live41/p/14235891.html

三、部署Hadoop

* 3台机都要执行以下操作

1.下载Hadoop安装包

https://downloads.apache.org/hadoop/common/

2.解压安装包

这里假定下载的是hadoop-3.3.1.tar.gz文件,解压到/usr/bin/目录

tar -xvf hadoop-3.3.1.tar.gz -C /usr/local/

把目录名也改一下

mv /usr/local/hadoop-3.3.1 /usr/local/hadoop

3.创建目录

cd /usr/local/hadoop
sudo mkdir hdfs
sudo mkdir hdfs/datanode
sudo mkdir hdfs/namenode
sudo mkdir hadoop/logs
sudo mkdir yarn
sudo mkdir yarn/logs

4.配置环境变量

vim ~/.bashrc

添加内容

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root

更新环境变量

source ~/.bashrc

测试

hadoop version

5.修改Hadoop的配置

(1) 进入Hadoop的配置文件目录

cd $HADOOP_CONF_DIR

或cd /usr/local/hadoop/etc/hadoop/

(2) 编辑hadoop-env.sh文件

vim hadoop-env.sh

查看以下内容,如果没有就加上,如果已有就不用改。

export JAVA_HOME=/usr/bin/jdk1.8.0
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export HADOOP_LOG_DIR=/usr/local/hadoop/logs

(3) 编辑core-site.xml

vim core-site.xml

在c1机添加以下内容:

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://c1:9820/</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
</configuration>

在c2、c3机添加以下内容:

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://c1:9820/</value>
<description>NameNode URI</description>
</property>
</configuration>

(4) 编辑hdfs-site.xml文件

vim hdfs-site.xml

在c1机添加以下内容:

<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///usr/local/hadoop/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///usr/local/hadoop/hdfs/datanode</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.datanode.use.datanode.hostname</name>
<value>false</value>
</property>
<property>
<name>dfs.namenode.datanode.registration.ip-hostname-check</name>
<value>false</value>
</property>
</configuration>

在c2、c3添加以下内容:

<configuration>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///usr/local/hadoop/hdfs/datanode</value>
<description>DataNode directory</description>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.datanode.use.datanode.hostname</name>
<value>false</value>
</property>
</configuration>

(4) 编辑yarn-site.xml文件

vim yarn-site.xml

在c1机添加以下内容:

<configuration>
<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.local-dirs</name>
<value>file:///usr/local/hadoop/yarn/local</value>
</property>
<property>
<name>yarn.nodemanager.log-dirs</name>
<value>file:///usr/local/hadoop/yarn/logs</value>
</property>
</configuration>

在c2、c3机添加以下内容:

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

(5) 编辑mapred-site.xml文件

vim mapred-site.xml

在c1机添加以下内容:

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>c1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>c1:19888</value>
</property>
<property>
<name>mapreduce.jobhistory.intermediate-done-dir</name>
<value>/mr-history/tmp</value>
</property>
<property>
<name>mapreduce.jobhistory.done-dir</name>
<value>/mr-history/done</value>
</property>
</configuration>

在c2、c3机添加以下内容:

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

(6) 修改workers文件(旧版的是slaves文件)

vim workers

添加以下内容:

c1
c2
c3

6.修改文件权限

chmod 777 /usr/local/hadoop/hdfs
chmod 777 /usr/local/hadoop/logs

7.格式化hdfs

hdfs namenode -format

四、启动和停止Hadoop

1.启动

在c1机执行:

start-dfs.sh
start-yarn.sh

2.检查是否运行正常

每台机执行:

jps

3.创建目录和查看目录

在c1机执行:

hdfs dfs -mkdir /Clotho
hdfs dfs -ls /

4.登录管理界面

http://c1:9870/  或 http://192.168.100.105:9870/

5.停止

在c1机执行:

stop-yarn.sh
stop-dfs.sh

附:更简单和安全的操作

https://tecadmin.net/install-hadoop-on-ubuntu-20-04/

http://www.mtitek.com/tutorials/bigdata/hadoop/install.php

以上2篇新建了hadoop用户来运行,且并没有关闭防火墙,只是开通了必须的端口。

Hadoop的安装与部署的更多相关文章

  1. Spark入门实战系列--2.Spark编译与部署(中)--Hadoop编译安装

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .编译Hadooop 1.1 搭建环境 1.1.1 安装并设置maven 1. 下载mave ...

  2. Hadoop 2.2.0部署安装(笔记,单机安装)

    SSH无密安装与配置 具体配置步骤: ◎ 在root根目录下创建.ssh目录 (必须root用户登录) cd /root & mkdir .ssh chmod 700 .ssh & c ...

  3. Hadoop教程(五)Hadoop分布式集群部署安装

    Hadoop教程(五)Hadoop分布式集群部署安装 1 Hadoop分布式集群部署安装 在hadoop2.0中通常由两个NameNode组成,一个处于active状态,还有一个处于standby状态 ...

  4. 利用Ambari平台安装与部署Hadoop

    * 本篇是利用Ambari平台安装与部署Hadoop,如果需要原生部署Hadoop,请点击以下地址: https://www.cnblogs.com/live41/p/15467263.html 一. ...

  5. Hadoop学习---安装部署

    hadoop框架 Hadoop使用主/从(Master/Slave)架构,主要角色有NameNode,DataNode,secondary NameNode,JobTracker,TaskTracke ...

  6. Hive安装与部署集成mysql

    前提条件: 1.一台配置好hadoop环境的虚拟机.hadoop环境搭建教程:稍后补充 2.存在hadoop账户.不存在的可以新建hadoop账户安装配置hadoop. 安装教程: 一.Mysql安装 ...

  7. Hadoop在win7下部署的问题

    问题: 为了测试方便所以在win7下部署了伪分布式hadoop运行环境,但是部署结束后在命令行运行hadoop命令创建一个用户文件目录时出现了一下情况: 系统找不到指定的批标签- make_comma ...

  8. hadoop分布式安装教程(转)

    from:http://www.cnblogs.com/xia520pi/archive/2012/05/16/2503949.html 1.集群部署介绍 1.1 Hadoop简介 Hadoop是Ap ...

  9. Hadoop伪分布式模式部署

    Hadoop的安装有三种执行模式: 单机模式(Local (Standalone) Mode):Hadoop的默认模式,0配置.Hadoop执行在一个Java进程中.使用本地文件系统.不使用HDFS, ...

随机推荐

  1. 学习PHP中的国际化功能来查看货币及日期信息

    做为一门在世界范围内广泛使用的编程语言,国际化能力往往是衡量一个编程语言是否能够大范围流行的重要内容.特别是对于 PHP 这种以 Web 页面编程为主战场的语言来说,国际化能力更是重中之重.在 PHP ...

  2. vue报错 Uncaught TypeError: Cannot read property of null

    有可能是点击a标签,但是a标签有click事件,未阻止默认事件导致报错,开始都看不出来是什么错误

  3. P1074 [NOIP2009 提高组] 靶形数独

    #include<bits/stdc++.h> using namespace std; const int N=10; int a[N][N],ans[N][N],vis[3][N][N ...

  4. httprunner环境准备:Pycharm创建httprunner项目

    使用命令行方式,可能会不大习惯,下面来一个通过Pycharm来创建httprunner项目. 创建虚拟环境. 安装httprunner 创建脚手架目录:httprunner startproject ...

  5. openldap 双主模式部署

    规划两台机器 系统版本centos7.5 master1上部署ldap: 一.安装启动openldap软件 yum -y install openldap compat-openldap openld ...

  6. 鸿蒙内核源码分析(内存汇编篇) | 谁是虚拟内存实现的基础 | 百篇博客分析OpenHarmony源码 | v14.14

    百篇博客系列篇.本篇为: v14.xx 鸿蒙内核源码分析(内存汇编篇) | 谁是虚拟内存实现的基础 | 51.c.h .o 内存管理相关篇为: v11.xx 鸿蒙内核源码分析(内存分配篇) | 内存有 ...

  7. (目录)Fortran学习笔记:开坑!!!

    前言:因为某些原因,需要使用Fortran编写程序,记录下Fortran语法学习过程中的部分笔记.在此开坑记录,立下Flag,"希望年末能够更新完" Fortran 学习笔记 陈橙 ...

  8. python paramiko实现ssh上传下载执行命令

    paramiko ssh上传下载执行命令 序言 最近项目经常需要动态在跳板机上登录服务器进行部署环境,且服务器比较多,每次完成所有服务器到环境部署执行耗费大量时间.为了解决这个问题,根据所学的执行实现 ...

  9. 使用 PyTorch Lightning 将深度学习管道速度提高 10 倍

    ​  前言  本文介绍了如何使用 PyTorch Lightning 构建高效且快速的深度学习管道,主要包括有为什么优化深度学习管道很重要.使用 PyTorch Lightning 加快实验周期的六种 ...

  10. java课堂测试3第一部分(未完善)

    package test3;import java.util.*; public class Grade2 { static String[][] mis=new String[500][4]; // ...