Hadoop搭建笔记(17)

本文是我学习Hadoop搭建过程中的各种笔记,内容来自于各种公开的教程,起点非常低,从Linux基础开始,直至在PC上搭建Hadoop成功,是真正的从零开始。

感谢过程中帮助我的各位认识的和不认识的老师。

30、Hadoop 单机版安装及应用:

三种安装模式:

Local (Standalone) Mode   单机版

Pseudo-Distributed Mode   伪分布式

Fully-Distributed Mode    全分布式

Hadoop 单机版安装:

第一步:把包移动到home目录里

第二步:解压:tar –zxvf /home/ hadoop-2.7.1.tar.gz –C /usr/local  

扫描二维码关注公众号,回复: 1557651 查看本文章

-C:指定解压到的位置/usr/local

安装单机版,单机版的包下载在D盘里:hadoop-2.7.1.tar

第三步:yum install lrzsz –y

第四步:rz 

rz:此命令执行时,会弹出文件选择对话框,选择好需要上传的文件之后,点确定,就可以开始上传的过程了。上传的速度取决于当时网络的状况。如果执行完毕显示0错误”,文件上传就成功了,其他显示则表示文件上传出现问题了。

查看,多了一个我们刚才解压过来的hadoop-2.7.1   cd /usr/local  

进入hadoop-2.7.1查看其目录   cd ./hadoop-2.7.1/    ll

出来一下目录:

bin:里面是一些可执行的文件

bin:   ll ./bin/  

ll ./bin/出来的结果:rwxr-xr-x

带有x的,是代表可以执行

缀带有 .cmd代表可以在Windows下运行

etc:里面是软件的配置目录     ll ./etc/hadoop/

sbin:可执行的命令,专用于启停Hadoop相关服务的命令   ll ./sbin

share:里面有两目录Hadoop的包,使用说明书,源码,测试性的包等  ll ./share/Hadoop

目前解压过来,还没有安装好,要配置环境变量:

配置环境变量:   vi /etc/profile

Shift + G  跑到最后一行

O    o换行

HADOOP_HOME=   基于HADOOP使用的环境变量都这么表示

HADOOP_HOME=/usr/local/hadoop-2.7.1/   把安装目录赋值给这个变量

PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:

:wq

配置环境变量的作用:在服务器的任何地方都可以使用到我的命令

让配置的变量生效:   source /etc/profile   

此时which就可以看到hadoop的信息:  which Hadoop   

此时出现问题:

hadoop是由Java写的,源码是Java的一些类文件,类文件脱离了Java的 jdk 就是一堆费文件,所以要告诉hadoop,Java的安装文件在哪

解决:vi ./etc/hadoop/hadoop-env.sh

找到Java的,改: export JAVA_HOME=/user/local/jdk1.7.0_79/

检测是否配置好单机版hadoop:hadoop version   ↓(这样就配置好了)

Hadoop单机版安装总结:

1. 解压安装包到指定目录

2. hadoop配置环境变量

3. 配置hadoop的安装目录下的/etc/hadoop/hadoop-env.sh

告诉hadoop我们的jdk的安装目录

4. 测试 which hadoop hadoop version

hadoop单机版安装实际操作:

1. yum install lrzsz –y  只需一次

 

2.切到home目录下(把软件按在哪个目录下,切到在哪个目录下,相当与解压安装包到指定目录):

[root@hadoop01 ~]# cd /home/

安装哪个压缩包(hadoop-2.7.1.tar.gz):rz 

[root@hadoop01 home]# rz   

 

3.解压:  

[root@hadoop01 home]# tar –zxvf /home/ hadoop-2.7.1.tar.gz –C /usr/local   

[root@hadoop01 ~]# cd /usr/local/

[root@hadoop01 local]# ll

total 48

drwxr-xr-x. 2 root  root  4096 Sep 23  2011 bin

drwxr-xr-x. 9 10021 10021 4096 Jun 29  2015 hadoop-2.7.1    多了一个这个

drwxr-xr-x. 8 uucp    143 4096 Apr 18 10:07 jdk1.8.0_144

…………

查看hadoop-2.7.1目录:

[root@hadoop01 local]# cd ./hadoop-2.7.1/

[root@hadoop01 hadoop-2.7.1]# ll

total 52

drwxr-xr-x. 2 10021 10021  4096 Jun 29  2015 bin

drwxr-xr-x. 3 10021 10021  4096 Jun 29  2015 etc

drwxr-xr-x. 2 10021 10021  4096 Jun 29  2015 include

drwxr-xr-x. 3 10021 10021  4096 Jun 29  2015 lib

