环境准备

IP HOSTNAME SYSTEM
192.168.131.129 hadoop-master CentOS 7.6
192.168.131.135 hadoop-slave1 CentOS 7.6
192.168.131.137 hadoop-slave2 CentOS 7.6
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@localhost ~]# sestatus
SELinux status: disabled
[root@localhost ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
[root@localhost ~]# hostnamectl set-hostname --static hadoop-master
[root@localhost ~]# hostnamectl set-hostname --static hadoop-slave1
[root@localhost ~]# hostnamectl set-hostname --static hadoop-slave2

配置免密

[root@hadoop-master ~]# cat >> /etc/hosts <<EOF
192.168.131.129 hadoop-master
192.168.131.135 hadoop-slave1
192.168.131.137 hadoop-slave2
EOF
[root@hadoop-master ~]# ssh-keygen
[root@hadoop-master ~]# ssh-copy-id hadoop-slave1
[root@hadoop-master ~]# ssh-copy-id hadoop-slave2
[root@hadoop-master ~]# scp /etc/hosts hadoop-slave1:/etc/hosts
hosts 100% 248 151.9KB/s 00:00
[root@hadoop-master ~]# scp /etc/hosts hadoop-slave2:/etc/hosts
hosts 100% 248 220.9KB/s 00:00

配置java环境

[root@hadoop-master ~]# tar xf jdk-8u211-linux-x64.tar.gz -C /usr/local/
[root@hadoop-master ~]# ln -s /usr/local/jdk1.8.0_211/ /usr/local/java
[root@hadoop-master ~]# ll /usr/local/
total 0
drwxr-xr-x. 2 root root 6 Apr 11 2018 bin
drwxr-xr-x. 2 root root 6 Apr 11 2018 etc
drwxr-xr-x. 2 root root 6 Apr 11 2018 games
drwxr-xr-x. 2 root root 6 Apr 11 2018 include
lrwxrwxrwx 1 root root 24 Sep 7 14:49 java -> /usr/local/jdk1.8.0_211/
drwxr-xr-x 7 10 143 245 Apr 2 2019 jdk1.8.0_211
drwxr-xr-x. 2 root root 6 Apr 11 2018 lib
drwxr-xr-x. 2 root root 6 Apr 11 2018 lib64
drwxr-xr-x. 2 root root 6 Apr 11 2018 libexec
drwxr-xr-x. 2 root root 6 Apr 11 2018 sbin
drwxr-xr-x. 5 root root 49 Mar 30 2019 share
drwxr-xr-x. 2 root root 6 Apr 11 2018 src
[root@hadoop-master ~]# vim /etc/profile
export JAVA_HOME=/usr/local/java/
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
[root@hadoop-master ~]# source /etc/profile
[root@hadoop-master ~]# java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

部署hadoop

[root@hadoop-master ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz
[root@hadoop-master ~]# tar xf hadoop-2.7.7.tar.gz -C /opt/
[root@hadoop-master ~]# vim /etc/profile
export HADOOP_HOME=/opt/hadoop-2.7.7
export PATH=$HADOOP_HOME/bin:$PATH
[root@hadoop-master ~]# source /etc/profile
[root@hadoop-master ~]# cd /opt/hadoop-2.7.7/
[root@hadoop-master hadoop-2.7.7]# ls
bin etc include lib libexec LICENSE.txt NOTICE.txt README.txt sbin share
[root@hadoop-master hadoop-2.7.7]# cd etc/hadoop/
[root@hadoop-master hadoop]# ll
total 152
-rw-r--r-- 1 1000 ftp 4436 Jul 19 2018 capacity-scheduler.xml
-rw-r--r-- 1 1000 ftp 1335 Jul 19 2018 configuration.xsl
-rw-r--r-- 1 1000 ftp 318 Jul 19 2018 container-executor.cfg
-rw-r--r-- 1 1000 ftp 774 Jul 19 2018 core-site.xml
-rw-r--r-- 1 1000 ftp 3670 Jul 19 2018 hadoop-env.cmd
-rw-r--r-- 1 1000 ftp 4224 Jul 19 2018 hadoop-env.sh
-rw-r--r-- 1 1000 ftp 2598 Jul 19 2018 hadoop-metrics2.properties
-rw-r--r-- 1 1000 ftp 2490 Jul 19 2018 hadoop-metrics.properties
-rw-r--r-- 1 1000 ftp 9683 Jul 19 2018 hadoop-policy.xml
-rw-r--r-- 1 1000 ftp 775 Jul 19 2018 hdfs-site.xml
-rw-r--r-- 1 1000 ftp 1449 Jul 19 2018 httpfs-env.sh
-rw-r--r-- 1 1000 ftp 1657 Jul 19 2018 httpfs-log4j.properties
-rw-r--r-- 1 1000 ftp 21 Jul 19 2018 httpfs-signature.secret
-rw-r--r-- 1 1000 ftp 620 Jul 19 2018 httpfs-site.xml
-rw-r--r-- 1 1000 ftp 3518 Jul 19 2018 kms-acls.xml
-rw-r--r-- 1 1000 ftp 1527 Jul 19 2018 kms-env.sh
-rw-r--r-- 1 1000 ftp 1631 Jul 19 2018 kms-log4j.properties
-rw-r--r-- 1 1000 ftp 5540 Jul 19 2018 kms-site.xml
-rw-r--r-- 1 1000 ftp 11801 Jul 19 2018 log4j.properties
-rw-r--r-- 1 1000 ftp 951 Jul 19 2018 mapred-env.cmd
-rw-r--r-- 1 1000 ftp 1383 Jul 19 2018 mapred-env.sh
-rw-r--r-- 1 1000 ftp 4113 Jul 19 2018 mapred-queues.xml.template
-rw-r--r-- 1 1000 ftp 758 Jul 19 2018 mapred-site.xml.template
-rw-r--r-- 1 1000 ftp 10 Jul 19 2018 slaves
-rw-r--r-- 1 1000 ftp 2316 Jul 19 2018 ssl-client.xml.example
-rw-r--r-- 1 1000 ftp 2697 Jul 19 2018 ssl-server.xml.example
-rw-r--r-- 1 1000 ftp 2250 Jul 19 2018 yarn-env.cmd
-rw-r--r-- 1 1000 ftp 4567 Jul 19 2018 yarn-env.sh
-rw-r--r-- 1 1000 ftp 690 Jul 19 2018 yarn-site.xml

修改hadoop-env.sh和yarn-env.sh中JAVA_HOME参数

[root@hadoop-master hadoop]# sed -i 's#export JAVA_HOME=.*#export JAVA_HOME='/usr/local/java'#g' hadoop-env.sh
[root@hadoop-master hadoop]# sed -i 's#.*export JAVA_HOME=.*#export JAVA_HOME='/usr/local/java'#g' yarn-env.sh
[root@hadoop-master hadoop]# grep "export JAVA_HOME" hadoop-env.sh
export JAVA_HOME=/usr/local/java
[root@hadoop-master hadoop]# grep "export JAVA_HOME" yarn-env.sh
export JAVA_HOME=/usr/local/java

编辑core-site.xml

[root@hadoop-master hadoop]# vim core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.131.129:9000</value>
</property> <property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
</property>
</configuration>

编辑hdfs-site.xml

[root@hadoop-master hadoop]# vim hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property> <property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/hadoop/dfs/name</value>
</property> <property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/hadoop/dfs/data</value>
</property>
</configuration>

编辑mapred-site.xml

[root@hadoop-master hadoop]# cp mapred-site.xml.template mapred-site.xml
[root@hadoop-master hadoop]# vim mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property> <property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.131.129:10020</value>
</property> <property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>192.168.131.129:19888</value>
</property>
</configuration>

编辑yarn-site.xml

[root@hadoop-master hadoop]# vim yarn-site.xml
<configuration> <!-- Site specific YARN configuration properties -->
<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.resourcemanager.address</name>
<value>192.168.131.129:8032</value>
</property> <property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.131.129:8030</value>
</property> <property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.131.129:8031</value>
</property> <property>
<name>yarn.resourcemanager.admin.address</name>
<value>192.168.131.129:8033</value>
</property> <property>
<name>yarn.resourcemanager.webapp.address</name>
<value>192.168.131.129:8088</value>
</property>
</configuration>

编辑slaves

[root@hadoop-master hadoop]# vim slaves
hadoop-slave1
hadoop-slave2

把配置分发到各个节点

[root@hadoop-master opt]# scp -r hadoop-2.7.7/ hadoop-slave1:/opt/
[root@hadoop-master opt]# scp -r hadoop-2.7.7/ hadoop-slave2:/opt/

在主节点启动hadoop

初始化namenode
[root@hadoop-master ~]# hdfs namenode -format
启动HDFS
[root@hadoop-master ~]# cd /opt/hadoop-2.7.7/sbin/
[root@hadoop-master sbin]# ./start-dfs.sh
启动YARN
[root@hadoop-master sbin]# ./start-yarn.sh

测试

浏览器访问
YARN WEB地址:http://192.168.131.129:8088/
HDFS WEB地址:http://192.168.131.129:50070/

Hadoop分布式集群部署的更多相关文章

  1. Hadoop分布式集群部署(单namenode节点)

    Hadoop分布式集群部署 系统系统环境: OS: CentOS 6.8 内存:2G CPU:1核 Software:jdk-8u151-linux-x64.rpm hadoop-2.7.4.tar. ...

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

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

  3. hadoop分布式集群部署①

     Linux系统的安装和配置.(在VM虚拟机上) 一:安装虚拟机VMware Workstation 14 Pro 以上,虚拟机软件安装完成. 二:创建虚拟机. 三:安装CentOS系统 (1)上面步 ...

  4. 大数据系列之Hadoop分布式集群部署

    本节目的:搭建Hadoop分布式集群环境 环境准备 LZ用OS X系统 ,安装两台Linux虚拟机,Linux系统用的是CentOS6.5:Master Ip:10.211.55.3 ,Slave ...

  5. Hadoop实战:Hadoop分布式集群部署(一)

    一.系统参数优化配置 1.1 系统内核参数优化配置 修改文件/etc/sysctl.conf,使用sysctl -p命令即时生效.   1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

  6. 一脸懵逼学习Hadoop分布式集群HA模式部署(七台机器跑集群)

    1)集群规划:主机名        IP      安装的软件                     运行的进程master    192.168.199.130   jdk.hadoop      ...

  7. Hadoop(HA)分布式集群部署

    Hadoop(HA)分布式集群部署和单节点namenode部署其实一样,只是配置文件的不同罢了. 这篇就讲解hadoop双namenode的部署,实现高可用. 系统环境: OS: CentOS 6.8 ...

  8. 超快速使用docker在本地搭建hadoop分布式集群

    超快速使用docker在本地搭建hadoop分布式集群 超快速使用docker在本地搭建hadoop分布式集群 学习hadoop集群环境搭建是hadoop入门的必经之路.搭建分布式集群通常有两个办法: ...

  9. 基于Hadoop分布式集群YARN模式下的TensorFlowOnSpark平台搭建

    1. 介绍 在过去几年中,神经网络已经有了很壮观的进展,现在他们几乎已经是图像识别和自动翻译领域中最强者[1].为了从海量数据中获得洞察力,需要部署分布式深度学习.现有的DL框架通常需要为深度学习设置 ...

随机推荐

  1. Vue养成之路

    目录 Vue系列教程(一)之初识Vue Vue系列教程(二)之Vue进阶 Vue系列继承(三)之Vue-cli脚手架的使用 ... 更新中 基础入门 Vue基础(一)之es6 Vue基础(二)之箭头函 ...

  2. py3nvml实现GPU相关信息读取

    技术背景 随着模型运算量的增长和硬件技术的发展,使用GPU来完成各种任务的计算已经渐渐成为算法实现的主流手段.而对于运行期间的一些GPU的占用,比如每一步的显存使用率等诸如此类的信息,就需要一些比较细 ...

  3. [论文翻译] 分布式训练 Parameter Sharding 之 Google Weight Sharding

    [论文翻译] 分布式训练 Parameter sharding 之 Google Weight Sharding 目录 [论文翻译] 分布式训练 Parameter sharding 之 Google ...

  4. day 17 i++优先级大于 *i

    (1).有下列定义语句,int *p[4];以下选项中与此语句等价的是[C] (A).int p[4]; (B).int **P; (C).int *(p[4]); (D).int (*p)[4]; ...

  5. 《剑指offer》面试题18. 删除链表的节点

    问题描述 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点. 返回删除后的链表的头节点. 注意:此题对比原题有改动 示例 1: 输入: head = [4,5,1,9], val = ...

  6. [开发笔记usbTOcan]需求获取与系统需求分析

    简介 一直一以来都是站在实现某个模块功能的角度去做软件开发,没有尝试过站在系统的层面去做开发.最近正好不忙,觉得是时候以系统工程师的视角,去开发一个完整的系统.接下来的几篇文章,我会记录一个USB转C ...

  7. 【小记录】cv::cuda::Stream中取出cudaStream_t并用于核函数的计算

    以下是找到的代码 1 cv::cuda::Stream stream; 2 cudaStream_t s = cv::cuda::StreamAccessor::getStream(stream); ...

  8. golang中通过bufio和os包读取终端中输入的一行带空格的数据

    1. 如果读取不带空格的数据可以使用fmt.Scan或fmt.Scanln读取一个或多个值,但是不能读取带空格的数据,可以使用bufio和os两个包结合 package main import ( & ...

  9. ansible roles实践——服务器初始化

    1.服务器初始化可以做哪些工作 关闭selinux ntp同步时间 修改dns为自建dns 配置ssh互信 修改yum源 设置主机名 内核参数优化 安装jdk 2.roles编写

  10. 感恩陪伴 HelloGitHub 定制的红包封面

    距离放假越来越近了,我们更文的频率也越来越低了. 先别打!听我解释... 我真没偷懒,我是去研究今年的「微信红包封面」玩法了. 这不去年,我们制作的 HelloGitHub 专属红包封面,很多粉丝都说 ...