Linux 大数据-hadoop 01-01

本文详细介绍了在Linux环境下配置Hadoop单机模式的步骤,包括安装Java环境,下载并解压Hadoop软件,配置环境变量,解决JAVA_HOME问题,并通过执行hadoop命令验证安装。此外,还展示了如何使用Hadoop进行简单的词频统计测试。

++++++++++++++++++ | 1 hadoop 单  机  配  置  | ++——>> 配置两个参数!!

• Hadoop 的单机模式安装非常简单
– 1、获取软件
http://hadoop.apache.org
– 2、安装配置 java 环境,安装 jps 工具
安装 Openjdk 和 openjdk-devel

[root@localhost ~]# ls
[root@localhost ~]# vim /etc/hostname
node20
[root@localhost ~]# vim /etc/hosts
192.168.1.20 node20
[root@localhost ~]# logout
[root@room9pc01 ~]# ssh 192.168.1.20
[root@node20 ~]# 

[root@node20 ~]# yum install java-1.8.0-openjdk-devel 
(只装了openjdk-devel 会根据依赖关系自动安装Openjdk) 注意:!! java兼容不太好最好把之前的版本卸载掉!

[root@node20 ~]# java -version  ## 可以查看安装的java
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
[root@node20 ~]# 
[root@node20 ~]# 
[root@node20 ~]# jps   (装的过程中 装了一个开发工具,这个工具是查看角色用的)
1420 Jps

-3 安装hadoop 软件!
找到软件,或者下载到机器上 (本次实验之前我的把下载的hadoop软件放到另外一台机器上了)
[root@node20 ~]# lftp 192.168.1.254
lftp 192.168.1.254:/> cd elk/hadoop/
lftp 192.168.1.254:/elk/hadoop> get hadoop-2.7.6.tar.gz 
[root@node20 ~]# ls
hadoop-2.7.6.tar.gz  
[root@node20 ~]# 
[root@node20 ~]# tar zxf hadoop-2.7.6.tar.gz 
[root@node20 ~]# ls
hadoop-2.7.6  hadoop-2.7.6.tar.gz

[root@node20 ~]# mv hadoop-2.7.6 /usr/local/hadoop
[root@node20 ~]# 
[root@node20 ~]# cd /usr/local/hadoop/
[root@node20 hadoop]# ls
bin  include  libexec      NOTICE.txt  sbin
etc  lib      LICENSE.txt  README.txt  share
『bin里面放的可以执行的命令文件; sbin也是命令 服务相关的; include放的是引用的类库  libexec执行的一些类库
etc配置文件所在的路径; lib动态连接库   share 编写的一些文档,案例,代码!』

[root@node20 hadoop]# ls bin/
container-executor  hdfs      mapred.cmd               yarn
hadoop              hdfs.cmd  rcc                      yarn.cmd
hadoop.cmd          mapred    test-container-executor
[root@node20 hadoop]# 
[root@node20 hadoop]# ./bin/hadoop            ## — — — —>> 运行一下hadoop
Error: JAVA_HOME is not set and could not be found.   ##报错!
[root@node20 hadoop]# 
[root@node20 hadoop]# rpm -ql java-1.8.0-openjdk  ##查找一下java的安装的家目录路径
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre/bin/policytool
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre/lib/amd64/libawt_xawt.so
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre/lib/amd64/libjawt.so
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre/lib/amd64/libjsoundalsa.so
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre/lib/amd64/libsplashscreen.so
/usr/share/applications/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64-policytool.desktop
.....    .....   ....   ....   
可以看到家目录,共有的目录到/jre 之前都相同
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre

[root@node20 hadoop]# ls
[root@node20 hadoop]# cd etc/
[root@node20 etc]# ls
hadoop
[root@node20 hadoop]# ls
[root@node20 hadoop]# pwd
/usr/local/hadoop/etc/hadoop            ##----->> hadoop 配置文件的路径!

[root@node20 hadoop]# pwd
/usr/local/hadoop/etc/hadoop
[root@node20 hadoop]# vim hadoop-env.sh  #(这其实是个脚本,修改这个脚本, 非注释的 前两行!)
修改前  
export JAVA_HOME=${JAVA_HOME}
与 后
export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre"

