hadoop本地模式搭建
首先准备一台Linux环境的服务器关闭防火墙
# 查看防火墙状态
systemctl status firewalld
# 停止防火墙
systemctl stop firewalld
# 启动防火墙
systemctl start firewalld
# 永久关闭防火墙
systemctl disable firewalld
修改hostname
[root@hadoop102 wcoutput]# vim /etc/hostname
hadoop102
配置IP地址
[root@hadoop102 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
#根据自己的实际情况配置
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.150.102
GATEWAY=192.168.150.2
NETMASK=255.255.255.0
DNS1=8.8.8.8
配置映射
[root@hadoop102 ~]# vim /etc/hosts
#因为完全分布式需要三台服务器所以我们提前配置映射
192.168.150.102 hadoop102
192.168.150.103 hadoop103
192.168.150.104 hadoop104
在根目录下新建文件夹
[root@hadoop102 ~]# mkdir -p /export/servers
上传jdk8和Hadoop到/export/servers文件夹
文件路径需自行修改
scp -r D:\桌面\hadoop笔记\资料\04_jar包\jdk-8u212-linux-x64.tar.gz root@hadoop102:/export/servers
scp -r D:\桌面\hadoop笔记\资料\04_jar包\hadoop-3.1.3.tar.gz root@hadoop102:/export/servers
解压jdk和hadoop到当前文件夹
[root@hadoop102 servers]# cd /export/servers/
[root@hadoop102 servers]# tar -zxvf ./hadoop-3.1.3.tar.gz -C ./
[root@hadoop102 servers]# tar -zxvf ./jdk-8u212-linux-x64.tar.gz -C ./
重命名Hadoop与jdk
[root@hadoop102 servers]# mv hadoop-3.1.3 hadoop
[root@hadoop102 servers]# mv jdk1.8.0_212 jdk
配置hadoop与jdk的环境变量
[root@hadoop102 servers]# cd /etc/profile.d/
[root@hadoop102 profile.d]# vim my_env.sh
#my_env.sh内容如下
#JAVA_HOME
export JAVA_HOME=/export/servers/jdk
export PATH=$PATH:$JAVA_HOME/bin
#HADOOP_HOME
export HADOOP_HOME=/export/servers/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
#保存退出后刷新环境变量
[root@hadoop102 profile.d]# source /etc/profile
执行java,javac,hadoop都没有报错那么说明jdk与hadoop安装成功
接下来我们测试Hadoop伪分布式,执行wordcount程序
#进入Hadoop的根目录
[root@hadoop102 profile.d]# cd /export/servers/hadoop
[root@hadoop102 hadoop]# mkdir wcinput
[root@hadoop102 hadoop]# cd wcinput/
[root@hadoop102 wcinput]# vim word.txt
#编辑word.txt文件内容如下
hadoop hadoop
java java
javac javac
linux linux linux
word ord ord ord wo
#保存并退出
执行wordcount程序,执行结果保存在/export/servers/hadoop/wcoutput目录下
[root@hadoop102 hadoop]# cd /export/servers/hadoop
[root@hadoop102 hadoop]# hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount wcinput wcoutput
查看执行的结果
[root@hadoop102 hadoop]# cd /export/servers/hadoop/wcoutput/
[root@hadoop102 wcoutput]# cat part-r-00000
hadoop 2
java 2
javac 2
linux 3
ord 3
wo 1
word 1
[root@hadoop102 wcoutput]#
至此,hadoop本地模式完成,企业一般很少使用伪分布式所以我直接配置完全分布式
hadoop完全分布式集群搭建
1 准备三台Linux客户机,配置静态IP,主机名,映射,关闭防火墙
2 安装jdk和hadoop
3 配置jdk和hadoop环境变量
4 修改Hadoop配置文件
5 配置ssh免密登录
6 单点启动
7 群起并测试集群是否正常运行
搭建完全分布式需要三台Linux服务器并且配置好IP地址
通过Hadoop102克隆出hadoop103,hadoop104
修改Hadoop103的IP与hostname
[root@hadoop103 ~]# vim /etc/hostname
#内容如下
hadoop103
[root@hadoop103 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
#内容如下
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.150.103
GATEWAY=192.168.150.2
NETMASK=255.255.255.0
DNS1=8.8.8.8
修改Hadoop104的IP与hostname
[root@hadoop104 ~]# vim /etc/hostname
#内容如下
hadoop104
[root@hadoop104 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
#内容如下
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.150.104
GATEWAY=192.168.150.2
NETMASK=255.255.255.0
DNS1=8.8.8.8
三台服务器分别测试网络状态