阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu 14.04下Hadoop集群安装

394次阅读
没有评论

共计 16967 个字符,预计需要花费 43 分钟才能阅读完成。

最近在自学 Hadoop,于是乎跟着一起玩玩,在此为她整理一篇基础搭建的博客,希望对她能有所帮助。同样,开始之前先来了解下,什么是 Hadoop。

Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构。它是根据 Google 公司发表的 MapReduce 和 Google 文件系统的论文自行实现而成。Hadoop 框架透明地为应用提供可靠性和数据移动。它实现了名为 MapReduce 的编程范式:应用程序被分区成许多小部分,而每个部分都能在集群中的任意节点上运行或重新运行。

Hadoop 实现了一个分布式文件系统(Hadoop Distributed File System),简称 HDFS。HDFS 有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS 放宽了(relax)POSIX 的要求,可以以流的形式访问(streaming access)文件系统中的数据。

用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop 的框架最核心的设计就是 HDFS 和 MapReduce。HDFS 为海量的数据提供了存储,则 MapReduce 为海量的数据提供了计算。

搭建

搭建集群的话,需要最少两台机器来搭建一个多节点的 Hadoop 环境,我这里使用 Hadoop 最新稳定的 2.7.3 版本和三台云主机(1 主两从,Ubuntu 14.04 LTS)。

Ubuntu 14.04 下 Hadoop 集群安装 PDF 文档可以到 Linux 公社资源站下载:

—————————————— 分割线 ——————————————

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2017 年资料 / 2 月 /18 日 /Ubuntu 14.04 下 Hadoop 集群安装 /

下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm

—————————————— 分割线 ——————————————

1. 修改 hosts 文件

保证三台机器的网络是可达的前提下,更改主机名,并修改 hosts 文件:

# hostnamectl  set-hostname master  // 在 master 节点上执行
# hostnamectl  set-hostname slave-1  // 在 slave- 1 节点上执行
# hostnamectl  set-hostname slave-2  // 在 slave- 2 节点上执行
分别把三台机器的 hosts 文件进行修改:
# vim /etc/hosts
192.168.1.2  master
192.168.1.3  slave-1
192.168.1.4  slave-2

2. 在 master 和 slave 节点上安装 java:

# add-apt-repository ppa:webupd8team/java  // 添加 ppa
# apt-get update
# apt-get installOracle-java8-installer 
# java -version  // 检验 Java 版本
java version “1.8.0_121”
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

3. 禁用 IPv6

现在 Hadoop 目前对 IPv6 不是很好,在一些 Linux 发行版上可能造成一些未知 bug。在 Hadoop Wiki 上提供了方法来禁用,我这里修改 sysctl.conf 文件,添加以下几行:

# vim /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
# sysctl -p  // 使其立即生效

4. 创建 Hadoop User

在 master 和 slave 节点上执行:

