Hadoop搭建
一、安装准备:
1、虚拟机安装
hadoop集群搭建涉及多台机器,可用vmware workstation虚拟软件工具上构建多个Linux系统
安装一个centos7虚拟机命名为hadoop01:
为规范后续使用,在根目录下创建一下文件
/export/data-------存放数据类文件
/export/servers----存放服务类文件
/export/software–存放安装包文件
[root@hadoop01 /]# mkdir export
[root@hadoop01 /]# ls
bin dev export lib media opt root sbin sys usr
boot etc home lib64 mnt proc run srv tmp var
[root@hadoop01 /]# cd export/
[root@hadoop01 export]# ls
[root@hadoop01 export]# mkdir data
[root@hadoop01 export]# mkdir servers
[root@hadoop01 export]# mkdir software
[root@hadoop01 export]# ls
data servers software
2、jdk安装
-
下载jdk:可在https://www.oracle.com/technetwork/java/javase/downloads/index.html下载Linux系统下的jdk安装包。
-
安装jdk
使用rz上传到hadoop01 (rz命令可通过yum -y install lrzsz 安装)上传到/export/software上
[root@hadoop01 software]# rz
rz waiting to receive.******[root@bogon software]#
[root@hadoop01 software]# ls
jdk-8u144-linux-x64.tar.gz
将jdk解压到/export/servers目录下
[root@hadoop01 software]# tar -zxvf jdk-8u144-linux-x64.tar.gz -C /export/servers/
[root@hadoop01 servers]# ls
jdk1.8.0_144
- 配置jdk环境
使用vi在/etc/profile文件下添加如下行并保存退出,使用source生效文件
export JAVA_HOME=/export/servers/jdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
:wq
[root@hadoop01 servers]# source /etc/profile
- jdk环境验证
[root@hadoop01 servers]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
[root@hadoop01 servers]#
3、关闭防火墙和SELinux
[root@hadoop01 ~]# systemctl stop firewalld
[root@hadoop01 ~]# systemctl disable firewalld.service
[root@hadoop01 ~]#
[root@hadoop01 ~]# vi /etc/sysconfig/selinux
SELINUX=disabled
防火墙设置:[Linux防火墙开启关闭命令](Linux查看防火墙状态及开启关闭命令_linux 查看防火墙-CSDN博客)
4、设置静态IP
开启虚拟机,进入root模式,用vi打开文件夹/etc/sysconfig/network-scripts/ifcfg-ens33
修改如下配置
[root@hadoop01 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static" #跟改为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="7991ace5-e9b0-477d-bac7-725b31e03cfa"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.10.140 #设置静态IP
NETMASK=255.255.255.0 #设置子网掩码
GATEWAY=192.168.10.2 #设置网关
DNS=8.8.8.8 #设置DNS服务器
启动网络:
[root@hadoop01 ~]# systemctl restart network
5、修改主机名和hasts文件
[root@hadoop01 ~]# systemctl restart network
hadoop01
添加主机与克隆机映射
[root@hadoop01 ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.140 hadoop01 #添加
192.168.10.141 hadoop02 #添加
192.168.10.142 hadoop03 #添加
6、查看网络连接状态:(三台虚拟机)
[root@hadoop02 ~]# ping www.baidu.com
ping: www.baidu.com: 未知的名称或服务
- 出现问题:
出现以上问题:ping: www.baidu.com: 未知的名称或服务
- 原因:
网络原因,我这里是DNS服务器出错
- 解决办法:
判断:是否使用NAT模式,宿主机v8网卡是否正常,虚拟机是否是静态ip且网段是否与虚拟网卡一致,查看DNS解析是否正常等 。
- 解决:
[root@hadoop02 ~]# ping www.baidu.com
ping: www.baidu.com: 未知的名称或服务
[root@hadoop02 ~]# vi /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 8.8.8.8 #添加DNS服务器ip地址
/etc/resolv.conf是DNS客户机配置文件,用于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序。
该文件是由域名解析 器(resolver,一个根据主机名解析IP地址的库)使用的配置文件。它的格式很简单,每行以一个关键字开头,后接一个或多个由空格隔开的参数。
nameserver //定义DNS服务器的IP地址
domain //定义本地域名
search //定义域名的搜索列表
sortlist //对返回的域名进行排序
实例:
domain 51osos.com
search www.51osos.com 51osos.com
nameserver 202.102.192.68
nameserver 202.102.192.69
7、使用远程工具连接,我用的是windterm
8、安装相关软件包
- 安装epel-release仓库,net-tool工具包集合以及 vim编辑器
注:Extra Packages for Enterprise Linux是为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux。相当于是一个软件仓库,大多数rpm包在官方 repository 中是找不到的)
#epel-release
[root@hadoop01 ~]# yum install -y epel-release
已加载插件:fastestmirror
。。。。。。
已安装:
epel-release.noarch 0:7-11
完毕!
#net-tools
[root@hadoop01 ~]# yum install -y net-tools
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
epel/x86_64/metalink | 8.2 kB 00:00:00
。。。。。。
软件包 net-tools-2.0-0.25.20131004git.el7.x86_64 已安装并且是最新版本
无须任何处理
#vim
[root@hadoop01 ~]# yum install -y vim
已加载插件:fastestmirror
。。。。。。。。
已安装:
vim-enhanced.x86_64 2:7.4.629-8.el7_9
作为依赖被安装:
gpm-libs.x86_64 0:1.20.7-6.el7 perl.x86_64 4:5.16.3-299.el7_9 perl-Carp.noarch 0:1.26-244.el7
perl-Encode.x86_64 0:2.51-7.el7 perl-Exporter.noarch 0:5.68-3.el7 perl-File-Path.noarch 0:2.09-2.el7
perl-File-Temp.noarch 0:0.23.01-3.el7 perl-Filter.x86_64 0:1.49-3.el7 perl-Getopt-Long.noarch 0:2.40-3.el7
perl-HTTP-Tiny.noarch 0:0.033-3.el7 perl-PathTools.x86_64 0:3.40-5.el7 perl-Pod-Escapes.noarch 1:1.04-299.el7_9
perl-Pod-Perldoc.noarch 0:3.20-4.el7 perl-Pod-Simple.noarch 1:3.28-4.el7 perl-Pod-Usage.noarch 0:1.63-3.el7
perl-Scalar-List-Utils.x86_64 0:1.27-248.el7 perl-Socket.x86_64 0:2.010-5.el7 perl-Storable.x86_64 0:2.45-3.el7
perl-Text-ParseWords.noarch 0:3.29-4.el7 perl-Time-HiRes.x86_64 4:1.9725-3.el7 perl-Time-Local.noarch 0:1.2300-2.el7
perl-constant.noarch 0:1.27-2.el7 perl-libs.x86_64 4:5.16.3-299.el7_9 perl-macros.x86_64 4:5.16.3-299.el7_9
perl-parent.noarch 1:0.225-244.el7 perl-podlators.noarch 0:2.5.1-3.el7 perl-threads.x86_64 0:1.87-4.el7
perl-threads-shared.x86_64 0:1.43-6.el7 vim-common.x86_64 2:7.4.629-8.el7_9 vim-filesystem.x86_64 2:7.4.629-8.el7_9
完毕!
[root@hadoop01 ~]#
9、创建wangliukun用户,并修改wangliukun用户密码
[root@hadoop01 ~]# useradd wangliukun
[root@hadoop01 ~]# passwd wangliukun
更改用户 wangliukun 的密码 。
新的 密码: #root
无效的密码: 密码少于 8 个字符
重新输入新的 密码: #root
passwd:所有的身份验证令牌已经成功更新。
[root@hadoop01 ~]#
10、配置wangliukun用户具有root权限
方便后期加sudo执行root权限的命令
[root@hadoop01 ~]# vim /etc/sudoers
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
wangliukun ALL=(ALL) NOPASSWD:ALL
:wq!
[root@hadoop01 ~]# su wangliukun
[wangliukun@hadoop01 root]$ cd /opt
[wangliukun@hadoop01 opt]$ mkdir module
mkdir: 无法创建目录"module": 权限不够
[wangliukun@hadoop01 opt]$ sudo mkdir module
[wangliukun@hadoop01 opt]$ ll
总用量 0
drwxr-xr-x. 2 root root 6 3月 11 21:17 module
[wangliukun@hadoop01 opt]$ rm -rf module
rm: 无法删除"module": 权限不够
[wangliukun@hadoop01 opt]$ sudo rm -rf module
[wangliukun@hadoop01 opt]$ ll
总用量 0
[wangliukun@hadoop01 opt]$
11、修改/export下文件所属组
[root@hadoop01 /]# cd export/
[root@hadoop01 export]# chown wangliukun:wangliukun /export/data/
[root@hadoop01 export]# chown wangliukun:wangliukun /export/servers/
[root@hadoop01 export]# chown wangliukun:wangliukun /export/software/
[root@hadoop01 export]# ll
总用量 0
drwxr-xr-x. 2 wangliukun wangliukun 6 3月 5 21:42 data
drwxr-xr-x. 3 wangliukun wangliukun 17 3月 5 21:48 servers
drwxr-xr-x. 2 wangliukun wangliukun 67 3月 14 19:26 software
12、克隆虚拟机
关闭当前虚拟机,右键虚拟机点击管理–>克隆,完成两次完整克隆。
并完成相应配置:
主机名 | ip |
---|---|
Hadoop01 | 192.168.10.140 |
Hadoop02 | 192.168.10.141 |
Hadoop03 | 192.168.10.142 |
二、安装Hadoop
1、上传Hadoop到/export/software
[root@hadoop01 software]# rz
[root@hadoop01 software]# ls
hadoop-3.3.4.tar.gz jdk-8u144-linux-x64.tar.gz
[root@hadoop01 software]#
2、解压hadoop-3.3.4.tar.gz到/export/servers/
[root@hadoop01 software]# tar -zxvf hadoop-3.3.4.tar.gz -C /export/servers/
[root@hadoop01 export]# cd servers/
[root@hadoop01 servers]# ls
hadoop-3.3.4 jdk
[root@hadoop01 servers]# ll
总用量 0
drwxr-xr-x. 10 1024 1024 215 7月 29 2022 hadoop-3.3.4
drwxr-xr-x. 8 10 143 255 7月 22 2017 jdk
3、添加环境变量
#查询目录
[wangliukun@hadoop01 hadoop-3.3.4]# pwd
/export/servers/hadoop-3.3.4
[wangliukun@hadoop01 hadoop-3.3.4]$ sudo vim /etc/profile
[wangliukun@hadoop01 hadoop-3.3.4]$ sudo vim /etc/profile
#使文件生效
[wangliukun@hadoop01 hadoop-3.3.4]$ source /etc/profile
[wangliukun@hadoop01 hadoop-3.3.4]$ hadoop
hadoop hadoop.cmd hadoop-daemon.sh hadoop-daemons.sh
#hadoop测试
[wangliukun@hadoop01 hadoop-3.3.4]$ hadoop version
Hadoop 3.3.4
Source code repository https://github.com/apache/hadoop.git -r a585a73c3e02ac62350c136643a5e7f6095a3dbb
Compiled by stevel on 2022-07-29T12:32Z
Compiled with protoc 3.7.1
From source with checksum fb9dd8918a7b8a5b430d61af858f6ec
This command was run using /export/servers/hadoop-3.3.4/share/hadoop/common/hadoop-common-3.3.4.jar
[wangliukun@hadoop01 hadoop-3.3.4]$
在以上配置中,/etc/profilr中添加如下:
#HADOOP_HOME
export HADOOP_HOME=/export/servers/hadoop-3.1.3#以上中查询的hadoop地址
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
4、Hadoop目录结构:
- 查看hadoop目录结构:
[wangliukun@hadoop01 hadoop-3.3.4]$ ll
总用量 92
drwxr-xr-x. 2 1024 1024 203 7月 29 2022 bin
drwxr-xr-x. 3 1024 1024 20 7月 29 2022 etc
drwxr-xr-x. 2 1024 1024 106 7月 29 2022 include
drwxr-xr-x. 3 1024 1024 20 7月 29 2022 lib
drwxr-xr-x. 4 1024 1024 288 7月 29 2022 libexec
-rw-rw-r--. 1 1024 1024 24707 7月 29 2022 LICENSE-binary
drwxr-xr-x. 2 1024 1024 4096 7月 29 2022 licenses-binary
-rw-rw-r--. 1 1024 1024 15217 7月 17 2022 LICENSE.txt
-rw-rw-r--. 1 1024 1024 29473 7月 17 2022 NOTICE-binary
-rw-rw-r--. 1 1024 1024 1541 4月 22 2022 NOTICE.txt
-rw-rw-r--. 1 1024 1024 175 4月 22 2022 README.txt
drwxr-xr-x. 3 1024 1024 4096 7月 29 2022 sbin
drwxr-xr-x. 4 1024 1024 31 7月 29 2022 share
[wangliukun@hadoop01 hadoop-3.3.4]$
- 重要目录
bin目录:存放对Hadoop相关服务(hdfs,yarn,mapred)进行操作的脚本
etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件
lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)
sbin目录:存放启动或停止Hadoop相关服务的脚本
share目录:存放Hadoop的依赖jar包、文档、和官方案例
2022 NOTICE.txt
-rw-rw-r–. 1 1024 1024 175 4月 22 2022 README.txt
drwxr-xr-x. 3 1024 1024 4096 7月 29 2022 sbin
drwxr-xr-x. 4 1024 1024 31 7月 29 2022 share
[wangliukun@hadoop01 hadoop-3.3.4]$
- 重要目录
```shell
bin目录:存放对Hadoop相关服务(hdfs,yarn,mapred)进行操作的脚本
etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件
lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)
sbin目录:存放启动或停止Hadoop相关服务的脚本
share目录:存放Hadoop的依赖jar包、文档、和官方案例
下一章:Hdsoop使用