修改前 
export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-"/etc/hadoop"}   ##// hadoop配置文件路径!
【解释: ${HADOOP_CONF_DIR:-"/etc/hadoop"} 前面是个变量 HADOOP_CONF_DIR这是变量的主题,后面/etc/hadoop是个字符串; 其中 :- 表示 前面变量为空或没有设置的时候,由后面字符串代替  】

修改后
export HADOOP_CONF_DIR="/usr/local/hadoop/etc/hadoop"


[root@node20 hadoop]# cd /usr/local/hadoop/
[root@node20 hadoop]# ./bin/hadoop          ##此时就不会报错了!显示出信息了!
验证安装是否完成!
[root@node20 hadoop]# ./bin/hadoop version    ## 查看一下版本  这时候安装完成!
Hadoop 2.7.6
Subversion https://shv@git-wip-us.apache.org/repos/asf/hadoop.git -r 085099c66cf28be31604560c376fa282e69282b8
Compiled by kshvachk on 2018-04-18T01:33Z
Compiled with protoc 2.5.0
From source with checksum 71e2695531cb3360ab74598755d036
This command was run using /usr/local/hadoop/share/hadoop/common/hadoop-common-2.7.6.jar
[root@node20 hadoop]# 
------____________________——————
##hadoop 应用!
Hadoop 单机模式安装配置

• Hadoop 的单机模式安装非常简单,只需要配置好
环境变量即可运行,这个模式一般用来学习和测试
hadoop 的功能
– 测试 --- 统计词频
cd /usr/local/hadoop
mkdir input
cp *.txt input/
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-
mapreduce-examples-2.7.3.jar wordcount input output

hadoop 用来分析大数据, 例如热词,像百度,可以通过用户的日志,提出热词 大家的关注点。
没有大数据,那么我们就分析个小数据!


[root@node20 hadoop]# ls
bin  etc  include  lib  libexec  LICENSE.txt  NOTICE.txt  README.txt  sbin  share
[root@node20 hadoop]# mkdir oo
[root@node20 hadoop]# 
[root@node20 hadoop]# cp *.txt oo/            ## 把当前的txt文件放到一个文件里
[root@node20 hadoop]# cd oo
[root@node20 oo]# ls
LICENSE.txt  NOTICE.txt  README.txt             ## 搜索这三个文件里面的热词,每个词的出现的次数!
[root@node20 oo]# 
『如果不用hadoop 用awk grep 这类比较复杂困难』
[root@node20 hadoop]# bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar wordcount oo xx 

## 调用 bin/hadoop   ; jar 表示我要用hadoop执行一个java脚本(java的打包后的扩展名是jar); “share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar” 是这个java脚本的路径 是个文件; wordcount 调用java的方法 意思是单词出现频率的总和的统计, 统计oo这个文件; 把结果放到xx文件里面

解释:: oo  是要分析的数据,  xx 是分析结果放的文件夹   注意这个文件夹名只能用一次,再次使用就会报错!防止就是数据覆盖!

[root@node20 hadoop]# cat xx/*
.......
.......
text    8
than    12
that    119
that:    1
the    701
their    7
them,    1
then    9
theory,    1
thereof    3
thereof),    4
......
......
分析统计 the 出现次数最多 !   (之后还可以用其它的命令,进行排序。。。。)


[root@node20 hadoop]# pwd
/usr/local/hadoop
[root@node20 hadoop]# bin/hadoop  ## 查看一下hadoop常用的参数!
Usage: hadoop [--config confdir] [COMMAND | CLASSNAME]
  CLASSNAME            run the class named CLASSNAME
 or
  where COMMAND is one of:
  fs                   run a generic filesystem user client
  version              print the version
  jar <jar>            run a jar file                        ## jar
                       note: please use "yarn jar" to launch
                             YARN applications, not this command.
  checknative [-a|-h]  check native hadoop and compression libraries availability
  distcp <srcurl> <desturl> copy file or directories recursively
  archive -archiveName NAME -p <parent path> <src>* <dest> create a hadoop archive
  classpath            prints the class path needed to get the
  credential           interact with credential providers
                       Hadoop jar and the required libraries
  daemonlog            get/set the log level for each daemon
  trace                view and modify Hadoop tracing settings

Most commands print help when invoked w/o parameters.


[root@node20 hadoop]# file share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar    ##//可以看到这个jar的路径
share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar: Zip archive data, at least v1.0 to extract
[root@node20 hadoop]# 

[root@node20 hadoop]# ./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar ##回车 可以看到 有好多参数,可以选择使用!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值