# addgroup hdgroup  // 创建 hadoop group
# adduser —ingroup hdgroup hduser  // 创建 Hadoop User 并加入 Hadoop group
Adding user `hduser’ …
Adding new user `hduser’ (1001) with group `hdgroup’ …
Creating home directory `/home/hduser’ …
Copying files from `/etc/skel’ …
Enter new UNIX password:            // 输入密码之后一路回车即可
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for hduser
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n]

Hadoop 要求无密码登录,所以需要生成秘钥, 这里注意要用刚才创建的普通 hduser 用户, 分别在 master 和 slave 上执行如下操作:

# su – hduser
$ ssh-keygen -N ”
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hduser/.ssh/id_rsa):
Created directory ‘/home/hduser/.ssh’.
Your identification has been saved in /home/hduser/.ssh/id_rsa.
Your public key has been saved in /home/hduser/.ssh/id_rsa.pub.
The key fingerprint is:
5b:ae:c6:5a:ce:66:51:d3:6c:6c:14:9b:b2:8a:da:e9 hduser@master
The key’s randomart image is:
+–[RSA 2048]—-+
|            ..  |
|            .o  |
|          .=o    |
|          oo*    |
|        S.o+    |
|      ..=      |
|      ..+..      |
|    o ==.      |
|    ..E=+        |
+—————–+
$ ssh-copy-id hduser@master
$ ssh-copy-id hduser@slave-1
$ ssh-copy-id hduser@slave-2

5. 下载和安装 Hadoop

 登录 Hadoop 的官方下载地址,选择你需要的版本,复制下载链接,这里我选用最新的 2.7.3 版本:

Ubuntu 14.04 下 Hadoop 集群安装

打开链接之后,右键复制链接地址:

Ubuntu 14.04 下 Hadoop 集群安装

在 master 和 slave 上分别执行(你也可以在一台机器上下载完之后拷贝到另外两台上):

$ cd /home/hduser
$ wget -c 
$ tar -zxvf hadoop-2.7.3.tar.gz
$ mv hadoop-2.7.3 hadoop

6. 更改环境变量

首先确定之前安装的 java home 目录,查找办法如下(在任意一台机器上执行):

hduser@master:~$ env | grep -i java
JAVA_HOME=/usr/lib/jvm/java-8-oracle

分别在 master 和 slave 节点上执行以下操作, 编辑 ”.bashrc” 文件,添加如下几行:

$ vim .bashrc  // 编辑文件,添加如下几行
export HADOOP_HOME=/home/hduser/hadoop
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
$ source  .bashrc  //source 使其立即生效

分别在 master 和 slave 节点上执行以下操作, 更改 Hadoop-env 的 JAVA_HOME:

$ vim /home/hduser/hadoop/etc/hadoop/hadoop-env.sh
#export JAVA_HOME=${JAVA_HOME}  // 更改此行,或者注释掉新加以下一行
export JAVA_HOME=/usr/lib/jvm/java-8-oracle

————————————– 分割线 ————————————–

下面关于 Hadoop 的文章您也可能喜欢,不妨看看:

Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程  http://www.linuxidc.com/Linux/2015-02/113487.htm

CentOS 6.3 下 Hadoop 伪分布式平台搭建  http://www.linuxidc.com/Linux/2016-11/136789.htm

Ubuntu 14.04 LTS 下安装 Hadoop 1.2.1(伪分布模式)http://www.linuxidc.com/Linux/2016-09/135406.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

实战 CentOS 系统部署 Hadoop 集群服务 http://www.linuxidc.com/Linux/2016-11/137246.htm

Hadoop 2.6.0 HA 高可用集群配置详解  http://www.linuxidc.com/Linux/2016-08/134180.htm

Spark 1.5、Hadoop 2.7 集群环境搭建  http://www.linuxidc.com/Linux/2016-09/135067.htm

在 Ubuntu X64 上编译安装 Hadoop http://www.linuxidc.com/Linux/2016-12/138568.htm

CentOS 6.7 安装 Hadoop 2.7.3  http://www.linuxidc.com/Linux/2017-01/139089.htm

CentOS7+Hadoop2.5.2+Spark1.5.2 环境搭建  http://www.linuxidc.com/Linux/2017-01/139364.htm

————————————– 分割线 ————————————–

7.Hadoop 配置

Hadoop 的配置这里主要涉及四个配置文件:etc/hadoop/core-site.xml,etc/hadoop/hdfs-site.xml, etc/hadoop/yarn-site.xml and etc/hadoop/mapred-site.xml.

这里摘录网络上的一段话,在继续下面的操作之前一定要阅读这段,以便更好的理解:

Hadoop Distributed File System: A distributed file system that provides high-throughput access to application data. A HDFS cluster primarily consists of a NameNode that manages the file system metadata and DataNodes that store the actual data. If you compare HDFS to a traditional storage structures (e.g. FAT, NTFS), then NameNode is analogous to a Directory Node structure, and DataNode is analogous to actual file storage blocks.

Hadoop YARN: A framework for job scheduling and cluster resource management.

Hadoop MapReduce: A YARN-based system for parallel processing of large data sets.

①在 master 和 slave 节点上更改 ”core-site.xml” 文件,master 和 slave 节点应该使用相同 ”fs.defaultFS” 值,而且必须指向 master 节点; 在“configuration”中间添加如下配置:

<property>
  <name>hadoop.tmp.dir</name>
  <value>/home/hduser/tmp</value>
  <description>Temporary Directory.</description>
</property>
 
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://master:54310</value>
  <description>Use HDFS as file storage engine</description>
</property>

最终 core-site.xml 配置文件如下图所示:

Ubuntu 14.04 下 Hadoop 集群安装

如果 tmp 目录不存在,需要手动创建一个:

$ mkdir /home/hduser/tmp
$ chown -R hduser:hdgroup /home/hduser/tmp // 非 hduser 用户创建虚赋权

②只在 master 节点上更改 ”mapred-site.xml” 文件,由于没有这个文件,需要需要复制那个 template 文件生成一个:

$ cd /home/hduser/hadoop/
$ cp -av etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml

编辑 xml 配置文件,在“configuration”中间添加如下配置:

 <property>
 <name>mapreduce.jobtracker.address</name>
 <value>master:54311</value>
 <description>The host and port that the MapReduce job tracker runs
  at. If“local”, then jobs are run in-process as a single map
  and reduce task.
</description>
</property>
<property>
 <name>mapreduce.framework.name</name>
 <value>yarn</value>
 <description>The framework for running mapreduce jobs</description>
</property>

③在 master 和 slave 节点上更改 ”hdfs-site.xml” 文件,在“configuration”中间添加如下配置:

 <property>
 <name>dfs.replication</name>
 <value>2</value>
 <description>Default block replication.
  The actual number of replications can be specified when the file is created.
  The default is used if replication is not specified in create time.
 </description>
</property>
<property>
 <name>dfs.namenode.name.dir</name>
 <value>/data/hduser/hdfs/namenode</value>
 <description>Determines where on the local filesystem the DFS name node should store the name table(fsimage). If this is a comma-delimited list of directories then the name table is replicated in all of the directories, for redundancy.
 </description>
</property>
<property>
 <name>dfs.datanode.data.dir</name>
 <value>/data/hduser/hdfs/datanode</value>
 <description>Determines where on the local filesystem an DFS data node should store its blocks. If this is a comma-delimited list of directories, then data will be stored in all named directories, typically on different devices. Directories that do not exist are ignored.
 </description>

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-02/140783p2.htm

并创建刚才配置文件中指定的目录:

$ mkdir -p /home/hduser/data/hduser/hdfs/{namenode,datanode}
$ chown -R hduser:hdgroup /home/hduser/data/  // 如果非 hduser 用户创建的需要赋权

1). 这里 dfs.replication 的默认值为 3,这里我设置了 2 个副本,代表每个存储到 HDFS 的文件都有额外一个副本,这里的值可以视集群规模而定。

2)dfs.namenode.name.dir 和 dfs.datanode.name.dir 是 namenode 和 datanode 存放 HDFS 数据块文件的位置,如果没有需要手动创建。

④在 master 和 slave 节点上更改 ”yarn-site.xml” 文件,master 和 slave 节点应该使用相同的值,并且指向 master 节点。在“configuration”中间添加如下配置:

<property>
 <name>yarn.nodemanager.aux-services</name>
 <value>mapreduce_shuffle</value>
</property>
<property>
 <name>yarn.resourcemanager.scheduler.address</name>
 <value>master:8030</value>
</property>
<property>
 <name>yarn.resourcemanager.address</name>
 <value>master:8032</value>
</property>
<property>
  <name>yarn.resourcemanager.webapp.address</name>
  <value>master:8088</value>
</property>
<property>
  <name>yarn.resourcemanager.resource-tracker.address</name>
  <value>master:8031</value>
</property>
<property>
  <name>yarn.resourcemanager.admin.address</name>
  <value>master:8033</value>
</property>

⑤更新 slave 文件

在 master 节点上修改 slave 文件, 添加 master 和 slave 节点的主机名或者 ip 地址,并去掉 ”localhost”:

$ vim /home/hduser/Hadoop/etc/hadoop/slaves
master
slave-1
slave-2

⑥格式化 namenode:

在启动 cluster 之前需要先格式化 namenode,在 master 上执行:

$ hdfs namenode -format

看到类似提示 INFO:”Storage directory /home/hduser/data/hduser/hdfs/namenode has been successfully formatted.” 表示格式化成功。

⑦启动服务

可以直接使用 Hadoop 提供的脚本 ”start-all.sh” 启动所有服务,也可以把 dfs 和 yarn 分别启动。可以使用绝对路径:/home/hduser/hadoop/sbin/start-all.sh,也可以直接调用 start-all.sh 脚本(因为前面已经改过 PATH 的路径):

$ start-all.sh

如下图所示没有看到任何错误信息,表示集群已成功启动:

Ubuntu 14.04 下 Hadoop 集群安装

⑧验证查看

  使用 jps 命令分别在 master 和 slave 上查看启动的服务

Ubuntu 14.04 下 Hadoop 集群安装

Ubuntu 14.04 下 Hadoop 集群安装

网页验证:

浏览器打开:http://master:50070

Ubuntu 14.04 下 Hadoop 集群安装

查看 yarn web console: http://master:8088/cluster/nodes

如果所有 node 均正常启动,这里能够全部显示:

Ubuntu 14.04 下 Hadoop 集群安装

Hadoop 解压的 share 目录里给我们提供了几个 example 的 jar 包,我们执行一个看下效果:

$ hadoop jar /home/hduser/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar  pi 30 100

执行之后通过浏览器访问:http://master:8088/cluster/apps

能够看到当前执行的任务:

Ubuntu 14.04 下 Hadoop 集群安装

写在最后:

如果在新增了节点或者删除节点的时候出现了问题,首先删除 slave 的 hadoop.tmp.dir,然后重新启动试试看,如果还是不行, 尝试把 Master 的 hadoop.tmp.dir 删除(意味着 dfs 上的数据也会丢失)然后需要重新 namenode –format。

如果有任何报错信息记得去查 log 日志,文件位置在 Hadoop 的安装目录 logs 文件夹下。

更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-02/140783.htm

最近在自学 Hadoop,于是乎跟着一起玩玩,在此为她整理一篇基础搭建的博客,希望对她能有所帮助。同样,开始之前先来了解下,什么是 Hadoop。

Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构。它是根据 Google 公司发表的 MapReduce 和 Google 文件系统的论文自行实现而成。Hadoop 框架透明地为应用提供可靠性和数据移动。它实现了名为 MapReduce 的编程范式:应用程序被分区成许多小部分,而每个部分都能在集群中的任意节点上运行或重新运行。

Hadoop 实现了一个分布式文件系统(Hadoop Distributed File System),简称 HDFS。HDFS 有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS 放宽了(relax)POSIX 的要求,可以以流的形式访问(streaming access)文件系统中的数据。

用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop 的框架最核心的设计就是 HDFS 和 MapReduce。HDFS 为海量的数据提供了存储,则 MapReduce 为海量的数据提供了计算。

搭建

搭建集群的话,需要最少两台机器来搭建一个多节点的 Hadoop 环境,我这里使用 Hadoop 最新稳定的 2.7.3 版本和三台云主机(1 主两从,Ubuntu 14.04 LTS)。

Ubuntu 14.04 下 Hadoop 集群安装 PDF 文档可以到 Linux 公社资源站下载:

—————————————— 分割线 ——————————————

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2017 年资料 / 2 月 /18 日 /Ubuntu 14.04 下 Hadoop 集群安装 /

下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm

—————————————— 分割线 ——————————————

1. 修改 hosts 文件

保证三台机器的网络是可达的前提下,更改主机名,并修改 hosts 文件:

# hostnamectl  set-hostname master  // 在 master 节点上执行
# hostnamectl  set-hostname slave-1  // 在 slave- 1 节点上执行
# hostnamectl  set-hostname slave-2  // 在 slave- 2 节点上执行
分别把三台机器的 hosts 文件进行修改:
# vim /etc/hosts
192.168.1.2  master
192.168.1.3  slave-1
192.168.1.4  slave-2

2. 在 master 和 slave 节点上安装 java:

# add-apt-repository ppa:webupd8team/java  // 添加 ppa
# apt-get update
# apt-get installOracle-java8-installer 
# java -version  // 检验 Java 版本
java version “1.8.0_121”
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

3. 禁用 IPv6

现在 Hadoop 目前对 IPv6 不是很好,在一些 Linux 发行版上可能造成一些未知 bug。在 Hadoop Wiki 上提供了方法来禁用,我这里修改 sysctl.conf 文件,添加以下几行:

# vim /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
# sysctl -p  // 使其立即生效

4. 创建 Hadoop User

在 master 和 slave 节点上执行:

# addgroup hdgroup  // 创建 hadoop group
# adduser —ingroup hdgroup hduser  // 创建 Hadoop User 并加入 Hadoop group
Adding user `hduser’ …
Adding new user `hduser’ (1001) with group `hdgroup’ …
Creating home directory `/home/hduser’ …
Copying files from `/etc/skel’ …
Enter new UNIX password:            // 输入密码之后一路回车即可
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for hduser
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n]

