部署
===========
Linux Debian 及其衍生系统环境
------------------------------
分布式部署架构图
^^^^^^^^^^^^^^^^^
.. image:: _static/clusters.png
.. important::
此架构最低要求4台物理机,且Hadoop与应用平台部署在一台服务器,模拟一个小规模的集群。
部署准备
^^^^^^^^^^
相关组件压缩包
1. Spark3.0 (``spark-3.0.2-bin-hadoop2.7.tgz``)
2. Hadoop2.7 (``hadoop-2.7.4.tar.gz``)
3. JDK 1.8+ (``OpenJDK8U-jdk_x64_linux_hotspot_8u292b10.tar.gz``)
Jdbc 连接驱动及其它Jar包
节省繁琐的命令行操作,`下载部署脚手架 <_static/bigdata.zip>`_ ,解压后把组件包放入 ``bigdata`` 目录下,驱动与其它Jar放到 ``JdbcDriver`` 目录下,最后拷贝到所有部署机器的用户主目录。目录文件结构如下:
.. image:: _static/user-home-bigdata-struct.png
执行安装
^^^^^^^^^
1. 把 bigdata 目录下的 ``*.sh`` 文件修改为可执行
.. code-block:: shell
chmod +x *.sh
2. 解压缩包至当前目录
.. code-block:: shell
./install.sh
3. 在Hadoop部署的机器上执行
执行前先修改 ``conf`` 目录下两个XML文件:
``core-site.xml`` 修改为Hadoop部署机器的 IP 地址
.. code-block:: xml
fs.defaultFS
hdfs://IP:9000/
``hdfs-site.xml`` 修改 Hadoop namenode 与 datanode 目录路径,按照以下所示替换成你登录的用户名
.. code-block:: xml
dfs.namenode.name.dir
file:///home/你登录的用户名/hdfs/namenode
NameNode directory for namespace and transaction logs storage.
dfs.datanode.data.dir
file:///home/你登录的用户名/hdfs/datanode
DataNode directory
...
.. warning:: 一定要绝对路径,使用相对路径将无法启动服务。
.. code-block:: shell
./hadoop-master.sh
./hadoop-worker.sh
1. 在Spark主节点机器上执行
.. code-block:: shell
./spark-master.sh
5. 在Spark从节点机器上执行
.. code-block:: shell
./spark-worker.sh
.. warning:: 3、4、5 不是依次执行的关系,机器部署的服务不同就执行不同的脚本,而其它操作是一样的。
检查是否部署成功
^^^^^^^^^^^^^^^^^^^
是否可以在浏览器中打开Hadoop、Spark WebUI界面。
1. Hadoop
访问:``http://Hadoop部署的机器IP:50070`` ,看到下面的画面即为成功,已注册了一个数据节点。
.. image:: _static/hadoop-ui.png
2. Spark
访问:``http://Spark主节点部署的机器IP:8080`` ,看到下面的画面即为成功,已注册一个或多个Worker。
.. image:: _static/spark-ui.png
应用平台配置
^^^^^^^^^^^^^
1. ``application-pro.yml``
.. code-block:: yaml
distributed:
# 单机使用本机IP 127.0.0.1 或者 不填写,分布式部署使用能远程访问本机的IP地址
host:
# 默认 auto;分布式 spark://torchdb-master:7077
master: auto
# 主要是在HDFS中存放用户上传的数据文件
fsDir:
2. ``core-site.xml`` Hadoop文件系统配置
.. code-block:: xml
fs.defaultFS
file:///
...