Hadoop搭建之本地模式
概述
众所周知(反正我知道,不知道你知不知道),Apache Hadoop官方对Hadoop给出了三种运行模式:本地模式、伪分布式和完全分布式。这篇Blog就将带领你去搭建一个本地模式的Hadoop。(悄悄的说,这个都搭不好,别学了回家种田吧!开个玩笑,好好学Linux)
软件包
这个集群笔者是搭建在CentOS 7环境下的,如果是其他环境的老用户我相信你也一定看的懂,如果是新手那你自己想办法。所以你需要有CentOS、Hadoop、JDK。没有这么办?呵,凉拌。好啦好啦下面有!(VMware总不用我给了吧!)
VMware WorkStation Full 16.1.0:
链接:https://pan.baidu.com/s/1GxB0rUnkGb9DHdAtEL5kng
提取码:vpen
CentOS 7
链接:https://pan.baidu.com/s/17A6dMqCkBHC4MKY7aHmJRg
提取码:u70c
Xshell5
链接:https://pan.baidu.com/s/1aFBVWCNhqorB196_xPApmA
提取码:9aug
Xftp5
链接:https://pan.baidu.com/s/1LDuUbXcAXnhFmHvbYhxtpw
提取码:hgj0
JDK 8u144
链接:https://pan.baidu.com/s/1pOGvpVeeD7YiXzHpuLQh4A
提取码:31l3
Hadoop 2.7.2
链接:https://pan.baidu.com/s/1AydXCuvRWIk5MUOxELiKwg
提取码:w1u6
安装步骤
言归正传,现在正式来安装Hadoop本地模式
第一步,你需要安装好一台Linux虚拟机(推荐16G以下内存的同学安装最小化即可,因为后期要开集群),然后我这里用Xshell连上了,当然马叉也是可以的,CMD的SSH就算了。什么?不会?别学了别学了。
第二步,修改主机名
[[email protected] ~]# hostnamectl set-hostname hadoop
[[email protected] ~]# hostname
hadoop
第三步,配置静态IP地址
# 添加一块名为Hadoop的逻辑网卡
[[email protected] ~]# nmcli connection add con-name hadoop type ethernet autoconnect yes ifname ens160
# 切换到网卡所在目录
[[email protected] ~]# cd /etc/sysconfig/network-scripts/
# 配置网卡文件
[[email protected] network-scripts]# vim ifcfg-hadoop
# 主要看如下5个值
BOOTPROTO=none # 默认是DHCP,要设置Static IP则要改为none
IPADDR=192.168.152.200 # 主机位推荐200,网络位根据你的VMnet8网卡来
PREFIX=24 # 子网掩码24,没必要多说
GATEWAY=192.168.152.2 # 网关,VMnet8的IP地址
DNS1=192.168.152.2 # DNS,不懂的和网关一样就行,懂的随便。
# 其他不用管,也别动!
# 配完后ESC:x保存退出,:wq也行爱咋咋。
# 重启网卡
[[email protected] network-scripts]# nmcli connection reload
# 切换网卡
[[email protected] network-scripts]# nmcli connection up hadoop
# 查看IP是否更改成功
[[email protected] network-scripts]# ifconfig
# 上网测试,ICMP协议的应用之处就来了!
[[email protected] network-scripts]# ping www.baidu.com
# 如果通了的话就对了,没通的话就是你错了!
第四步:配置hosts映射
[[email protected] network-scripts]# vim /etc/hosts
# 在文件最后面追加上这一行,别傻乎乎的复制过去,不通不关我事。
192.168.152.200 hadoop
[[email protected] network-scripts]# ping hadoop
# 如果成功了是可以通的
PING hadoop (192.168.152.200) 56(84) bytes of data.
64 bytes from hadoop (192.168.152.200): icmp_seq=1 ttl=64 time=0.014 ms
64 bytes from hadoop (192.168.152.200): icmp_seq=2 ttl=64 time=0.037 ms
64 bytes from hadoop (192.168.152.200): icmp_seq=3 ttl=64 time=0.077 ms
# 此时可以更改C:\Windows\System32\drivers\etc\hosts文件,改发一样。
# 改完就可以在CMD里用ping hadoop和虚拟机Linux通信了。
第五步:创建hadoop用户
# 不要总想着用root,公司里不可能给你用root
[[email protected] network-scripts]# useradd hadoop
[[email protected] network-scripts]# passwd hadoop
# 密码推荐也是hadoop,不过呢,随你!
# 将hadoop添加到sudoers中。
[[email protected] network-scripts]# vim /etc/sudoers
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
hadoop ALL=(ALL) NOPASSWD:ALL # 主要是这一行,上面为了方便你搜索,/root懂?
第六步:重启一下,接下来正式开始安装HADOOP。注意启动的适合直接用hadoop登录。
[[email protected] network-scripts]# sync # 落盘很重要
[[email protected] network-scripts]# init 6
第七步:在/opt下创建module(存储jar包解析出来的文件)和software(用于存储jar包)两个文件夹。
[[email protected] ~]$ sudo mkdir /opt/module /opt/software
# 记得改权限
[[email protected] ~]$ sudo chown hadoop:hadoop /opt/software/ /opt/module/
第八步:安装JDK
# 检查系统中是否安装了Java,有的话用sudo rpm -e 软件包删除。
[[email protected] ~]$ rpm -qa | grep java
# 用Xftp5将下载好的JDK上传到/opt/software目录下
[[email protected] ~]$ cd /opt/software
[[email protected] software]$ ls
hadoop-2.7.3.tar.gz jdk-8u171-linux-x64.tar.gz
# 解压两个tar包到/opt/module下
[[email protected] software]$ tar -zxvf hadoop-2.7.3.tar.gz -C ../module/
[[email protected] software]$ tar -zxvf jdk-8u171-linux-x64.tar.gz -C ../module/
第九步:在环境变量里配置JAVA_HOME和HADOOP_HOME
[[email protected] software]$ sudo vim /etc/profile
# 在最底下追加,按gg可以快速跳到尾行
##JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_171
export PATH=$PATH:$JAVA_HOME/bin
##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
# 保存退出后记得**文件
[[email protected] software]$ sudo source /etc/profile
第十步:验证配置
[[email protected] software]$ java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
[[email protected] software]$ hadoop version
Hadoop 2.7.3
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r baa91f7c6bc9cb92be5982de4719c1c8af91ccff
Compiled by root on 2016-08-18T01:41Z
Compiled with protoc 2.5.0
From source with checksum 2e4ce5f957ea4db193bce3734ff29ff4
This command was run using /opt/module/hadoop-2.7.3/share/hadoop/common/hadoop-common-2.7.3.jar
到这里,本地模式的Hadoop就安装完啦。
WordCount案例
学大数据的都知道,WordCount等于编程界的HelloWorld,真的很经典。那么本地模式也能运行WordCount案例。
首先你需要切换到HADOOP_HOME下,然后创建一个wcinput目录,在这个目录里创建wc.input文件,在这个文件里输入一些单词。
[[email protected] ~]$ cd $HADOOP_HOME
[[email protected] hadoop-2.7.3]$ mkdir wcinput
[[email protected] hadoop-2.7.3]$ cd wcinput
[[email protected] wcinput]$ vim wc.input
[[email protected] wcinput]$ cat wc.input
Hello Hadoop
Hello Java
Hello BigData
Hello World
Hello Hadoop MapReduce HDFS
然后再回到HADOOP_HOME,用Hadoop分享的典型案例来运行WordCount程序
[[email protected] hadoop-2.7.3]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount wcinput wcoutput
# 注意输出路径wcoutput一定不能提前创建,否则会出错
最后就是查看啦,在$HADOOP_HOME/wcoutput下会产生part文件,用cat命令查看即可
[[email protected] hadoop-2.7.3]$ cd $HADOOP_HOME
[[email protected] hadoop-2.7.3]$ cd wcoutput
[[email protected] wcoutput]$ cat wcoutput/part-r-00000
BigData 1
HDFS 1
Hadoop 2
Hello 5
Java 1
MapReduce 1
World 1
到这里一个最简单的Hadoop模式和案例就全部介绍完毕了,是不是很简单呢?如果觉得难????那么一定要答应我要好好学Linux,毕竟对于一个大数据工程师来说,Linux就和家一样温暖呢!
下一篇: (第九章) Hive企业级调优之本地模式