Hadoop运行集群搭建

虚拟机环境准备

安装虚拟机及基本配置

  • IP地址192.168.10.100、主机名称hadoop100,内存4G、硬盘50G

  • 测试下虚拟机联网情况

    1 [root@hadoop100 ~]# ping www.baidu.com
    2 PING www.baidu.com (14.215.177.39) 56(84) bytes of data.
    3 64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=1
    4 ttl=128 time=8.60 ms
    5 64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=2
    6 ttl=128 time=7.72 ms
  • 安装 epel-release

    注:Extra Packages for Enterprise Linux 是为“红帽系”的操作系统提供额外的软件包, 适用于 RHEL、CentOS 和 Scientific Linux。相当于是一个软件仓库,大多数 rpm 包在官方 repository 中是找不到的)

    [root@hadoop100 ~]# yum install -y epel-release
  • 注意:如果 Linux 安装的是最小系统版,还需要安装如下工具;如果安装的是 Linux 桌面标准版,不需要执行如下操作

    net-tool:工具包集合,包含 ifconfig 等命令

    [root@hadoop100 ~]# yum install -y net-tools

    vim:编辑器

    [root@hadoop100 ~]# yum install -y vim

关闭防火墙

  • 关闭防火墙开机自启

[root@hadoop100 ~]# systemctl stop firewalld 

[root@hadoop100 ~]# systemctl disable firewalld.service
  • 注意:在企业开发时,通常单个服务器的防火墙时关闭的。公司整体对外会设置非常安全的防火墙

创建用户snoopy,并修改用户密码

[root@hadoop100 ~]# useradd snoopy
[root@hadoop100 ~]# passwd snoopy

配置 snoopy 用户具有 root 权限

  • 方便后期加 sudo 执行 root 权限的命令

    [root@hadoop100 ~]# vim /etc/sudoers
  • 修改/etc/sudoers 文件,在%wheel 这行下面添加一行,如下所示:

    ## Allow root to run any commands anywhere
    root ALL=(ALL) ALL
    ## Allows people in group wheel to run all commands
    %wheel ALL=(ALL) ALL
    snoopy ALL=(ALL) NOPASSWD:ALL
  • 注意:snoopy这一行不要直接放到 root 行下面,因为所有用户都属于 wheel 组,你先 配置了 atguigu 具有免密功能,但是程序执行到%wheel 行时,该功能又被覆盖回需要 密码。所以 snoopy 要放到%wheel 这行下面。

在/opt 目录下创建文件夹

  • 并修改所属主和所属组

  • 在/opt 目录下创建 module、software 文件夹

    [root@hadoop100 ~]# mkdir /opt/module
    [root@hadoop100 ~]# mkdir /opt/software
  • 修改 module、software 文件夹的所有者和所属组均为snoopy 用户

    [root@hadoop100 ~]# chown snoopy:snoopy /opt/module
    [root@hadoop100 ~]# chown snoopy:snoopy /opt/softwar
  • 查看 module、software 文件夹的所有者和所属组

    [root@hadoop100 ~]# cd /opt/
    [root@hadoop100 opt]# ll
    总用量 12
    drwxr-xr-x. 2 atguigu atguigu 4096 5 月 28 17:18 module
    drwxr-xr-x. 2 root root 4096 9 月 7 2017 rh
    drwxr-xr-x. 2 atguigu atguigu 4096 5 月 28 17:18 software

卸载自带的jdk

  • 如果虚拟机是最小化安装不需要这一步

[root@hadoop100 ~]# rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps 
  • rpm -qa:查询所安装的所有rpm软件包

  • grep -i:忽略大小写

  • xargs -n1:表示每次只传递一个参数

  • rpm -e –nodeps:强制卸载软件

重启虚拟机

[root@hadoop100 ~]# reboot

克隆虚拟机

开始克隆

  • 克隆三台虚拟机Hadoop102、Hadoop103、Hadoop104

  • 克隆时,要先关闭hadoop100

修改克隆机IP

修改虚拟机的静态IP

