栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Hadoop入门教程

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Hadoop入门教程

目录

Summary

环境准备


Summary

本教程使用VMware配置三台虚拟机进行演示。采用SSH方式连接虚拟机进行操作。

虚拟机系统:CentOS-7-x86_64-DVD-1804

SSH工具:FinalShell 3.9.4

JDK:jdk-8u212-linux-x64

Hadoop版本:hadoop-3.1.3

环境准备

在VMware内创建三台CentOS7系统的虚拟机,分别命名为Hadoop102、Hadoop103、Hadoop104。

创建好后在Hadoop102内启动命令行,修改虚拟机的IP地址:

vim /etc/sysconfig/network-scripts/ifcfg-ens33

修改成

DEVICE="ens33"
TYPE="Ethernet"
ONBOOT="yes"
BOOTPROTO="static"
NAME="ens33"
IPADDR="192.168.10.102"
PREFIX=24
GATEWAY="192.168.10.2"
DNS1="192.168.10.2"

三台服务器名称分别为hadoop102、hadoop103、hadoop104,

三台的ip分别为192.168.10.102、192.168.10.103、192.168.10.104,

三台的网关ip分别为192.168.10.2、192.168.10.3、192.168.10.4。

安装FinalShell,ssh连接到三台服务器,将JDK导入到opt目录下面的software文件夹下面。在Linux系统下的opt目录中查看软件包是否导入成功

 ls /opt/software/

看到如下结果说明导入成功

jdk-8u212-linux-x64.tar.gz

创建module目录

mkdir opt/module

解压JDK到/opt/module目录下(进入JDK所在文件夹执行)

[root@hadoop102 software]# tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/

接着配置JDK环境变量

新建/etc/profile.d/my_env.sh文件

[root@hadoop102 software]# sudo vim /etc/profile.d/my_env.sh

添加如下内容

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

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

[root@hadoop102 software]# source /etc/profile

测试一下JDK是否安装成功

[root@hadoop102 software]# java -version

如果能看到以下结果,则代表Java安装成功

openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)

接下来安装Hadoop

用Finalshell将Hadoop安装包导入到opt目录下面的software文件夹里

进入到Hadoop安装包路径下,解压安装文件到/opt/module下面

tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/

打开/etc/profile.d/my_env.sh文件

sudo vim /etc/profile.d/my_env.sh

在my_env.sh文件末尾添加如下内容

#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

让修改后的文件生效

source /etc/profile

测试是否安装成功

hadoop version

看到如下内容表示成功

Hadoop 3.1.3

查看Hadoop的目录结构

[root@hadoop102 hadoop-3.1.3]# ll

可以看到如下内容

drwxr-xr-x. 2 lovxn lovxn    183 9月  11 2019 bin
drwxr-xr-x. 3 lovxn lovxn     20 9月  11 2019 etc
drwxr-xr-x. 2 lovxn lovxn    106 9月  11 2019 include
drwxr-xr-x. 3 lovxn lovxn     20 9月  11 2019 lib
drwxr-xr-x. 4 lovxn lovxn    288 9月  11 2019 libexec
-rw-rw-r--. 1 lovxn lovxn 147145 9月   4 2019 LICENSE.txt
-rw-rw-r--. 1 lovxn lovxn  21867 9月   4 2019 NOTICE.txt
-rw-rw-r--. 1 lovxn lovxn   1366 9月   4 2019 README.txt
drwxr-xr-x. 3 lovxn lovxn   4096 9月  11 2019 sbin
drwxr-xr-x. 4 lovxn lovxn     31 9月  11 2019 share

(1)bin目录:存放对Hadoop相关服务(hdfs,yarn,mapred)进行操作的脚本

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

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

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

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

直接使用root权限操作风险较大,因此创建用户lovxn用作日常维护

将lovxn加入sudoers文件,使其在必要时可以借用root权限

[root@hadoop102 lovxn]# visudo

在打开的文件中写入

lovxn ALL=(ALL)  ALL

回到lovxn用户

su lovxn

配置主机映射,让三台虚拟机互相认识

这里只演示一台虚拟机,实际上三台都要配置

sudo vi /etc/hosts

写入

192.168.8.102 hadoop102
192.168.8.103 hadoop103
192.168.8.104 hadoop104

配置三台虚拟机互相免密登录,先ssh一下自己创建~/.ssh文件夹

ssh localhost

生成密钥

ssh-keygen -t rsa

然后敲三个回车,就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)

将公钥拷贝到要免密登录的目标机器上

[lovxn@hadoop102 ~]$ ssh-copy-id hadoop102
[lovxn@hadoop102 ~]$ ssh-copy-id hadoop103
[lovxn@hadoop102 ~]$ ssh-copy-id hadoop104

指令执行时候会问

Are you sure you want to continue connecting (yes/no)?

yes就可以了

接着编写集群分发脚本xsync

scp可以实现服务器与服务器之间的数据拷贝,基本语法:

scp     -r           $pdir/$fname                  $user@$host:$pdir/$fname

命令   递归     要拷贝的文件路径/名称   目的地用户@主机:目的地路径/名称

在hadoop102、hadoop103、hadoop104都创建好的/opt/module、/opt/software两个目录

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/874230.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号