drwxr-xr-x. 2 10021 10021  4096 Jun 29  2015 libexec

-rw-r--r--. 1 10021 10021 15429 Jun 29  2015 LICENSE.txt

-rw-r--r--. 1 10021 10021   101 Jun 29  2015 NOTICE.txt

-rw-r--r--. 1 10021 10021  1366 Jun 29  2015 README.txt

drwxr-xr-x. 2 10021 10021  4096 Jun 29  2015 sbin

drwxr-xr-x. 4 10021 10021  4096 Jun 29  2015 share

 

hadoop-2.7.1中,一些目录的作用:

操作hadoop的可执行命令:bin

[root@hadoop01 hadoop-2.7.1]# ll ./bin/

total 448

-rwxr-xr-x. 1 10021 10021 160127 Jun 29  2015 container-executor

-rwxr-xr-x. 1 10021 10021   6488 Jun 29  2015 hadoop

-rwxr-xr-x. 1 10021 10021   8786 Jun 29  2015 hadoop.cmd

-rwxr-xr-x. 1 10021 10021  12223 Jun 29  2015 hdfs

-rwxr-xr-x. 1 10021 10021   7327 Jun 29  2015 hdfs.cmd

-rwxr-xr-x. 1 10021 10021   5953 Jun 29  2015 mapred

-rwxr-xr-x. 1 10021 10021   6310 Jun 29  2015 mapred.cmd

-rwxr-xr-x. 1 10021 10021   1776 Jun 29  2015 rcc

-rwxr-xr-x. 1 10021 10021 204075 Jun 29  2015 test-container-executor

-rwxr-xr-x. 1 10021 10021  13308 Jun 29  2015 yarn

-rwxr-xr-x. 1 10021 10021  11386 Jun 29  2015 yarn.cmd.cmd可以在Windows下运行)

 

软件的配置目录:etc

[root@hadoop01 hadoop-2.7.1]# ll ./etc/

total 4

drwxr-xr-x. 2 10021 10021 4096 Jun 29  2015 hadoop

 

常用的配置文件:ll ./etc/hadoop

[root@hadoop01 hadoop-2.7.1]# ll ./etc/hadoop/

total 152

-rw-r--r--. 1 10021 10021  4436 Jun 29  2015 capacity-scheduler.xml

-rw-r--r--. 1 10021 10021  1335 Jun 29  2015 configuration.xsl

………………

-rw-r--r--. 1 10021 10021  4567 Jun 29  2015 yarn-env.sh

-rw-r--r--. 1 10021 10021   690 Jun 29  2015 yarn-site.xml

 

hadoopd库和配置文件:

[root@hadoop01 hadoop-2.7.1]# ll

total 52

drwxr-xr-x. 2 10021 10021  4096 Jun 29  2015 bin

drwxr-xr-x. 3 10021 10021  4096 Jun 29  2015 etc

drwxr-xr-x. 2 10021 10021  4096 Jun 29  2015 include

drwxr-xr-x. 3 10021 10021  4096 Jun 29  2015 lib

drwxr-xr-x. 2 10021 10021  4096 Jun 29  2015 libexec

-rw-r--r--. 1 10021 10021 15429 Jun 29  2015 LICENSE.txt

-rw-r--r--. 1 10021 10021   101 Jun 29  2015 NOTICE.txt

-rw-r--r--. 1 10021 10021  1366 Jun 29  2015 README.txt

drwxr-xr-x. 2 10021 10021  4096 Jun 29  2015 sbin

drwxr-xr-x. 4 10021 10021  4096 Jun 29  2015 share

 

启停hadoop相关服务的命令:sbin

[root@hadoop01 hadoop-2.7.1]# ll ./sbin/

total 120

-rwxr-xr-x. 1 10021 10021 2752 Jun 29  2015 distribute-exclude.sh

-rwxr-xr-x. 1 10021 10021 6452 Jun 29  2015 hadoop-daemon.sh

-rwxr-xr-x. 1 10021 10021 1360 Jun 29  2015 hadoop-daemons.sh

-rwxr-xr-x. 1 10021 10021 1640 Jun 29  2015 hdfs-config.cmd

-rwxr-xr-x. 1 10021 10021 1427 Jun 29  2015 hdfs-config.sh

-rwxr-xr-x. 1 10021 10021 2291 Jun 29  2015 httpfs.sh

-rwxr-xr-x. 1 10021 10021 3128 Jun 29  2015 kms.sh

-rwxr-xr-x. 1 10021 10021 4080 Jun 29  2015 mr-jobhistory-daemon.sh

-rwxr-xr-x. 1 10021 10021 1648 Jun 29  2015 refresh-namenodes.sh

