CentOs-7 Spark 完全分布式 搭建

1.准备好安装了jdk的虚拟机
---------------(Spark并不是必须依赖于Hadoop,它是一个通用性的集群计算平台,可以用来替代Hadoop的MapReduce,因为相比较而言,Spark更加高效)
2.下载并在Linux上安装spark
3.选择节点打通无密登录(1台做master节点,另外几台做worker节点)
4.在conf下cp出slaves 和 spark-env.sh,并i修改
---------------修改4.1Slaves
---------------修改4.2spark-env.sh
5.修改sbin下spark-config.sh
6.配置从节点
7.启动spark
---------------到主节点spark的sbin下运行 start-all.sh
8 spark集成hive(题外)

1.准备好安装了jdk的虚拟机

(我这里是在已经搭建好的Hadoop完全分布式基础上继续搭建的上,Spark并不是必须依赖于Hadoop,它是一个通用性的集群计算平台,可以用来替代Hadoop的MapReduce,因为相比较而言,Spark更加高效)

2.下载并在Linux上安装spark

在这里插入图片描述

  • cd /usr/soft/
  • ls
    查看当前目录下文件
  • tar -zxvf spark-2.4.3-bin-hadoop2.6.tgz
    解压
    在这里插入图片描述
    因为IP地址变了,所以改一下hosts文件
    在这里插入图片描述
    在这里插入图片描述
  • mv spark-2.4.3-bin-hadoop2.6 spark-2.4.3
    解压后文件夹名太长,改个名字
    在这里插入图片描述
3.选择节点打通无密登录

(1台做master节点,另外几台做worker节点)
我的也已经配好了!
在这里插入图片描述
试验一下能否无秘登陆另外几个节点(下面是一个实例);
在这里插入图片描述

  • ssh-keygen -r rsa
    生成密钥
  • cd .ssh/
    相对路径
  • ls
  • cat id_rsa.pub >> authorized_keys
    查看文件加管道命令
  • scp authorized_keys root@node-2:$PWD
    ……
    把公钥拷贝到另外几台节点的相同路径下
    然后登陆试验一下
4.在Spark的conf目录下cp出slaves 和 spark-env.sh,并修改

本身是没有这两个文件的,所以通过模板拷贝一份
在这里插入图片描述

4.1修改Slaves

声明有几个重节点

  • vi slaves
    在这里插入图片描述
    node-2
    node-3
    node-4
    在这里插入图片描述
4.2修改spark-env.sh
  • vi spark-env.sh
    在这里插入图片描述
  • 声明主节点IP地址
  • 声明主节点提交任务的端口
  • 声明每个重节点可以使用几核处理任务(根据集群中计算机的性能来定)
    2核就代表可以同时处理两个任务(这里的核和计算机的一核两个线程处理任务时不一样)
  • 声明每个重节点处理任务时使用多大的内存
  • 声明spark监视窗口的端口
    这里要修改spark监视窗口的端口,因为默认是8080和汤姆猫冲突
export SPARK_MASTER_HOST=node-1
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=1
export SPARK_WORKER_MEMORY=3g
export SPARK_MASTER_WEBUI_PORT=8888

//用来关联hadoop
export JAVA_HOME=/opt/jdk/
export HADOOP_HOME=/opt/hadoop-2.7.3
export HADOOP_CONF_DIR=/opt/hadoop-2.7.3/etc/hadoop

在这里插入图片描述

5.修改spark的sbin目录下 spark-config.sh文件

声明jdk路径(1x可以自动识别,2x则需要自己配置)

  • echo $JAVA_HOME
    查看jdk路径
  • vi spark-config.sh
export JAVA_HOME=/usr/soft/jdk1.8.0_111/

在这里插入图片描述
在这里插入图片描述

6.配置重节点
  • scp -r spark-2.4.3/ root@node-3:$PWD
    把spark-2.4.3文件夹下的所有拷贝到node-3的相同路径下
    有几个重节点就拷几台
    在这里插入图片描述