Hadoop 要求无密码登录,所以需要生成秘钥, 这里注意要用刚才创建的普通 hduser 用户, 分别在 master 和 slave 上执行如下操作:

# su – hduser
$ ssh-keygen -N ”
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hduser/.ssh/id_rsa):
Created directory ‘/home/hduser/.ssh’.
Your identification has been saved in /home/hduser/.ssh/id_rsa.
Your public key has been saved in /home/hduser/.ssh/id_rsa.pub.
The key fingerprint is:
5b:ae:c6:5a:ce:66:51:d3:6c:6c:14:9b:b2:8a:da:e9 hduser@master
The key’s randomart image is:
+–[RSA 2048]—-+
|            ..  |
|            .o  |
|          .=o    |
|          oo*    |
|        S.o+    |
|      ..=      |
|      ..+..      |
|    o ==.      |
|    ..E=+        |
+—————–+
$ ssh-copy-id hduser@master
$ ssh-copy-id hduser@slave-1
$ ssh-copy-id hduser@slave-2

5. 下载和安装 Hadoop

 登录 Hadoop 的官方下载地址,选择你需要的版本,复制下载链接,这里我选用最新的 2.7.3 版本:

Ubuntu 14.04 下 Hadoop 集群安装

打开链接之后,右键复制链接地址:

