前言:本来是学老师偷懒的,三种安装模式合成一篇。可时间一长连自己都看不清了,更不说别人了。于是决定重新分三种模式各写一篇,那么首先是Hadoop的本地模式。
一、本地模式介绍
本地模式是最简单的模式,Hadoop本地模式不需要用到HDFS和YARN模块,只需要用到本地文件即可。所以一般该模式主要是在学习或者开发阶段调试使用 。
特点:没有HDFS,只能测试MapReduce程序(不是运行在Yarn中,做一个独立的Java程序来运行)
注意:路径都是本地Linux的路径
虚拟机名字:HP110
用户是:root
二、关闭防火墙
这是CentOS7版本命令:
systemctl status firewalld.service -->查看防火墙状态
systemctl stop firewalld.service ---> 如果重启,会重启防火墙
systemctl disable firewalld.service ---> 永久关闭防火墙
注意:版本不同关闭防火墙命令也不同,下面是我们使用的CentOS6.5版本命令:
service iptables status -->查看防火墙状态
service iptables stop ---> 如果重启,会重启防火墙
chkconfig iptables off ---> 永久关闭防火墙
三、修改主机名和IP
1. 查看主机名:hostname
临时修改hostname 命令是:hostname 名字
永久修改hostname
修改配置文件 /etc/sysconfig/network。
命令:[root@HP110 tools]# vi /etc/hostname
HP110 #设置的主机名
或者[root@HP110 hadoop]# hostnamectl set-hostname 名字
centos7之前的版本请用此方法:
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=centos6
:wq #保存并退出
不过永久修改hostname需要重启后生效。
2. 修改IP
[root@HP110 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static #设置成静态IP
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=4c6356d3-01cd-44ac-9e6f-67afa7f9b847
DEVICE=ens33
ONBOOT=yes #开机默认开启网络
IPADDR=192.168.231.110 #IP地址
GATEWAY=192.168.231.2 #网关
DNS1=8.8.8.8 #域名解析国内
DNS2=114.114.114.114 #域名解析国外
PREFIX=24
IPV6_PRIVACY=no
然后让修改IP生效:[root@HP110 ~]# service network restart
四、配置主机名和IP的对应关系
编辑配置文件 vi /etc/hosts
192.168.231.110 HP110
五、mkdir创建安装目录
-p 父目录不存在情况下先生成父目录
约定: mkdir /opt/software(安装包目录)
mkdir /opt/module (软件目录)
六、安装并配置Hadoop和JDK环境变量
(1)使用tar命令解压
tar -zxvf jdk-8u191-linux-x64.tar.gz -C /opt/module
tar -zxvf hadoop-2.8.5.tar.gz -C /opt/module
(2)设置JAVA环境变量:vi /etc/profile
JAVA_HOME=/opt/module/jdk1.8.0_191
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
生效环境变量 source /etc/profile
(3)设置Hadoop的环境变量: vi /etc/profile
HADOOP_HOME=/opt/module/hadoop-2.8.5
export HADOOP_HOME
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export PATH
生效环境变量 source /etc/profile
注意linux环境变量和Windows的环境变量一样,分系统环境变量和用户环境变量,系统环境变量对所有用户有效,而用户环境变量只对当前用户有效。
系统环境变量配置:vi /etc/profile 保存后执行source /etc/profile立即生效
用户环境变量配置:vi ~/ .bash_profile 保存后执行 source ~/.bash_profile立即生效
如果既配置了系统环境变量,又配置了用户环境变量,最终会以用户环境变量的配置为准。
六、修改hadoop文件
进入到 hadoop-2.7.3/etc/hadoop/ 目录下,例如:cd /opt/module/hadoop-2.7.3/etc/hadoop
vi hadoop-env.sh 把 JAVA_HOME 改为本地配置的 JDK 路径 即可
在25行设置: export JAVA_HOME=/opt/module/jdk1.8.0_191
七、测试MapReduce程序
vi demo1.txt 随便写一些英语单词,汉语可能出错。默认是是以英文单词空格分的,当然也是可以自己用java编写一个WordCount程序的,按照自己想要的方式分词。
cd /root/software/hadoop-2.8.5/share/hadoop/mapreduce
然后执行:hadoop jar hadoop-mapreduce-examples-2.8.5.jar wordcount /root/input/demo1.txt /root/output/wc
hadoop jar hadoop-mapreduce-examples-2.8.3.jar:执行程序的命令
WordCount:单词计数
/root/input/demo1.txt:输入原始数据
/root/output/wc:输出结果
part-r-00000是输出结果文件