在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旅程。我希望你喜欢这篇文章, 如果对您有帮助,或者如果有问题,请发表评论并告诉我。

相关推荐