1.hadoop环境搭建以及配置

时间:2022-10-22 20:33:37

提前说明一下:由于环境的配置搞得我很头疼,所以记录下来。并不是零基础,像hadoop的由来、发展史、结构、各个组件,这里都没有介绍,只是为了自己能够在忘了的时候回忆起来,所以记录下来

如何在linux上安装hadoop

首先我这里使用的是Ubuntu18.04,64位系统

1.安装jdk

由于hadoop是由java编写的,所以需要安装jdk。我这里使用的是jdk1.8.0,安装路径为/usr/local/java/jdk1.8.0_191/

配置环境变量,在 ~/.bashrc尾部添加如下内容:

export JAVA_HOME=/usr/local/java/jdk1.8.0_191

export PATH=$JAVA_HOME/bin:$PATH

然后source ~/.bashrc激活

最后在终端中输入java -version,显示如下,说明配置成功

1.hadoop环境搭建以及配置

2.安装Hadoop

在安装hadoop之前,我们先安装一下ssh和rsync

apt-get install ssh

apt-get install rsync

然后配置免密码登录,因为我们的datanode和namenode之间是要进行进程通信的。可以使用以下方式配置

  ssh-keygen -t rsa,一路回车即可,然后文件自动会保存在当前用户下的.ssh文件下

  cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys,将id_rsa.pub文件里的内容拷贝到authorized_keys文件里

这样登陆过一次之后就可以免密码登录了

接下来下载hadoop

这里我们使用hadoop的发行版,cdh,下载链接在http://archive.cloudera.com/cdh5/cdh/5/,这个发行版的好处就在于可以避免jar包的冲突。

1.hadoop环境搭建以及配置

以上便是hadoop-cdh的文件结构,我们进入./etc/hadoop目录下看看

1.hadoop环境搭建以及配置

这里面有很多的配置文件,这些配置文件非常重要,hadoop的配置所以才说麻烦,我们慢慢介绍

再来看看sbin目录下的文件

1.hadoop环境搭建以及配置

sbin目录下有很多的启动文件,启动dfs、yarn等等,当然有启动就有停止。

接下来便要修改配置文件了,进入./etc/hadoop下

首先修改hadoop-env.sh

1.hadoop环境搭建以及配置

然后修改core-site.xml

1.hadoop环境搭建以及配置

再次打开文件

1.hadoop环境搭建以及配置

然后修改hdfs-site.xml

1.hadoop环境搭建以及配置

接下来修改slaves这个文件,对于我们目前的伪分布式目前是没有什么作用的,但是对于我们理解hadoop集群是有帮助的。我们知道一个namenode带多个datanode,那么datanode的hostname或者ip在哪,有多少个呢?就是配置在slaves文件里面。

1.hadoop环境搭建以及配置

里面只有一个localhost,当然我们写成ubuntu也是可以的,因为我们的主机名就叫ubuntu

接下来启动hdfs

首先格式化文件系统(仅第一次执行即可,因为每执行一次,相当于格式化一次,hdfs上的数据也就被我们清空了),hdfs namenode -format

我们进入bin目录下执行格式化操作

1.hadoop环境搭建以及配置

1.hadoop环境搭建以及配置

执行成功,来看看有没有tmp目录

1.hadoop环境搭建以及配置

看看有没有内容

1.hadoop环境搭建以及配置

然后启动hadoop,直接执行sbin目录下的start-dfs.sh即可

1.hadoop环境搭建以及配置

出现界面如下,直接输入yes即可

1.hadoop环境搭建以及配置

显示配置成功,我们查看当前的进程

1.hadoop环境搭建以及配置

显示如下

如果出现进程少了的情况,那么说明配置文件出了问题,那么可以去记录日志的文件里面查看,那么日志记录在哪呢?

1.hadoop环境搭建以及配置

查看之后,显示的都是info,说明是正常输出,如果出错,会出现error

1.hadoop环境搭建以及配置

以上是通过查看日志文件,那么能不能通过浏览器查看呢?显然是可以的

输入http://ubuntu:50070即可,再次强调这里的ubuntu是我的主机名,你在终端中输入hostname,显示的啥就输入啥。至于端口为什么不是8020,8020是我们启动的时候用的,使用浏览器要通过50070访问

1.hadoop环境搭建以及配置

里面包含很多信息,包括你的节点,数量等等

1.hadoop环境搭建以及配置

1.hadoop环境搭建以及配置