-rwxr-xr-x. 1 10021 10021 2145 Jun 29  2015 slaves.sh

-rwxr-xr-x. 1 10021 10021 1779 Jun 29  2015 start-all.cmd

-rwxr-xr-x. 1 10021 10021 1471 Jun 29  2015 start-all.sh

-rwxr-xr-x. 1 10021 10021 1128 Jun 29  2015 start-balancer.sh

-rwxr-xr-x. 1 10021 10021 1401 Jun 29  2015 start-dfs.cmd

-rwxr-xr-x. 1 10021 10021 3734 Jun 29  2015 start-dfs.sh

-rwxr-xr-x. 1 10021 10021 1357 Jun 29  2015 start-secure-dns.sh

-rwxr-xr-x. 1 10021 10021 1571 Jun 29  2015 start-yarn.cmd

-rwxr-xr-x. 1 10021 10021 1347 Jun 29  2015 start-yarn.sh

-rwxr-xr-x. 1 10021 10021 1770 Jun 29  2015 stop-all.cmd

-rwxr-xr-x. 1 10021 10021 1462 Jun 29  2015 stop-all.sh  (常用)

-rwxr-xr-x. 1 10021 10021 1179 Jun 29  2015 stop-balancer.sh

-rwxr-xr-x. 1 10021 10021 1455 Jun 29  2015 stop-dfs.cmd

-rwxr-xr-x. 1 10021 10021 3206 Jun 29  2015 stop-dfs.sh

-rwxr-xr-x. 1 10021 10021 1340 Jun 29  2015 stop-secure-dns.sh

-rwxr-xr-x. 1 10021 10021 1642 Jun 29  2015 stop-yarn.cmd

-rwxr-xr-x. 1 10021 10021 1340 Jun 29  2015 stop-yarn.sh

-rwxr-xr-x. 1 10021 10021 4295 Jun 29  2015 yarn-daemon.sh

-rwxr-xr-x. 1 10021 10021 1353 Jun 29  2015 yarn-daemons.sh

 

hadoop的学习文档一些测试jar包share

[root@hadoop01 hadoop-2.7.1]# ll ./share/

total 8

drwxr-xr-x. 3 10021 10021 4096 Jun 29  2015 doc

doc:hadoop的学习文档,相当于使用说明书)

drwxr-xr-x. 9 10021 10021 4096 Jun 29  2015 hadoop

hadoop:hadoop的一些测试jar包,一些源码)

 

4.配置环境变量:  

[root@hadoop01 hadoop-2.7.1]# vi /etc/profile  

JAVA_HOME=/usr/local/jdk1.8.0_144/   (之前配置好,已存在)

HADOOP_HOME=/usr/local/hadoop-2.7.1

PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:

 

5.使修改的命令生效:

[root@hadoop01 hadoop-2.7.1]# source /etc/profile

-bash: my: command not found  (但是后面可以)

 

再次which:

[root@hadoop01 hadoop-2.7.1]# which hadoop

/usr/local/hadoop-2.7.1/bin/hadoop

看到确实是刚才解压安装到的目录

 

查看hadoop版本:

[root@hadoop01 hadoop-2.7.1]# hadoop verison

Error: JAVA_HOME is not set and could not be found.  

报错,原因是,此时没有配置Java的环境变量

 

配置Java的环境变量,即告诉hadoop我们安装的jdk的安装路径:

[root@hadoop01 hadoop-2.7.1]# vi ./etc/hadoop/hadoop-env.sh

 

修改此处,修改成Java真正的安装目录:

export JAVA_HOME=${JAVA_HOME}

修改为:

export JAVA_HOME=/usr/local/ jdk1.8.0_144/

 

再次 hadoop version

[root@hadoop01 hadoop-2.7.1]# hadoop version

出来的结果为(成功!):

Hadoop 2.7.1

Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 15ecc87ccf4a0228f35af08fc56de536e6ce657a

Compiled by jenkins on 2015-06-29T06:04Z

Compiled with protoc 2.5.0

From source with checksum fc0a1a23fc1868e4d5ee7fa2b28a58a

This command was run using /usr/local/hadoop-2.7.1/share/hadoop/common/hadoop-common-2.7.1.jar

单机版Hadoop搭建成功↑

使用单机版Hadoop跑一个作业,统计字数,统计操作:

$ mkdir input

先创建一个目录

