欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Hadoop搭建之本地模式

程序员文章站 2022-07-14 14:33:03
...

概述

        众所周知(反正我知道,不知道你知不知道),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就和家一样温暖呢!