部署 =========== 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:/// ...