在Ubuntu 17.10上安装Hadoop 2.8.2
Hadoop是获取大数据的应用程序。 在这篇文章中,我们将安装一个用于伪分布式操作的Hadoop单节点集群。 我们将使用YARN运行mapreduce。
必要条件
对于本文,我创建了一个具有8GB内存的VM和4个vcpu,使用的是Ubuntu Server 17.10 ISO,其中有60gb的驱动器空间。请记住,这是在此配置下测试我们Hadoop的最低限度。 我们最后运行的例子需要一些时间来运行。 这个设置是如果你是Hadoop的新手,并且想尝试运行它。 在稍后的文章中,我们将介绍并配置一个更强大的集群,它将会有更好的性能和功能。
安装所需的软件
更新您的系统并重新启动,以便我们开始尝试。
# apt update && apt upgrade -y # reboot
由于Hadoop基于Java,我们将需要在我们的服务器上安装Java 8。
# apt install -y openjdk-8-jdk
为了确保Hadoop附带的脚本正常工作,确保安装了ssh和pdsh。
# apt install ssh pdsh -y
现在我们可以开始配置Hadoop了。
下载 Hadoop
在撰写本文时,Hadoop的最新稳定版本是2.8.2,因此我们将下载该版本。
# wget http://apache.cs.utah.edu/hadoop/common/stable/hadoop-2.8.2.tar.gz # tar -xzvf hadoop-2.8.2.tar.gz # cd hadoop-2.8.2/
我们需要对我们的配置做一些补充,所以用适当的内容编辑下面几个文件:
etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr
etc/hadoop/core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
etc/hadoop/hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
现在为了使脚本正常工作,我们需要设置无密码的SSH登录localhost:
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 0600 ~/.ssh/authorized_keys
格式化HDFS文件系统。
# bin/hdfs namenode -format
最后,启动HDFS。
# sbin/start-dfs.sh
启动后,您可以通过以下URL访问NameNode的Web界面:http://{server-ip}:50070。
配置YARN
创建YARN需要的目录。
# bin/hdfs dfs -mkdir /user # bin/hdfs dfs -mkdir /user/root
编辑 etc/hadoop/mapred-site.xml 并添加以下内容:
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
很编辑 etc/hadoop/yarn-site.xml:
<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> </property>
启动 YARN:
# sbin/start-yarn.sh
您现在可以查看网页界面 http://{server-ip}:8088.
测试我们的安装
为了测试所有的工作,我们可以使用YARN运行MapReduce job:
# bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.2.jar pi 16 1000
这将使用quasiMonteCarlo方法来计算PI到小数点后16位。 一两分钟后,你应该得到你的回应:
Job Finished in 96.095 seconds Estimated value of Pi is 3.14250000000000000000
这应该足以让您开始您的Hadoop旅程。我希望你喜欢这篇文章, 如果对您有帮助,或者如果有问题,请发表评论并告诉我。