[root@hadoop100 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

改为

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="f1b4f112-6706-4d05-b097-d60abe63fea0"
DEVICE="ens33"
ONBOOT="yes"

IPADDR="192.168.153.100"
GATEWAY="192.168.153.2"
DNS1="192.168.153.2"

查看Linux虚拟机的虚拟网络编辑器

  • 编辑->虚拟网络编辑器->VMnet8

查看Windows系统适配器

  • VMware Network Adapter VMnet8的IP地址

  • 保证Linux系统ifcfg-ens33文件中IP地址、虚拟网络编辑器地址和Windows系统VM8网络IP地址相同

修改克隆机主机名

修改主机名称

[root@hadoop100 ~]# vim /etc/hostname

hadoop102

配置Linux克隆机主机名称映射hosts文件

[root@hadoop100 ~]# vim /etc/hosts
添加内容
1 192.168.10.100 hadoop100
2 192.168.10.101 hadoop101
3 192.168.10.102 hadoop102
4 192.168.10.103 hadoop103
5 192.168.10.104 hadoop104

重启克隆机hadoop102

[root@hadoop100 ~]# reboot

修改windows的主机映射文件(hosts文件)

window7操作系统

  • 进入 C:\Windows\System32\drivers\etc 路径

  • 打开hosts文件并添加如下内容,然后保存

192.168.10.100 hadoop100
192.168.10.101 hadoop101
192.168.10.102 hadoop102
192.168.10.103 hadoop103
192.168.10.104 hadoop104

window10操作系统

  • 先拷贝出来,修改保存以后,再覆盖即可

  • 进入 C:\Windows\System32\drivers\etc 路径

  • 拷贝 hosts 文件到桌面

  • 打开桌面 hosts 文件并添加如下内容

1 192.168.10.100 hadoop100
2 192.168.10.101 hadoop101
3 192.168.10.102 hadoop102
4 192.168.10.103 hadoop103
5 192.168.10.104 hadoop104
  • 将桌面 hosts 文件覆盖 C:\Windows\System32\drivers\etc 路径 hosts 文件

安装JDK和Hadoop

卸载现有的JDK

  • 安装JDK前,一定确保提前删除了虚拟机自带的JDK。

    rpm -qa | grep -i java | xargs -n1

传输JDK和Hadoop

  • 利用XShell传输工具将JDK和Hadoop的包导入opt目录下的module文件夹下

  • 查看是否导入成功

解压JDK和Hadoop

  • 解压JDK到/opt/software目录下

[root@hadoop102 software]$ tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/software/ 
  • 解压Hadoop到/opt/software下面

[root@hadoop102 module]$ tar -zxvf hadoop-3.1.3.tar.gz -C /opt/software/ 

配置JDK和Hadoop环境变量

  • 新建/etc/profile.d/my_file.sh文件

[root@hadoop102 ~]$ sudo vim /etc/profile.d/my_file.sh
  • 添加内容

    #JAVA_HOME
    export JAVA_HOME=/opt/software/jdk1.8.0_212
    export PATH=$PATH:$JAVA_HOME/bin

    #HADOOP_HOME
    export HADOOP_HOME=/opt/software/hadoop-3.1.3
    export PATH=$PATH:$HADOOP_HOME/bin
    export PATH=$PATH:$HADOOP_HOME/sbin
  • 保存后退出

    :wq

  • source一下/etc/profile文件,让新的环境变量PATH生效

[root@hadoop102 ~]$ source /etc/profile
  • 测试JDK是否成功

    [root@hadoop102 ~]$ java -version
  • 测试Hadoop是否安装成功

    [root@hadoop102 hadoop-3.1.3]$ hadoop version
  • 重启(java -version可以用就不用重启)

    [root@hadoop102 ~]$ reboot

Hadoop目录

Hadoop目录结构

[root@hadoop102 hadoop-3.1.3]$ 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,mapred)进行操作的脚本

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

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

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

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