$ cp etc/hadoop/*.xml input  

把目录下面所以的*.xml的文件,复制到input数据目录下面

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

计算每一个目录里面每一个单词出现的次数

$ cat output/*

home下创建一个input目录:

[root@hadoop01 hadoop-2.7.1]# mkdir /home/input

etc下面的hadoop目录里面所有的*.xml的文件,复制到新创建的input数据目录下面

[root@hadoop01 hadoop-2.7.1]# cp ./etc/hadoop/*.xml /home/input/

复制完成,查看新创建的input数据目录

[root@hadoop01 hadoop-2.7.1]# ll /home/input/

total 48

-rw-r--r--. 1 root root 4436 Apr 18 10:43 capacity-scheduler.xml

-rw-r--r--. 1 root root  774 Apr 18 10:43 core-site.xml

-rw-r--r--. 1 root root 9683 Apr 18 10:43 hadoop-policy.xml

-rw-r--r--. 1 root root  775 Apr 18 10:43 hdfs-site.xml

-rw-r--r--. 1 root root  620 Apr 18 10:43 httpfs-site.xml

-rw-r--r--. 1 root root 3518 Apr 18 10:43 kms-acls.xml

-rw-r--r--. 1 root root 5511 Apr 18 10:43 kms-site.xml

-rw-r--r--. 1 root root  690 Apr 18 10:43 yarn-site.xml

出来的是8个文件,要求统计:这8个文件中的每个文件,每个单词出现的频率

 

由于配了环境变量,采用框来架执行:

[root@hadoop01 hadoop-2.7.1]# hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /home/input/ /home/output

代表使用jar包的方式来执行本次作业

 

完成本次作业后,查看output目录:

[root@hadoop01 hadoop-2.7.1]# ll /home/output/

total 12

-rw-r--r--. 1 root root 9984 Apr 24 20:17 part-r-00000

-rw-r--r--. 1 root root    0 Apr 24 20:17 _SUCCESS   

出来的是:结果文件和本次作业成功

 

查看结果文件:

[root@hadoop01 hadoop-2.7.1]# more /home/output/part-r-00000

"*" 18

"AS 8

"License"); 8

"alice,bob 18

"kerberos". 1

"simple" 1

'HTTP/' 1

'none' 1

'random' 1

'sasl' 1

'string' 1

'zookeeper' 2

'zookeeper'. 1

(ASF) 1

(Kerberos). 1

(default), 1

………………

出来的是每个文件,每个单词出现的次数(按Enter向下看)

单机版Hadoop跑一个作业,统计字数成功↑

 

查看hdfs文件系统,查看hdfs下面的目录有哪些东西(hdfs是个文件系统,由于我们使用的是3……版,它会把Linux文件系统,作为hdfs文件系统)

[root@hadoop01 hadoop-2.7.1]# hdfs dfs -ls /

18/04/24 20:24:06 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

Found 24 items

-rw-r--r--   1 root root          0 2018-04-24 08:20 /.autofsck

drwx------   - root root       4096 2018-04-21 22:33 /.dbus

dr-xr-xr-x   - root root       4096 2018-04-22 03:28 /bin

dr-xr-xr-x   - root root       1024 2018-04-21 22:31 /boot

drwxr-xr-x   - root root       3780 2018-04-24 08:21 /dev

drwxr-xr-x   - root root      12288 2018-04-24 20:02 /etc

drwxr-xr-x   - root root       4096 2018-04-24 20:17 /home

dr-xr-xr-x   - root root       4096 2018-04-22 02:22 /lib

dr-xr-xr-x   - root root      12288 2018-04-22 03:28 /lib64

drwx------   - root root      16384 2018-04-21 22:20 /lost+found

drwxr-xr-x   - root root       4096 2018-04-24 08:26 /media

drwxr-xr-x   - root root          0 2018-04-24 08:21 /misc

drwxr-xr-x   - root root       4096 2018-04-23 08:54 /mnt

drwxr-xr-x   - root root          0 2018-04-24 08:21 /net

drwxr-xr-x   - root root       4096 2018-04-21 22:29 /opt

dr-xr-xr-x   - root root          0 2018-04-24 08:20 /proc

dr-xr-x---   - root root       4096 2018-04-24 18:43 /root

dr-xr-xr-x   - root root      12288 2018-04-23 08:54 /sbin

drwxr-xr-x   - root root          0 2018-04-24 08:20 /selinux

drwxr-xr-x   - root root       4096 2011-09-23 19:50 /srv

drwxr-xr-x   - root root          0 2018-04-24 08:20 /sys

drwxrwxrwt   - root root       4096 2018-04-24 20:17 /tmp

drwxr-xr-x   - root root       4096 2018-04-21 22:22 /usr

drwxr-xr-x   - root root       4096 2018-04-21 22:29 /var


猜你喜欢

转载自blog.csdn.net/zxqjinhu/article/details/80435468