Ubuntu 14.04 下 Hadoop 集群安装

在 master 和 slave 上分别执行(你也可以在一台机器上下载完之后拷贝到另外两台上):

$ cd /home/hduser
$ wget -c 
$ tar -zxvf hadoop-2.7.3.tar.gz
$ mv hadoop-2.7.3 hadoop

6. 更改环境变量

首先确定之前安装的 java home 目录,查找办法如下(在任意一台机器上执行):

hduser@master:~$ env | grep -i java
JAVA_HOME=/usr/lib/jvm/java-8-oracle

分别在 master 和 slave 节点上执行以下操作, 编辑 ”.bashrc” 文件,添加如下几行:

$ vim .bashrc  // 编辑文件,添加如下几行
export HADOOP_HOME=/home/hduser/hadoop
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
$ source  .bashrc  //source 使其立即生效

分别在 master 和 slave 节点上执行以下操作, 更改 Hadoop-env 的 JAVA_HOME:

$ vim /home/hduser/hadoop/etc/hadoop/hadoop-env.sh
#export JAVA_HOME=${JAVA_HOME}  // 更改此行,或者注释掉新加以下一行
export JAVA_HOME=/usr/lib/jvm/java-8-oracle

————————————– 分割线 ————————————–

下面关于 Hadoop 的文章您也可能喜欢,不妨看看:

Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程  http://www.linuxidc.com/Linux/2015-02/113487.htm

