一、前期准备
1.1 软件版本概述
- VMware-workstation-full-12.5.7-5813279.exe
- CentOS-7-x86_64-Minimal-1810.iso(最小安装盘,只有必要的软件,自带的软件最少,只有918 MB)
- jdk-8u202-linux-x64.tar.gz
- hadoop-3.1.1.tar.gz
- 其他(远程连接工具Xshell6、上传工具xftp6)
1.2 涉及的linux操作及重要配置
#设置IP 网关 DNS
vi /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="dafc2038-f4fc-4a6d-b704-30e3c32f52e9"
DEVICE="ens33"
ONBOOT="yes"
#实时生效
NM_CONTROLLED="yes"
#ip
IPADDR=192.168.119.104
#网关
GATEWAY=192.168.119.2
#子网掩码
NETMASK=255.255.255.0
#使用主的DNS
DNS1=114.114.114.119
#备用的DNS
DNS2=114.114.115.119
#修改主机名
hostnamectl set-hostname centos104
#关闭防火墙
##临时关闭
systemctl stop firewalld
##禁止开机启动
systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
#关闭SELinxu命令(永久)
将SELINUX=enforcing改为SELINUX=disabled ,设置后需要重启才能生效。
vi /etc/selinux/config
#创建用户(admin)并设置文件权限
useradd admin
passwd admin
visudo
#添加
admin ALL=(ALL) ALL
#注:visudo操作时:vi编辑器一般模式下,/root 定位到root所在行,yy 复制,p 粘贴然后将root 改成admin即可。
#修改module文件下用户组权限
sudo chown admin:admin /opt/module/ -R
#添加主机名与ip映射关系
vi /etc/hosts
192.168.119.104 hadoop104
#解压jdk、hadoop至/opt/module/文件夹下
tar -zxvf /opt/software/jdk-8u202-linux-x64.tar.gz /opt/software/hadoop-3.1.1.tar.gz -C /opt/module/
#修改/opt/module/hadoop-3.1.1/etc/hadoop/hadoop-env.sh文件中JAVA_HOME 路径:
export JAVA_HOME=/opt/module/jdk1.8.0_202
#配置环境变量
vi /etc/profile
## 一般模式下按下G到最后一行,然后按o下一行插入
##JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_202
export PATH=$PATH:$JAVA_HOME/bin
##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.1
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
#让修改后的文件生效
source /etc/profile
#测试安装成功
##java
java -version
##hadoop
hadoop version
二、实际操作
2.1 官方grep案例
[admin@centos104 hadoop-3.1.1]$ mkdir input
[admin@centos104 hadoop-3.1.1]$ cp etc/hadoop/*.xml input
[admin@centos104 hadoop-3.1.1]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.1.jar grep input output 'dfs[a-z.]+'
[admin@centos104 hadoop-3.1.1]$ cat output/*
1 dfsadmin
[admin@centos104 hadoop-3.1.1]$ cd output/
[admin@centos104 output]$ ll
总用量 4
-rw-r--r-- 1 admin admin 11 4月 2 13:33 part-r-00000
-rw-r--r-- 1 admin admin 0 4月 2 13:33 _SUCCESS
2.2 wordcount案例
[admin@centos104 hadoop-3.1.1]$ mkdir wcinput
[admin@centos104 wcinput]$ touch wc.input
[admin@centos104 wcinput]$
[admin@centos104 wcinput]$
[admin@centos104 wcinput]$ vi wc.input
hadoop yarn
hadoop mapreduce
qianxkun
qianxkun
[admin@centos104 hadoop-3.1.1]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.1.jar wordcount wcinput wcoutput
[admin@centos104 hadoop-3.1.1]$ cat wcoutput/part-r-00000
hadoop 2
mapreduce 1
qianxkun 2
yarn 1
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。