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),多机多进程。这篇文章记录了伪分布模式安装的步骤。
查看:linux上安装JDK8。
因为只有一台主机,所以只要配置本机的ssh登录就可以了。当构建集群的时候,免密登录可以方便地使用scp工具在多个主机之间拷贝文件,从而方便部署。
rsync,是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。使用yum来进行安装:
可以前往hadoop的官网获取下载链接:https://hadoop.apache.org/releases.html
本文选择安装的是2.9.1,使用下面命令进行下载:
解压缩到/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命令,使得变量立即生效:
输出$PATH,看是否正确:
上面的PATH中,还有JAVA_HOME(/opt/jdk/jdk1.8.0_171/jre)和SPARK_HOME(/opt/spark/spark-2.3.1-bin-hadoop2.7/)。其中JAVA_HOME必须配置正确。
该文件位于 $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>
该文件位于 $HADOOP_HOME/etc/hadoop/hdfs-site.xml,按如下进行配置:
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
这个文件需要通过 $HADOOP_HOME/etc/hadoop/mapred-site.xml.template创建(复制并重命名)。它用于将资源管理器配置为YARN。
编辑内容,如下所示:
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
该文件位于 $HADOOP_HOME/etc/hadoop/yarn-site.xml,编辑内容如下:
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
第一次使用前,可以先对namenode进行格式化:
假设Hadoop安装的机器IP是192.168.1.56,那么使用浏览器打开:http://192.168.1.56:50070。可以看到下面这样的Web界面:
Hadoop NameNode Web UI
如果打不开,首先检查是不是防火墙的问题,建议可以先关闭防火墙,以排除这个因素。可以参考:linux常用命令(防火墙)
当启用YARN之后,就可以查看ResourceManager的Web UI了,使用浏览器打开http://192.168.1.56:8088:
Hadoop YARN ResourceManager Web UI
可以通过jps命令来查看进行的运行状况:
根据你的java安装目录(这里是/opt/jdk/jdk1.8.0_171),上面的命令可能不同。这台主机上的$JAVA_HOME是/opt/jdk/jdk1.8.0_171/jre。
至此,便完成了Hadoop单节点伪集群模式的安装。
感谢阅读,希望这篇文章能给你带来帮助!