Hadoop 环境搭建(三)hdfs 配置

2019-11-29  本文已影响0人  Vector_Wan

在之前的文章中我们已经安装好了 JDK 和 Hadoop 并配置好了环境变量,输入 hadoop version 检查一下之前的步骤是否配置正确:

好的 可以看到我使用的版本是 2.7.3 ,然后我们到 /soft/hadoop/etc/hadoop/ 目录下查看一下配置文件:

先说说我对 hdfs 的理解吧,hdfs 翻译过来就是 hadoop 分布式文件系统,可以理解为一块巨大的硬盘,只不过这个硬盘被分成了很多块放在了不同的计算机上,统一管理,但是作为使用者有时候我们不太能感受到其他计算机的存在,就直接看成一块就好啦。
数据被储存在节点中(就是一台计算机),专门用来储存数据的节点被称为 datenode ,还有一种节点是用来管理数据节点的叫做 namenode 。一般都是有一个 namenode 很多个datanode 。所以你大概也可以猜得到,要配置HDFS 我们需要指定这些 namenode 和 datadode 的地址,储存数据的地址,为了能让 namenode 访问 datanode 所在的计算机还要配置 SSH。

一、配置 HDFS

我们第一个修改的是 cose-site 文件,也就是核心配置文件,修改文件呢其实可以直接使用 vi 修改,但是 npp 有一个很好用的插件叫 Npp ftp 可以简化这一过程,同时也是为了减少出错。

一般 npp 安装之后都没有这个插件需要下载安装,点击右边的齿轮然后配置服务器信息,注意这里的协议选择 SFTP 不要选默认的 FTP。然后刷新根目录,找到我们要编辑的文件,双击打开,就可以直接在这里编辑啦。

要配置呢我们也不能瞎配,我们得看看默认的配置是什么,直接在 win 上解压 Hadoop 文件,建议解压到 D 或者别的盘的根目录下(目录不要有中文),之后还会用到这个,到目录:D:\hadoop-2.7.3\hadoop-2.7.3\share\hadoop\common\hadoop-common-2.7.3 下有一个 core-default.xml 文件,使用 npp 打开,这里面就全是 core-site 的默认配置
哦对了,注意那个hadoop-common-2.7.3 是一个 jar 包,直接解压一下就行。

首先我们修改一下 Hadoop 存临时文件的地址,直接搜索 hadoop.tmp.dir 找到之后就可以发现它默认的地址是当前用户的 tmp 文件夹下,这个文件夹系统会定时清理,这可能会给我们的工作带来一些困扰,所以我们修改一下这个储存地址。
所以我们先建一个新目录 /hadoop/temp 用来存放Hadoop的临时文件
然后在 core-site 文件中的<configuration>标签下添加:

<property>
  <name>hadoop.tmp.dir</name>
  <value>/hadoop/temp</value>
</property>

然后配置 namenode 的地址,在默认配置文档中搜索:fs.defaultFS,将namenode 配置成本机,端口号是 9000:

<property>
  <name>fs.defaultFS</name>
  <value>hdfs://server2:9000</value>
</property>

然后保存好,在 Xshell上查看一下 core-site 文件就已经是修改之后的了。
但是注意我们在上面使用了一个 server2 这个计算机不能理解,我们需要配置一下本地 dns ,就是映射 ,使用命令 vi /etc/hosts 注意不是host 是 hosts
添加 一行:192.168.80.141 server2 就是添加一个映射。

配置好 core-site 之后配置 hdfs-site 和上面的步骤差不多,默认配置文件在 D:\hadoop-2.7.3\hadoop-2.7.3\share\hadoop\hdfs\hadoop-hdfs-2.7.3 中的 hdfs-default 文件里面,
首先配置 namenode 和 datanode 的目录,

注意:这是一个伪分布式的搭建,所以需要配置 namenode.dirdatanode.dir 如果有多台机器我们只需要配置其中一个就可以。

我们需要先在根目录下的 hadoop文件夹中创建一个 data 文件夹,然后在 data 文件夹中创建 namenode 文件夹和 datanode 文件夹
在默认文件里面搜索 dfs.namenode.name.dirdfs.datanode.data.dir
复制默认设置到 hdfs-site 中,然后修改成:

      <property>
        <name>dfs.namenode.name.dir</name>
        <value>/hadoop/data/namenode</value>
      </property>
      <property>
            <name>dfs.datanode.data.dir</name>
            <value>/hadoop/data/datanode</value>
      </property>
      <property>
        <name>dfs.replication</name>
        <value>1</value>
      </property>

上面还配置了 dfs.replication, 这个是副本数量,因为我们只有一台机器,所以设置成1就可以(默认是3),保存,然后到 server 上查看一下这个文件是否正确配置。

二、安装 SSH

安装 SSH 的目的就在于如果我们真的有一两百个namenode datanode 的时候我们不能自己手动一个一个启动,我们希望在必要的时候 namenode 可以自动启动 datanode 的机器。
首先下载并安装 SSH:
使用命令 yum -y install openssh-server openssh-clients

下载安装完成之后生成密钥对:ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

然后切换到 home 目录下,生成的文件夹是隐藏的也就是 ls 查看不到,然是可以进入,目录是 ~/.ssh
进入到这个目录下之后有两个文件:id_rsa 和 id_rsa.pub
然后我们要把公钥放到别人的授权文件里面,然后我们之后拿私钥开授权文件就可以进去。
id_rsa.pub 就是这个公钥,但是我们没有授权文件,所以实际上我们就是把 id_rsa.pub 复制一份然后名字改成 授权文件的名字:authorized_keys
命令是:cp id_rsa.pub authorized_keys

到这个地方我们先测试一下 SSH 使用命令 ssh server2 ,连接成功,退出连接使用命令 exit 退出这个连接

三、启动 namenode 和 datanode

第一次使用的时候我们需要初始化一下 namenode 命令是:hadoop namenode -format
然后到 /soft/hadoop/sbin 目录下运行 start-hdfs.sh
使用命令 jps 查看与 jdk 相关的进程,如果其中有 namenode datanode Secondary namenode 就可以了

四、测试hdfs

我们可以使用 windows 浏览器远程管理 hdfs ,首先需要先关闭 server 的防火墙:service iptables stop 下次启动的时候自动关闭防火墙: chkconfig iptables off

然后使用浏览器访问 http://192.168.80.141:50070 就进入到管理界面了,点击箭头指的那个位置就进入到 hdfs 文件查看器,

我们先使用命令创建一个文件夹,然后再文件里面创建一个文件 abc.txt 测试一下:

hdfs dfs -mkdir /abc
vi a.txt
hdfs dfs -put a.txt /abc
hdfs dfs -ls /abc

ok 没有问题~

上一篇 下一篇

猜你喜欢

热点阅读