安装和配置Hadoop(单节点)

安装和配置Hadoop(单节点)

2018-7-16 作者: 张子阳 分类: 大数据处理

Hadoop生态圈仍处于欣欣向荣的发展态势,不断涌现新的技术和名词。Hadoop的HDFS、YARN、MapReduce仍是最基础的部分,这篇文章记录了如何一步步在linux上安装单节点的Hadoop,之后就可以在它上面做一些练习了。截至目前(2018.7.16),Hadoop的最新版本是3.0.3,但使用最新版本的问题是:当你遇到问题时,所能找到的资料或者书籍都是针对较晚版本的。因此,对一项技术,如果没有达到特别熟悉,安装次新、或者次次新版本是一个相对稳妥的做法。所以,我选择安装的是2.9.1版本。

Hadoop有三种安装方式:独立(Standalone),单机单进程;伪分布(Pseudo-Distributed),单机多进程;完全分布(Fully-Distributed),多机多进程。这篇文章记录了伪分布模式安装的步骤。

配置运行环境

安装Java

查看:linux上安装JDK8

安装和配置ssh

查看:linux上配置ssh实现免密登录

因为只有一台主机,所以只要配置本机的ssh登录就可以了。当构建集群的时候,免密登录可以方便地使用scp工具在多个主机之间拷贝文件,从而方便部署。

安装rsync

rsync,是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。使用yum来进行安装:

# yum install -y ssh rsync

下载和安装

可以前往hadoop的官网获取下载链接:https://hadoop.apache.org/releases.html

本文选择安装的是2.9.1,使用下面命令进行下载:

# cd ~/downloads; \ wget http://apache.communilink.net/hadoop/common/hadoop-2.9.1/hadoop-2.9.1.tar.gz

解压缩到/opt/hadoop文件夹:

# mkdir /opt/hadoop; \ tar -xzvf hadoop-2.9.1.tar.gz -C /opt/hadoop

配置环境变量

使用vim编辑~/.bashrc文件,在最底部写入下面内容:

export HADOOP_HOME=/opt/hadoop/hadoop-2.9.1 export HADOOP_INSTALL=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native" export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

然后通过source命令,使得变量立即生效:

# source ~/.bashrc

输出$PATH,看是否正确:

# echo $PATH /opt/hadoop/hadoop-2.9.1/bin:/opt/hadoop/hadoop-2.9.1/sbin:/opt/jdk/jdk1.8.0_171/jre/bin:/opt/spark/spark-2.3.1-bin-hadoop2.7/bin:/root/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin:

上面的PATH中,还有JAVA_HOME(/opt/jdk/jdk1.8.0_171/jre)和SPARK_HOME(/opt/spark/spark-2.3.1-bin-hadoop2.7/)。其中JAVA_HOME必须配置正确。

配置Hadoop

编辑codr-site.xml

该文件位于 $HADOOP_HOME/etc/hadoop/core-site.xml,按如下进行配置:

<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/data/hadoop</value> </property> </configuration>

编辑hdfs-site.xml

该文件位于 $HADOOP_HOME/etc/hadoop/hdfs-site.xml,按如下进行配置:

<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>

编辑mapred-site.xml

这个文件需要通过 $HADOOP_HOME/etc/hadoop/mapred-site.xml.template创建(复制并重命名)。它用于将资源管理器配置为YARN。

# cd $HADOOP_HOME/etc/hadoop/; \ cp mapred-site.xml.template mapred-site.xml

编辑内容,如下所示:

<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>

编辑yarn-site.xml

该文件位于 $HADOOP_HOME/etc/hadoop/yarn-site.xml,编辑内容如下:

<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>

启动Hadoop

格式化namenode

第一次使用前,可以先对namenode进行格式化:

# hdfs namenode -format

运行HDFS

# start-dfs.sh

查看NameNode的Web UI

假设Hadoop安装的机器IP是192.168.1.56,那么使用浏览器打开:http://192.168.1.56:50070。可以看到下面这样的Web界面:

Hadoop NameNode Web UI

如果打不开,首先检查是不是防火墙的问题,建议可以先关闭防火墙,以排除这个因素。可以参考:linux常用命令(防火墙)

运行YARN

# start-yarn.sh

查看ResourceManager的Web UI

当启用YARN之后,就可以查看ResourceManager的Web UI了,使用浏览器打开http://192.168.1.56:8088:

Hadoop YARN ResourceManager Web UI

检查所有进程的运行情况

可以通过jps命令来查看进行的运行状况:

# /opt/jdk/jdk1.8.0_171/bin/jps 898 DataNode 1878 Jps 808 NameNode 1418 NodeManager 1323 ResourceManager 1103 SecondaryNameNode

根据你的java安装目录(这里是/opt/jdk/jdk1.8.0_171),上面的命令可能不同。这台主机上的$JAVA_HOME是/opt/jdk/jdk1.8.0_171/jre。

停止Hadoop

停止HDFS

# stop-dfs.sh

停止YARN

# stop-yarn.sh

至此,便完成了Hadoop单节点伪集群模式的安装。

感谢阅读,希望这篇文章能给你带来帮助!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Hadoop实操

如何为Kerberos环境的CDH集群在线扩容数据节点

Hadoop集群其中一个优点就是可伸缩性(横向扩展),通过增加计算节点使服务容量产生线性增长的能力。可伸缩的应用程序的主要特点是:只需要增加资源,而不需要对应用...

5578
来自专栏性能与架构

Hadoop如何使用Zookeeper来保障高可用?

问题描述 Hadoop 中有一个分布式调度框架 YARN,是很基础的重要框架,用来支持多种计算模型和进行资源调度。 先看下 YARN 的架构图 ? 不需要了解这...

3776
来自专栏pangguoming

CentOS 7安装Hadoop 3.0.0

最近在学习大数据,需要安装Hadoop,自己弄了好久,最后终于弄好了。网上也有很多文章关于安装Hadoop的,但总会遇到一些问题,所以把在CentOS 7安装H...

43110
来自专栏KaliArch

大数据平台CDH搭建

Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称“CDH”),基于Web的用户界面,...

4745
来自专栏Hadoop实操

如何修改CDH集群元数据库地址

在生产环境CDH集群中会遇到元数据库的迁移,迁移后数据库的IP地址发生变化或是元数据库做主备,在主节点挂掉后,我们需要将数据库CDH集群中的元数据库地址指向新的...

3173
来自专栏Hadoop实操

如何在CDH集群外配置非Kerberos环境的Gateway节点

1904
来自专栏AILearning

Apache Zeppelin 中 HDFS文件系统 解释器

概述 Hadoop文件系统是hadoop项目的分布式,容错文件系统的一部分,通常用作Hadoop MapReduce和Apache Spark或Allux...

2645
来自专栏Hadoop实操

如何在不重启Yarn服务的情况下启用DEBUG日志记录

为了解决Yarn问题,需要为不同的服务启用调试。但是,在生产集群中,可能无法立即重启Yarn服务。本篇文章Fayson主要介绍如何在不重启Yarn服务的情况下为...

1525
来自专栏Hadoop实操

如何在非Kerberos环境下对CDH进行扩容

Hadoop集群其中一个优点就是可伸缩性(横向扩展),通过增加计算节点使服务容量产生线性增长的能力。可伸缩的应用程序的主要特点是:只需要增加资源,而不需要对应用...

4694
来自专栏Hadoop实操

如何在CDH5.14中安装CDSW1.3

2922

扫码关注云+社区

领取腾讯云代金券