CentOS 6.3 下 Hadoop 伪分布式平台搭建  http://www.linuxidc.com/Linux/2016-11/136789.htm

Ubuntu 14.04 LTS 下安装 Hadoop 1.2.1(伪分布模式)http://www.linuxidc.com/Linux/2016-09/135406.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

实战 CentOS 系统部署 Hadoop 集群服务 http://www.linuxidc.com/Linux/2016-11/137246.htm

Hadoop 2.6.0 HA 高可用集群配置详解  http://www.linuxidc.com/Linux/2016-08/134180.htm

Spark 1.5、Hadoop 2.7 集群环境搭建  http://www.linuxidc.com/Linux/2016-09/135067.htm

在 Ubuntu X64 上编译安装 Hadoop http://www.linuxidc.com/Linux/2016-12/138568.htm

CentOS 6.7 安装 Hadoop 2.7.3  http://www.linuxidc.com/Linux/2017-01/139089.htm

CentOS7+Hadoop2.5.2+Spark1.5.2 环境搭建  http://www.linuxidc.com/Linux/2017-01/139364.htm

————————————– 分割线 ————————————–

7.Hadoop 配置

Hadoop 的配置这里主要涉及四个配置文件:etc/hadoop/core-site.xml,etc/hadoop/hdfs-site.xml, etc/hadoop/yarn-site.xml and etc/hadoop/mapred-site.xml.

