这篇文章给大家介绍在Ubuntu 18.04.1中怎么安装Hadoop集群,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
准备运行Hadoop服务器
首先,我们需要安装Oracle Java 8,因为从Ubuntu 18.04.1开始,Java 8不再可用。
# add-apt-repository ppa:webupd8team/java# apt update# apt install -y oracle-java8-set-default
接受许可条款,并下载Hadoop二进制文件
# wget http://apache.claz.org/hadoop/common/hadoop-3.1.1/hadoop-3.1.1.tar.gz
解压缩归档并将其移至/ usr / local /
# tar -xzvf hadoop-3.1.1.tar.gz# mv hadoop-3.1.1 /usr/local/hadoop
更新默认环境变量以包含JAVA_HOME和Hadoop二进制目录。
首先,我们需要知道Java的安装位置,运行以下命令查找。
# update-alternatives --display javajava - manual mode link best version is /usr/lib/jvm/java-8-oracle/jre/bin/java link currently points to /usr/lib/jvm/java-8-oracle/jre/bin/java link java is /usr/bin/java slave java.1.gz is /usr/share/man/man1/java.1.gz/usr/lib/jvm/java-8-oracle/jre/bin/java - priority 1081 slave java.1.gz: /usr/lib/jvm/java-8-oracle/man/man1/java.1.gz
如上所示,JAVA_HOME应设置为/ usr / lib / jvm / java-8-oracle / jre。
打开/etc/environment并更新PATH行以包含Hadoop二进制目录。
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/hadoop/bin:/usr/local/hadoop/sbin"
为JAVA_HOME变量和YARN_RESOURCEMANAGER_OPTS变量添加一行。
vim YARN_RESOURCEMANAGER_OPTS="--add-modules=ALL-SYSTEM"
确保该目录与上面的update-alternatives选项减去bin/java部分的输出相匹配。
接下来,我们将添加一个hadoop用户并为他们提供正确的权限。
# adduser hadoop# usermod -aG hadoop hadoop# chown hadoop:root -R /usr/local/hadoop# chmod g+rwx -R /usr/local/hadoop
以hadoop用户身份登录并生成SSH密钥,只需要在Hadoop Master上完成此步骤。
# su - hadoop# ssh-keygen -t rsa
接受ssh-keygen的所有默认值。
现在以hadoop用户身份登录并将SSH密钥复制到所有Hadoop节点。 同样,只需要在Hadoop Master上完成此步骤。
# su - hadoop$ ssh-copy-id hadoop@hadoop1.admintome.lab$ ssh-copy-id hadoop@hadoop2.admintome.lab$ ssh-copy-id hadoop@hadoop3.admintome.lab
配置Hadoop主服务器
打开/usr/local/hadoop/etc/hadoop/core-site.xml文件并输入以下内容:
<configuration> <property> <name>fs.default.name</name> <value>hdfs://hadoop1.admintome.lab:9000</value> </property></configuration>
保存并退出。
接下来,打开/usr/local/hadoop/etc/hadoop/hdfs-site.xml文件并添加以下内容:
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>/usr/local/hadoop/data/nameNode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/usr/local/hadoop/data/dataNode</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property></configuration>
保存并退出。
打开/usr/local/hadoop/etc/hadoop/workers文件并添加以下两行(每个Hadoop节点一行)
hadoop2.admintome.labhadoop3.admintome.lab
保存并退出。
将配置文件从Hadoop Master复制到每个Hadoop节点。
# scp /usr/local/hadoop/etc/hadoop/* hadoop2.admintome.lab:/usr/local/hadoop/etc/hadoop/# scp /usr/local/hadoop/etc/hadoop/* hadoop3.admintome.lab:/usr/local/hadoop/etc/hadoop/
格式化HDFS文件系统
$ source /etc/environmnet$ hdfs namenode -format
现在可以启动HDFS:
hadoop@hadoop1:~$ start-dfs.shStarting namenodes on [hadoop1.admintome.lab]Starting datanodesStarting secondary namenodes [hadoop1]hadoop@hadoop1:~$
通过在所有Hadoop服务器上以Hadoop用户身份运行jps命令来验证所有内容是否正确启动。
在Hadoop Master上你应该可以看到如下结果:
hadoop@hadoop1:~$ jps13634 Jps13478 SecondaryNameNode13174 NameNode
在每个Hadoop节点上,你应该可以看到:
hadoop@hadoop2:~$ jps8672 Jps8579 DataNodeHDFS Web UI
HDFS Web UI
现在,我们可以通过浏览到Hadoop主服务器端口9870来访问HDFS Web UI。
http://hadoop1.admintome.lab:9870
可以看到如下UI:
如上所示,我们的HDFS文件系统上有近60 GB的空闲空间。
开始运行Yarn
现在HDFS正在运行,我们已准备好启动Yarn调度程序。
Hadoop本身需要运行任务,因此我们需要Yarn以在Hadoop集群上合理安排任务。
export HADOOP_HOME="/usr/local/hadoop"export HADOOP_COMMON_HOME=$HADOOP_HOMEexport HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoopexport HADOOP_HDFS_HOME=$HADOOP_HOMEexport HADOOP_MAPRED_HOME=$HADOOP_HOMEexport HADOOP_YARN_HOME=$HADOOP_HOME
运行以下命令以启动Yarn:
$ start-yarn.shStarting resourcemanagerStarting nodemanagers
我们可以通过以下命令来验证是否可以正确启动:
$ yarn node -list2018-08-15 04:40:26,688 INFO client.RMProxy: Connecting to ResourceManager at hadoop1.admintome.lab/192.168.1.35:8032Total Nodes:2 Node-Id Node-State Node-Http-Address Number-of-Running-Containershadoop3.admintome.lab:35337 RUNNING hadoop3.admintome.lab:8042 0hadoop2.admintome.lab:38135 RUNNING hadoop2.admintome.lab:8042 0
没有任何正在运行的容器,因为我们还没有开始任何工作。
Hadoop Web UI
我们可以通过以下URL来查看Hadoop Web UI:
http://hadoop1.admintome.lab:8088/cluster
替换Hadoop Master主机名:
运行Hadoop任务示例
我们现在可以运行Hadoop任务示例并在集群上安排它,我们将运行的示例是使用MapReduce来计算PI。
运行以下命令来运行作业:
yarn jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.1.jar pi 16 1000
完成整个过程将需要几分钟的时间。完成后,应该可以看到它已经开始计算PI:
Job Finished in 72.973 secondsEstimated value of Pi is 3.1425000000000000000
关于在Ubuntu 18.04.1中怎么安装Hadoop集群就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。