Apache Hadoop是一个开放源代码框架,用于分布式存储以及在商用硬件上运行的计算机群集上的大数据分布式处理。 Hadoop将数据存储在Hadoop分布式文件系统(HDFS)中,并且使用MapReduce完成这些数据的处理。 YARN提供了用于在Hadoop集群中请求和分配资源的API。
Apache Hadoop框架由以下模块组成:
- Hadoop常见
- Hadoop分布式文件系统(HDFS)
- 纱
- MapReduce
本文介绍了如何在Ubuntu 18.04上安装Hadoop版本2。我们将在伪分布式模式下的单节点群集上安装HDFS(Namenode和Datanode),YARN,MapReduce,这是在单台计算机上进行分布式仿真。每个Hadoop守护程序(例如hdfs,yarn,mapreduce等)都将作为独立的Java进程运行。
在本教程中,您将学习:
- 如何为Hadoop环境添加用户
- 如何安装和配置Oracle JDK
- 如何配置无密码SSH
- 如何安装Hadoop并配置必要的相关xml文件
- 如何启动Hadoop集群
- 如何访问NameNode和ResourceManager Web UI
使用的软件要求和约定
类别 | 使用的要求,约定或软件版本 |
---|---|
系统 | Ubuntu 18.04 |
软件 | Hadoop 2.8.5,Oracle JDK 1.8 |
其他 | 以root身份或通过Linux特权访问Linux系统sudo 命令。 |
约定 | #-要求linux命令可以直接以root用户身份或通过使用root特权以root特权执行sudo 命令$-要求linux命令以常规non-privileged用户身份执行 |
为Hadoop环境添加用户
使用以下命令创建新用户和组:
# add user
安装和配置Oracle JDK
下载并解压缩Java档案在下面/opt
目录。
# cd /opt
# tar -xzvf jdk-8u192-linux-x64.tar.gz
要么
$ tar -xzvf jdk-8u192-linux-x64.tar.gz -C /opt
要将JDK 1.8 Update 192设置为默认JVM,我们将使用以下命令:
# update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_192/bin/java 100
# update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_192/bin/javac 100
安装完成以验证Java已成功配置后,运行以下命令:
# update-alternatives --display java
# update-alternatives --display javac
配置无密码的SSH
使用以下命令安装Open SSH服务器和Open SSH客户端:
# sudo apt-get install openssh-server openssh-client
使用以下命令生成公钥和私钥对。终端将提示输入文件名。按ENTER
然后继续。之后,复制公钥表格id_rsa.pub
至authorized_keys
。
$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
使用以下命令验证password-less ssh配置:
$ ssh localhost
安装Hadoop并配置相关的xml文件
下载并解压缩Hadoop 2.8.5从Apache官方网站。
# tar -xzvf hadoop-2.8.5.tar.gz
设置环境变量
编辑bashrc
通过设置以下Hadoop环境变量来为Hadoop用户提供服务:
export HADOOP_HOME=/home/hadoop/hadoop-2.8.5
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 PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
来源.bashrc
在当前登录会话中。
$ source ~/.bashrc
编辑hadoop-env.sh
文件在/etc/hadoop
在Hadoop安装目录中进行以下更改,并检查是否要更改任何其他配置。
export JAVA_HOME=/opt/jdk1.8.0_192
export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-"/home/hadoop/hadoop-2.8.5/etc/hadoop"}
core-site.xml文件中的配置更改
编辑core-site.xml
使用vim或您可以使用任何编辑器。该文件在/etc/hadoop
内hadoop
主目录并添加以下条目。
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadooptmpdata</value>
</property>
</configuration>
另外,在下面创建目录hadoop
主文件夹。
$ mkdir hadooptmpdata
hdfs-site.xml文件中的配置更改
编辑hdfs-site.xml
存在于同一位置,即/etc/hadoop
内hadoop
安装目录并创建Namenode/Datanode
下的目录hadoop
用户主目录。
$ mkdir -p hdfs/namenode
$ mkdir -p hdfs/datanode
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
<name>dfs.name.dir</name>
<value>file:///home/hadoop/hdfs/namenode</value>
<name>dfs.data.dir</name>
<value>file:///home/hadoop/hdfs/datanode</value>
</property>
</configuration>
mapred-site.xml文件中的配置更改
复制mapred-site.xml
从mapred-site.xml.template
使用cp
命令,然后编辑mapred-site.xml
放在/etc/hadoop
下hadoop
灌输目录具有以下更改。
$ cp mapred-site.xml.template mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml文件中的配置更改
编辑yarn-site.xml
与以下条目。
<configuration>
<property>
<name>mapreduceyarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
启动Hadoop集群
在第一次使用名称节点之前,先对其进行格式化。以HDFS用户身份运行以下命令来格式化Namenode。
$ hdfs namenode -format
名称节点格式化后,请使用以下命令启动HDFS:start-dfs.sh
脚本。
要启动YARN服务,您需要执行yarn start脚本,即start-yarn.sh
要验证所有Hadoop服务/守护程序是否已成功启动,您可以使用jps
命令。
/opt/jdk1.8.0_192/bin/jps
20035 SecondaryNameNode
19782 DataNode
21671 Jps
20343 NodeManager
19625 NameNode
20187 ResourceManager
现在我们可以检查当前的Hadoop版本,您可以使用以下命令:
$ hadoop version
要么
$ hdfs version
HDFS命令行界面
要访问HDFS并在DFS顶部创建一些目录,可以使用HDFS CLI。
$ hdfs dfs -mkdir /test
$ hdfs dfs -mkdir /hadooponubuntu
$ hdfs dfs -ls /
从浏览器访问Namenode和YARN
您可以通过任何浏览器(例如Google Chrome /Mozilla Firefox)访问NameNode和YARN Resource Manager的Web UI。
Namenode Web UI-http://<hadoop cluster hostname/IP address>:50070
YARN资源管理器(RM)Web界面将显示当前Hadoop群集上的所有正在运行的作业。
资源管理器Web UI-http://<hadoop cluster hostname/IP address>:8088
结论
世界正在改变其当前的运营方式,Big-data在此阶段扮演着重要角色。 Hadoop是一个框架,可让我们在处理大量数据时轻松自如。在所有方面都有改进。未来令人兴奋。