这里摘录网络上的一段话,在继续下面的操作之前一定要阅读这段,以便更好的理解:

Hadoop Distributed File System: A distributed file system that provides high-throughput access to application data. A HDFS cluster primarily consists of a NameNode that manages the file system metadata and DataNodes that store the actual data. If you compare HDFS to a traditional storage structures (e.g. FAT, NTFS), then NameNode is analogous to a Directory Node structure, and DataNode is analogous to actual file storage blocks.

Hadoop YARN: A framework for job scheduling and cluster resource management.

Hadoop MapReduce: A YARN-based system for parallel processing of large data sets.

①在 master 和 slave 节点上更改 ”core-site.xml” 文件,master 和 slave 节点应该使用相同 ”fs.defaultFS” 值,而且必须指向 master 节点; 在“configuration”中间添加如下配置:

<property>
  <name>hadoop.tmp.dir</name>
  <value>/home/hduser/tmp</value>
  <description>Temporary Directory.</description>
</property>
 
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://master:54310</value>
  <description>Use HDFS as file storage engine</description>
</property>

最终 core-site.xml 配置文件如下图所示:

Ubuntu 14.04 下 Hadoop 集群安装

如果 tmp 目录不存在,需要手动创建一个:

$ mkdir /home/hduser/tmp
$ chown -R hduser:hdgroup /home/hduser/tmp // 非 hduser 用户创建虚赋权

②只在 master 节点上更改 ”mapred-site.xml” 文件,由于没有这个文件,需要需要复制那个 template 文件生成一个:

$ cd /home/hduser/hadoop/
$ cp -av etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml

编辑 xml 配置文件,在“configuration”中间添加如下配置:

 <property>
 <name>mapreduce.jobtracker.address</name>
 <value>master:54311</value>
 <description>The host and port that the MapReduce job tracker runs
  at. If“local”, then jobs are run in-process as a single map
  and reduce task.
</description>
</property>
<property>
 <name>mapreduce.framework.name</name>
 <value>yarn</value>
 <description>The framework for running mapreduce jobs</description>
</property>

③在 master 和 slave 节点上更改 ”hdfs-site.xml” 文件,在“configuration”中间添加如下配置:

 <property>
 <name>dfs.replication</name>
 <value>2</value>
 <description>Default block replication.
  The actual number of replications can be specified when the file is created.
  The default is used if replication is not specified in create time.
 </description>
</property>
<property>
 <name>dfs.namenode.name.dir</name>
 <value>/data/hduser/hdfs/namenode</value>
 <description>Determines where on the local filesystem the DFS name node should store the name table(fsimage). If this is a comma-delimited list of directories then the name table is replicated in all of the directories, for redundancy.
 </description>
</property>
<property>
 <name>dfs.datanode.data.dir</name>
 <value>/data/hduser/hdfs/datanode</value>
 <description>Determines where on the local filesystem an DFS data node should store its blocks. If this is a comma-delimited list of directories, then data will be stored in all named directories, typically on different devices. Directories that do not exist are ignored.
 </description>

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-02/140783p2.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计16967字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7993667
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装 2026 年最强个人助理 ClawdBot、完整安装教程 一、前言 学不完,根本学不完!近期,一款名...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...
从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统

从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统

从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统 大家好,我是星哥。公司的项目文档存了一堆 ...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...