那么启动既然成功了,停止该怎么办呢?直接进入sbin目录下,执行./stop-dfs.sh即可

1.hadoop环境搭建以及配置

hdfs shell常用命令的使用

主要命令有:ls mkdir put get rm,和linux shell非常相似

前面忘记说了,建议把hadoop的bin目录配置到环境变量里面去,我这里已经配置好了

1.hadoop环境搭建以及配置

这便是hadoop shell的常用命令,比方说第二个namenode -format是不是很熟悉,我们之前用来格式化hadoop文件系统的

再来看看第一个命令dfs,可以在支持hadoop的文件系统上运行文件系统命令,我们执行hdfs dfs看一下

1.hadoop环境搭建以及配置

里面的命令很多和linux是相似的,而且从参数名也能看出来作用

下面我们就来试一试吧,我在桌面上创建了一个hello.txt文件

1.hadoop环境搭建以及配置

1.hadoop环境搭建以及配置

我们打开看一看,既然文件已经上传到了hdfs,那么我们就可以直接使用hdfs shell命令打开它,使用hdfs dfs -cat xxx,可以发现和linux基本命令是保持一致的,只不过在hdfs shell中命令要加上一个-。

1.hadoop环境搭建以及配置

如果我们想创建一个目录呢?在linux上是mkdir,那么同理在hadoop上是hdfs dfs -mkdir,如果想递归创建,那么使用hdfs dfs -mkdir -p即可

1.hadoop环境搭建以及配置

如果递归显示文件目录,使用hdfs dfs -ls -R

1.hadoop环境搭建以及配置

之前展示了把本地文件复制到hdfs上面来,那么我要把hdfs的文件放到本地上面去怎么办呢?使用get

1.hadoop环境搭建以及配置

1.hadoop环境搭建以及配置虽然是mmp.txt,但mkdir只能创建目录,所以这里还是一个目录

那么删除一个文件怎么办呢?显然熟悉linux应该能猜到,hdfs dfs -rm xxx,但是这个只能删除文件,如果想删除文件夹,hdfs dfs -rm -R XXX

1.hadoop环境搭建以及配置

我们进入浏览器页面

1.hadoop环境搭建以及配置

1.hadoop环境搭建以及配置

1.hadoop环境搭建以及配置

这里的block0表示只有一个block,为什么呢?因为文件没有分块,默认是128M,我们这里的文件就几百字节,所以无需分块

基本命令就讲到这里,至于其他的需要时可以直接输入hdfs dfs查找即可

3.安装maven

然后配置环境变量,

export MAVEN_HOME=/usr/local/maven/apache-maven-3.6.0
export PATH=$MAVEN_HOME/bin:$PATH

-------------------------------pass------------------------------

显示版本2.9.1

这里还需要修改一些其他的配置文件,进入到$HADOOP_HOME/etc/hadoop中。

1.hadoop环境搭建以及配置

首先修改hadoop-env.sh

1.hadoop环境搭建以及配置

然后修改core-site.xml

1.hadoop环境搭建以及配置

然后修改hdfs-site.xml

1.hadoop环境搭建以及配置

然后修改mapred-site.xml,由于没有这个文件,但有mapred-site.xml.template这个文件,所以我们拷贝一份。

1.hadoop环境搭建以及配置

1.hadoop环境搭建以及配置

然后配置yarn-site.xml

1.hadoop环境搭建以及配置

配置完成

接下来格式化一下

1.hadoop环境搭建以及配置

1.hadoop环境搭建以及配置

格式化成功,看一下相应的目录

可以看到之前新建的空目录,里面已经有东西了。

如果需要密码,就输入这两行,就可以免密码登陆了

最后启动一下hadoop

ssh-keygen -t rsa -P

cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

1.hadoop环境搭建以及配置

4.安装maven

我安装到了/usr/local/java目录下,然后在~/.bashrc中配置环境变量

export JAVA_HOME=/usr/local/java/jdk1.8.0_181

export PATH=$JAVA_HOME/bin:$PATH

1.hadoop环境搭建以及配置

输入mvn输出如下,说明安装成功

5.安装python

直接apt-get install python3即可

6.安装spark

我安装到了/usr/local/目录下,然后在~/.bashrc中配置环境变量

export SPARK_HOME=/usr/local/spark/spark-2.3.1-bin-hadoop2.7

export PATH=$SPARK_HOME/bin:$PATH

1.hadoop环境搭建以及配置

输入pyspark成功进入。