Apache Hadoop框架由以下模块组成:
- Hadoop Common
- Hadoop Distributed File System (HDFS)
- YARN
- MapReduce
在本教程中,您将学习:
- 如何为Hadoop环境添加用户
- 如何安装和配置 JDK
- 如何配置无密码SSH
- 如何安装Hadoop并配置必要的相关xml文件
- 如何启动Hadoop集群
- 如何访问NameNode和ResourceManager Web UI
Namenode Web用户界面。
使用的软件要求和约定
类别 | 使用的要求,约定或软件版本 |
---|---|
系统 | Ubuntu 18.04 |
软件 | Hadoop 2.8.5, Oracle JDK 1.8 |
其他 | 以root身份或通过sudo命令以特权方式访问Linux系统。 |
约定 | # - 要求使用root权限直接以root用户或使用sudo命令执行给定的linux命令 $ - 要求给定的linux命令作为常规非特权用户执行 |
添加Hadoop环境的用户
使用以下命令创建新用户和组:
# add user
为Hadoop添加新用户。
安装和配置Oracle JDK
下载Java归档文件并解压缩/ opt目录下。
# cd /opt
# tar -xzvf jdk-8u192-linux-x64.tar.gz
或者
要将JDK 1.8 Update 192设置为默认JVM,我们将使用以下命令:
安装完成后验证java是否已成功配置,请运行以下命令:
配置无密码SSH
使用以下命令安装Open SSH Server并打开SSH Client:
使用以下命令生成公钥和私钥对。 终端将提示输入文件名。 按ENTER键继续。 在该复制之后,公钥从id_rsa.pub到authorized_keys。
使用以下命令验证无密码ssh配置:
安装Hadoop并配置相关的xml文件
从Apache官方网站下载并解压缩Hadoop 2.8.5。
设置环境变量
通过设置以下Hadoop环境变量,为Hadoop用户编辑bashrc:
nano ~/.bashrc
在当前登录会话中获取.bashrc。
$ source ~/.bashrc
编辑Hadoop安装目录中/etc/hadoop中的hadoop-env.sh文件,并进行以下更改并检查是否要更改任何其他配置。
nano /etc/hadoop/hadoop-env.sh
更改core-site.xml文件中的配置
使用vim编辑core-site.xml,或者您可以使用任何编辑器。 该文件位于hadoop主目录下的/ etc / 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,即hadoop安装目录中的/ etc / hadoop,并在hadoop用户主目录下创建Namenode / Datanode目录。
$ 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文件
使用cp命令从mapred-site.xml.template复制mapred-site.xml,然后使用以下更改编辑位于hadoop instillation目录下的/etc/hadoop中的mapred-site.xml。
$ 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集群
首次使用之前格式化namenode。 由于HDFS用户运行以下命令来格式化Namenode。
$ hdfs namenode -format
格式化Namenode后,使用start-dfs.sh脚本启动HDFS。
要启动YARN服务,您需要执行纱线启动脚本,即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的Web UI和YARN Resource Manager。
Namenode Web UI - http://<hadoop cluster hostname/IP address>:50070
YARN资源管理器(RM)Web界面将显示当前Hadoop集群上的所有正在运行的作业。
资源管理器Web UI- http://<hadoop cluster hostname/IP address>:8088
总结
世界正在改变目前的运作方式,大数据在这一阶段发挥着重要作用。 Hadoop是一个框架,可以在处理大量数据时简化生活。 所有方面都有改进。 未来是令人兴奋的。