hadoop之本地模式(保姆级教程)
文章目录
hadoop之本地模式(保姆级教程)环境介绍准备工作①防火墙&selinux②网络配置③域名映射
安装jdk&hadooop①远程连接工具--fianlshell②安装各种工具包③导入安装包④解压安装包⑤配置环境变量
测试官方案例: grep范例: wordcount
环境介绍
虚拟机版本 → VMware Workstation16 PRO
镜像版本 → CentOS-7-x86_64-Minimal-2003
远程连接工具 → FinalShell 3.6.3
准备工作
①防火墙&selinux
#--> ①关闭防火墙
[root@localhost ~]# systemctl stop firewalld.service
#--> ②设置防火墙开机不自启
[root@localhost ~]# systemctl disable firewalld.service
#--> ③查看防火墙状态
[root@localhost ~]# firewall-cmd --state
#--> ④查看防火墙是否为开机不自启
[root@localhost ~]# systemctl list-unit-files|grep firewalld.service
#--> ①关闭selinux
[root@localhost ~]# vi /etc/selinux/config
** 在打开的文件中添加这段记录↓
SELINUX=disabled
②网络配置
#--> ①找到网卡的配置文件
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost ~]# ls
#②一般来说第一个文件就是你的网卡的配置文件, 因设备不同可能会有所差异, 你的是多少就多少, 这里不要直接照搬我的
#--> ③打开网卡的配置文件
[root@localhost ~]# vi /ifcfg-ens33
#--> ①在打开的文件中确认以下配置↓, 若有不符请手动更改
BOOTPROTO="static"
ONBOOT="yes"
#--> ②在打开的文件中添加这段记录↓
IPADDR=192.168.8.101
NETMASK=255.255.255.0
GATEWAY=192.168.8.2
DNS1=8.8.8.8
#--> ①刷新网络
[root@localhost ~]# service network restart
#--> ②查看网络配置情况
[root@localhost ~]# ip addr
#--> ③测试网络连通性
[root@localhost ~]# ping www.baidu.com
③域名映射
#--> ①设置你的主机名#--> 主机名与IP地址映射
[root@localhost ~]# vi /etc/sysconfig/network
** ②在打开的文件添加这段记录↓
HOSTNAME=master
#--> ①主机名与IP地址建立映射关系
[root@localhost ~]# vi /etc/hosts
** ②在打开的文件添加这段记录↓
192.168.8.101 master
#--> ①在物理机建立虚拟机IP与虚拟机主机名映射关系
C:/windows/System32/drivers/etc/hosts
** ②在打开的文件添加这段记录↓
192.168.8.101 master
安装jdk&hadooop
①远程连接工具–fianlshell
②安装各种工具包
[root@master ~]# yum install lrzsz tree net-tools nmap vim bash-completion lsof dos2unix nc telnet ntp wget rng-tools psmisc -y
③导入安装包
#--> ①导入之前先看看有没有系统自带的jdk
[root@master ~]# rpm -qa | grep jdk
#--> ②若有就删除(将xxxxxx替换成检测出来的jdk包名)
[root@master ~]# rpm -e xxxxxx --nodeps
#我这里由于使用的最小安装系统, 所以是没有的, 大家按实际情况来处理
#--> 创建两个文件夹用来存储jdk&hadoop的安装包和本体
[root@master ~]# mkdir /opt/soft /opt/apps
把准备好的jdk和hadoop拖到/opt/soft下面
④解压安装包
#--> ①解压jdk到/opt/apps
[root@master ~]# tar -zxvf /opt/soft/jdk-8u261-linux-x64.tar.gz -C /opt/apps
#--> ②解hadoop到/opt/apps
[root@master ~]# tar -zxvf /opt/soft/hadoop-2.7.6.tar.gz -C /opt/apps
#--> ①移动到/opt/apps
[root@master ~]# cd /opt/apps
#--> ②重命名为jdk
[root@master ~]# mv jdk1.8.0_261 jdk
#--> ③重命名为hadoop
[root@master ~]# mv hadoop-2.7.6 hadoop
⑤配置环境变量
#--> ①新建一个文件用来加载jdk和hadoop的环境变量
[root@master ~]# vim /etc/profile.d/jh-env.sh
** ②在打开的文件添加这段记录↓
export JAVA_HOME=/opt/apps/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export HADOOP_HOMR=/opt/apps/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
#--> ①刷新环境变量
[root@master ~]# source /etc/profile.d/jh-env.sh
#--> ②测试环境变量是否生效
[root@master ~]# java -version
[root@master ~]# hadoop version
测试
官方案例: grep
#--> ①进入hadoop的根目录
[root@master ~]# cd $HADOOP_HOME
#--> ②创建一个目录input
[root@master hadoop]# mkdir input
#--> ③把$HADOOP_HOME/etc/hadoop下的所有xml文件复制到input目录下
[root@master hadoop]# cp ./etc/hadoop/*.xml ./input
#--> ④使用hadoop自带的grep程序查找input目录下的文件是否有符合正则表达式'dfs[a-z.]'的字符串
[root@master hadoop]# hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar grep input ./output 'dfs[a-z.]'
#--> ⑤查看part-r-00000文件
[root@master hadoop]# cat ./output/part-r-00000
范例: wordcount
#--> ①统计input目录下的文件里每个单词的出现次数, 结构存储到out1
[root@master hadoop]# hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar wordcount input ./out1
#--> ②查看结果
[root@master hadoop]# cat ./out1/part-r-00000
#--> ①统计input目录下的文件里每个单词的出现次数, 结构存储到out1
[root@master hadoop]# hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar wordcount input ./out1
#--> ②查看结果
[root@master hadoop]# cat ./out1/part-r-00000