Hadoop运行集群搭建的更多相关文章

  1. Hadoop+HBase 集群搭建

    Hadoop+HBase 集群搭建 1. 环境准备 说明:本次集群搭建使用系统版本Centos 7.5 ,软件版本 V3.1.1. 1.1 配置说明 本次集群搭建共三台机器,具体说明下: 主机名 IP ...

  2. hadoop+spark集群搭建入门

    忽略元数据末尾 回到原数据开始处 Hadoop+spark集群搭建 说明: 本文档主要讲述hadoop+spark的集群搭建,linux环境是centos,本文档集群搭建使用两个节点作为集群环境:一个 ...

  3. hadoop ha集群搭建

    集群配置: jdk1.8.0_161 hadoop-2.6.1 zookeeper-3.4.8 linux系统环境:Centos6.5 3台主机:master.slave01.slave02 Hado ...

  4. Hadoop分布式集群搭建

    layout: "post" title: "Hadoop分布式集群搭建" date: "2017-08-17 10:23" catalog ...

  5. Hadoop分布式集群搭建hadoop2.6+Ubuntu16.04

    前段时间搭建Hadoop分布式集群,踩了不少坑,网上很多资料都写得不够详细,对于新手来说搭建起来会遇到很多问题.以下是自己根据搭建Hadoop分布式集群的经验希望给新手一些帮助.当然,建议先把HDFS ...

  6. hadoop分布式集群搭建(2.9.1)

    1.环境 操作系统:ubuntu16 jdk:1.8 hadoop:2.9.1 机器:3台,master:192.168.199.88,node1:192.168.199.89,node2:192.1 ...

  7. hadoop HA集群搭建步骤

      NameNode DataNode Zookeeper ZKFC JournalNode ResourceManager NodeManager node1 √   √ √   √   node2 ...

  8. Hadoop分布式集群搭建_1

    Hadoop是一个开源的分布式系统框架 一.集群准备 1. 三台虚拟机,操作系统Centos7,三台主机名分别为k1,k2,k3,NAT模式 2.节点分布 k1: NameNode DataNode ...

  9. hadoop docker集群搭建

    获取镜像 #本机内 docker pull ubuntu:16.04 编排镜像 启动一个容器 #本机内 docker run -i -t --name master ubuntu:16.04 在容器内 ...

  10. hadoop分布式集群搭建前期准备(centos7)

    那玩大数据,想做个大数据的从业者,必须了解在生产环境下搭建集群哇?由于hadoop是apache上的开源项目,所以版本有些混乱,听说都在用Cloudera的cdh5来弄?后续研究这个吧,就算这样搭建不 ...

随机推荐

  1. js 字符串和16进制的互相转换(转)

    字符串转16进制 function strToHexCharCode(str) { if(str === "") return ""; var hexCharC ...

  2. ffmpeg gcc is unable to create an executable file C compiler test failed

    ffmpeg 编译出现 #sudo ./configure --enable-shared --prefix=/usr/local/ffmpeg gcc is unable to create an ...

  3. modbus通讯协议详解

    1.Modbus 协议简介  Modbus协议是一种已广泛应用于当今工业控制领域的通用通讯协议.通过此协议,控制器相互之间.或控制器经由网络(如以太网)可以和其它设备之间进行通信.Modbus协议使用 ...

  4. 关于前端JS的一些常用方法和知识

    关于前端数据存储目前只解释有三种:cookie.localStorage.sessionStorage cookie解释:只针对当前session(会话)有效,关闭标签页即失效使用: 1 var ck ...

  5. Activiti7开发(二)-流程定义

    目录 1.部署流程模型为流程定义 2.挂起/激活流程定义 3.删除流程定义 4.查询流程定义 5.上传并部署流程定义 6.查看流程模型 1.部署流程模型为流程定义 @PostMapping(value ...

  6. 自己动手从零写桌面操作系统GrapeOS系列教程——16.封装打印字符串函数

    学习操作系统原理最好的方法是自己写一个简单的操作系统. 在上一讲中我们向屏幕打印字符串"GrapeOS"用了十几行汇编代码,如果要输出的字符比较多,这种方法太繁琐了.本讲我们将打印 ...

  7. yhm的丘赛题解(其中的一些简单题)

    有选择地做了丘赛里的一些简单题,不定期更新     目录 [简单组合数学]2011丘赛个人[应数计算数学概统]第3题题解 [拉格朗日多项式插值]2011丘赛个人[应数计算数学概统]第2题题解 [概率] ...

  8. 5分钟带你彻底搞懂async底层实现原理!

    ES2017 标准引入了 async 函数,使得异步操作变得更加方便. async 函数是什么?一句话,它就是 Generator 函数的语法糖.研究 async 的原理,就必须先弄清楚 Genera ...

  9. 基于swiper.js的异型轮播

    基于原生swiper.js的异型轮播 <div class="swiper-container" > <div class="swiper-wrappe ...

  10. 升级pip报错ERROR: Could not install packages due to an OSError: [WinError 5]

    今天在安装python第三方库时,提示pip需要升级,没有多想直接升级,结果报错: 1 ERROR: Could not install packages due to an OSError: [Wi ...