7.启动spark

无法配置全局变量,得到主节点spark的sbin下运行 start-all.sh,因为启动命令和Hadoop得冲突了;

  • cd /usr/soft/spark-2.4.3/sbin/
    进入此路径
  • ./start-all.sh
    在当前路径下使用此命令(启动Spark)
    在这里插入图片描述
  • 下面通过主节点IP和在spark-env.sh文件里设置的端口号登陆页面查看
    在这里插入图片描述
    如上图所有的节点都启动起来了;
    成功!
8 spark集成hive(题外)
spark链接hive有两种方式
  • 一、
    1 将hive 的conf路径下的hive-site.xml文件拷贝到sparkconf路径下
    按下图模版修改
    在这里插入图片描述
<configuration>
        <property>
                <name>hive.metastore.uris</name>
                <value>thrift://love:9083</value>
        </property>
</configuration>

2.在启动spark-sql前先开启metastore服务
启动hive的metastore服务,spark通过hive的metastore得到文件元数据信息再去hdfs获取文件

hive --service metastore &

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 二、
    在命令行临时指定
spark-shell --conf spark.hadoop.hive.metastore.uris=thrift://localhost:9083
### CentOS 7搭建 Hadoop 完全分布式环境 #### 解压并安装 Hadoop 为了在 CentOS 7 上部署 Hadoop 的完全分布式模式,首先需要解压已下载的 Hadoop 压缩包到指定位置: ```bash cd /root/module # 进入模块目录 tar -3.1.3.tar.gz -C /usr/local/ # 将Hadoop压缩包解压至/usr/local/ mv /usr/local/hadoop-3.1.3 /usr/local/hadoop # 更改解压后的Hadoop目录名为hadoop以便管理 ``` 上述命令完成了 Hadoop 软件包的基础设置工作[^1]。 #### 配置 SSH 免密登录 实现节点间的无密码通信对于构建高效稳定的集群至关重要。需确保主节点能够通过 SSH 协议免密码访问所有子节点。这通常涉及生成 SSH 密钥对并将公钥分发给各个参与计算的工作节点。 #### 设置 MapReduce 输入文件 准备用于测试 MapReduce 程序的数据集是必要的一步,在此之前可以创建简单的文本文件作为输入源: ```bash [hadoop@bigdata-senior01 modules]$ cat > /opt/data/wc.input <<EOF hadoop mapreduce hive hbase spark storm sqoop hadoop hive spark hadoop EOF ``` 这段脚本会建立一个名为 `wc.input` 的文件,其中包含了几个大数据技术名词供后续处理使用[^2]。 #### 同步配置文件至其他节点 当完成主控机上的全部设定之后,应当把相应的配置同步复制到每一个从属机器上去,保证整个系统的协调一致运行: ```bash scp -r /usr/local/hadoop/etc/hadoop/ worker2:/usr/local/hadoop/etc/hadoop/ ``` 这条指令实现了将本地 `/usr/local/hadoop/etc/hadoop/` 下的所有内容发送给远程主机 `worker2` 的相同路径下[^3]。 #### 修改核心配置文件 针对不同版本的 Hadoop 及具体需求调整其配置参数非常重要。一般情况下至少要编辑以下几个关键性的 XML 文件: - core-site.xml - hdfs-site.xml - yarn-site.xml - mapred-site.xml 这些文件位于 `$HADOOP_HOME/etc/hadoop/` 目录内,修改它们以适应实际网络状况和其他硬件资源情况。 #### 初始化 NameNode 并启动服务 最后执行如下操作初始化 HDFS 文件系统,并开启所有的相关守护进程: ```bash $HADOOP_HOME/bin/hdfs namenode -format start-dfs.sh start-yarn.sh jps ``` 以上步骤验证了各组件是否正常运作,如果一切顺利则表示成功建立了基于 CentOS 7 的 Hadoop 完全分布式平台[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值