hadoop安装和案例

转载来源:https://www.cnblogs.com/hejj-bk/p/12974299.html

一、hadoop安装
1)进入到 Hadoop 安装包路径下:

[root@hadoop101 ~]# cd /opt/software/

2)解压安装文件到/opt/module 下面

[root@hadoop101 software]# tar -zxf hadoop-2.7.2.tar.gz -C /opt/module/

3)查看是否解压成功

[root@hadoop101 software]# ls /opt/module/
hadoop-2.7.2 

4)在/opt/module/hadoop-2.7.2/etc/hadoop 路径下配置 hadoop-env.sh
(1)Linux 系统中获取 jdk 的安装路径:

[root@hadoop101 jdk1.8.0_144]# echo $JAVA_HOME
/opt/module/jdk1.8.0_144

(2)修改 hadoop-env.sh 文件中 JAVA_HOME 路径:

[root@hadoop101 hadoop]# vi hadoop-env.sh

修改 JAVA_HOME 如下

export JAVA_HOME=/opt/module/jdk1.8.0_144

5)将 hadoop 添加到环境变量
(1)获取 hadoop 安装路径:

[root@ hadoop101 hadoop-2.7.2]# pwd
/opt/module/hadoop-2.7.2

(2)打开/etc/profile 文件:

[root@ hadoop101 hadoop-2.7.2]# vi /etc/profile
在 profie 文件末尾添加 jdk 路径:(shitf+g)
##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

(3)保存后退出:
:wq
(4)让修改后的文件生效:

[root@ hadoop101 hadoop-2.7.2]# source /etc/profile

(5)重启(如果 hadoop 命令不能用再重启):

[root@ hadoop101 hadoop-2.7.2]# sync
[root@ hadoop101 hadoop-2.7.2]# reboot

6)修改/opt 目录下的所有文件所有者为 atguigu

[root@hadoop101 opt]# chown atguigu:atguigu -R /opt/

7)切换到 atguigu 用户
[root@hadoop101 opt]# su atguigu
Hadoop 运行模式
1)官方网址
(1)官方网站:
http://hadoop.apache.org/
(2)各个版本归档库地址
https://archive.apache.org/dist/hadoop/common/hadoop-2.7.2/
(3)hadoop2.7.2 版本详情介绍
http://hadoop.apache.org/docs/r2.7.2/

2)Hadoop 运行模式
(1)本地模式(默认模式):
不需要启用单独进程,直接可以运行,测试和开发时使用。
(2)伪分布式模式:
等同于完全分布式,只有一个节点。
(3)完全分布式模式:
多个节点一起运行。

二. 本地运行 Hadoop 案例
1.官方 grep 案例
1)创建在 hadoop-2.7.2 文件下面创建一个 input 文件夹

[atguigu@hadoop101 hadoop-2.7.2]$mkdir input

2)将 hadoop 的 xml 配置文件复制到 input

[atguigu@hadoop101 hadoop-2.7.2]$cp etc/hadoop/*.xml input

3)执行 share 目录下的 mapreduce 程序

[atguigu@hadoop101 hadoop-2.7.2]$ bin/hadoop jar  share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+' 

4)查看输出结果

[atguigu@hadoop101 hadoop-2.7.2]$ cat output/*

2.官方 wordcount 案例
1)创建在 hadoop-2.7.2 文件下面创建一个 wcinput 文件夹

[atguigu@hadoop101 hadoop-2.7.2]$mkdir wcinput

2)在 wcinput 文件下创建一个 wc.input 文件

[atguigu@hadoop101 hadoop-2.7.2]$cd wcinput
[atguigu@hadoop101 wcinput]$touch wc.input

3)编辑 wc.input 文件

[atguigu@hadoop101 wcinput]$vim wc.input
在文件中输入如下内容
hadoop yarn
hadoop mapreduce
atguigu
atguigu
保存退出::wq

4)回到 hadoop 目录/opt/module/hadoop-2.7.2
5)执行程序:

[atguigu@hadoop101 hadoop-2.7.2]$ hadoop jar
share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount wcinput wcoutput

6)查看结果:

[atguigu@hadoop101 hadoop-2.7.2]$cat wcoutput/part-r-00000
atguigu 2
hadoop 2
mapreduce 1
yarn 1

三. 伪分布式运行 Hadoop 案例
启动 HDFS 并运行 MapReduce 程序
1)分析:
(1)准备 1 台客户机
(2)安装 jdk
(3)配置环境变量
(4)安装 hadoop
(5)配置环境变量
(6)配置集群
(7)启动、测试集群增、删、查
(8)执行 wordcount 案例
2)执行步骤
需要配置 hadoop 文件如下
(1)配置集群
(a)配置:hadoop-env.sh

Linux 系统中获取 jdk 的安装路径:
[root@ hadoop101 ~]# echo $JAVA_HOME
/opt/module/jdk1.8.0_144
修改 JAVA_HOME 路径:
export JAVA_HOME=/opt/module/jdk1.8.0_144

(b)配置:core-site.xml

fs.defaultFS hdfs://hadoop101:9000 hadoop.tmp.dir /opt/module/hadoop-2.7.2/data/tmp (c)配置:hdfs-site.xml ```html dfs.replication 1 ``` (2)启动集群 (a)格式化 namenode(第一次启动时格式化,以后就不要总格式化)
[atguigu@hadoop101 hadoop-2.7.2]$ bin/hdfs namenode -format

(b)启动 namenode

[atguigu@hadoop101 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start namenode

(c)启动 datanode

[atguigu@hadoop101 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start datanode

(3)查看集群
(a)查看是否启动成功

[atguigu@hadoop101 hadoop-2.7.2]$ jps
13586 NameNode
13668 DataNode
13786 Jps

b)查看产生的 log 日志

当前目录:/opt/module/hadoop-2.7.2/logs
[atguigu@hadoop101 logs]$ ls
hadoop-atguigu-datanode-hadoop.atguigu.com.log
hadoop-atguigu-datanode-hadoop.atguigu.com.out
hadoop-atguigu-namenode-hadoop.atguigu.com.log
hadoop-atguigu-namenode-hadoop.atguigu.com.out
SecurityAuth-root.audit
[atguigu@hadoop101 logs]# cat hadoop-atguigu-datanode-hadoop101.log

(c)web 端查看 HDFS 文件系统
http://192.168.1.101:50070/dfshealth.html#tab-overview
注意:如果不能查看,看如下帖子处理
http://www.cnblogs.com/zlslch/p/6604189.html
(4)操作集群
(a)在 hdfs 文件系统上创建一个 input 文件夹
[atguigu@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -mkdir -p /user/atguigu/input
(b)将测试文件内容上传到文件系统上
[atguigu@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -put wcinput/wc.input
/user/atguigu/input/
(c)查看上传的文件是否正确
[atguigu@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -ls /user/atguigu/input/
[atguigu@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -cat /user/atguigu/
input/wc.input
(d)运行 mapreduce 程序

[atguigu@hadoop101 hadoop-2.7.2]$ bin/hadoop jar
share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/atguigu/input/
/user/atguigu/output

(e)查看输出结果
命令行查看:

[atguigu@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -cat /user/atguigu/output/*
浏览器查看 

(f)将测试文件内容下载到本地

[atguigu@hadoop101 hadoop-2.7.2]$ hadoop fs
-get /user/atguigu/
output/part-r-00000 ./wcoutput/
或者执行
bin/hdfs dfs -get /user/hejj1/output/p* wcinput/

(g)删除输出结果

[atguigu@hadoop101 hadoop-2.7.2]$ hdfs dfs -rm -r  /user/atguigu/output
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值