大数据环境搭建

本文详细介绍了大数据环境的搭建过程,包括Java、Scala、Zookeeper、Hadoop(CDH版)、Hive、Hbase和Spark的安装与配置。步骤涵盖环境变量设置、服务启动、集群分发及测试验证,适合多节点分布式环境的部署。
摘要由CSDN通过智能技术生成

大数据环境搭建

一、准备环境

说明:为了简化和统一安装,这里对安装包的上传目录和安装目录进行统一,如果没有特殊说明,则默认上传和安装至以下目录:

sudo mkdir /export/software/		#安装包上传目录
sudo mkdir /export/servsers/		#安装包安装目录

1. Java环境

1.1 卸载系统默认安装的OpenJDK

  • 查询系统是否安装openjdk

    sudo rpm -qa | grep java
    
  • 卸载openjdk

    sudo rpm -e --nodeps $(这里需要复制上述命令的查询结果,如果有多条记录,请多次执行,如果没有,则忽略,类似下面的例子)
    sudo rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.i686
    

1.2 安装JDK

  • 上传安装包至你的软件包目录下(看自己的习惯),这里以/export/software/为例,jdk包为jdk-8u141-linux-x64.tar.gz

  • 修改安装包权限并解压至java工作目录(看自己的习惯),这里以/export/servers/为例

    chmod 755 /export/softwares/jdk-8u141-linux-x64.tar.gz
    tar -zxvf /export/softwares/jdk-8u141-linux-x64.tar.gz -C /export/servers/
    

1.3 配置环境变量

  • 使用命令:sudo vim /etc/profile编辑配置文件,添加

    export JAVA_HOME=/export/servers/jdk1.8.0_141
    export PATH=$PATH:$JAVA_HOME/bin
    
  • 重新编译加载配置文件

    sudo source /etc/profile
    
  • 测试环境

    java -version
    

    出现下图则表示jdk安装成功

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b1J60SpE-1628870362667)(http://picbed.vicjax.top/Install&Config/20191121145003jdk安装.png)]

注:多台节点请确保每个节点的jdk都安装成功

2. Scala安装(非必须)

scala可以搭建在自己的开发环境中,如果不需要在服务器手动运行scala,则不需要在服务器安装scala

scala的安装和java类似

  • 下载

    下载地址:https://www.scala-lang.org/download/

    选择gz包:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6PdcmsMd-1628870362670)(http://picbed.vicjax.top/Install&Config/20191123004849scala-env-download.png)]

  • 上传

  • 解压

     tar -zxvf /export/softwares/scala-2.13.1.tgz -C /export/servers/
    
  • 配置环境变量

    vim /etc/profile
    # 添加以下内容
    export SCALA_HOME=/export/servers/scala-2.13.1
    export PATH=:$PATH:$SCALA_HOME/bin
    # 编译配置文件
    source /etc/profile
    
  • 测试

    scala --version
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kJd9NHpe-1628870362672)(http://picbed.vicjax.top/Install&Config/20191123005903scala-env-test.png)]

3. Zookeeper(CDH版本)搭建

为与cdh版本的hadoop环境对应,这里使用cdh版本的zookeeper

3.1 安装zookeeper

  • 下载上传

    /export/softwares/zookeeper-3.4.5-cdh5.14.0.tar.gz
    
  • 解压

    tar -zxvf /export/softwares/zookeeper-3.4.5-cdh5.14.0.tar.gz -C /export/servers/
    
  • 创建数据存放目录

    mkdir -p /export/servers/zookeeper-3.4.5-cdh5.14.0/zkdatas
    

3.2 配置zookeeper

  • 主机名IP地址映射

    sudo vim /etc/hosts
    #添加下面的映射, 这里的ip地址改为自己服务器的外网或内网ip即可"
    #这里如果使用的是云服务器,请在这里将当前节点的ip换成内网ip,其他节点换成外网ip即可,否则可能出现namenode启动不了的错误"
    192.168.100.100 node01
    192.168.100.200 node02
    192.168.100.300 node03
    
    #配置完成重启
    reboot
    
  • 复制配置文件

    cp /export/servers/zookeeper-3.4.5-cdh5.14.0/conf/zoo_sample.cfg /export/servers/zookeeper-3.4.5-cdh5.14.0/conf/zoo.cfg
    
  • 修改配置文件

    vim /export/servers/zookeeper-3.4.5-cdh5.14.0/conf/zoo.cfg
    #添加以下内容
    dataDir=/export/servers/zookeeper-3.4.5-cdh5.14.0/zkdatas
    autopurge.snapRetainCount=3
    autopurge.purgeInterval=1
    server.1=node01:2888:3888
    server.2=node02:2888:3888
    server.3=node03:2888:3888
    

    注: 这里的node01、node02、node03是ip映射之后的主机名,若有多个节点,请自行映射ip之后添加即可

  • 创建节点myid

    echo 1 > /export/servers/zookeeper-3.4.5-cdh5.14.0/zkdatas/myid
    

3.3 多节点分发

  • 将配置好的文件分发到其他节点

    scp -r /export/servers/zookeeper-3.4.5-cdh5.14.0/ node02:$PWD
    scp -r /export/servers/zookeeper-3.4.5-cdh5.14.0/ node03:$PWD
    ...
    

    若有多个节点,依次分发到各个节点即可

  • 为各个节点指定myid

    echo $myid > /export/servers/zookeeper-3.4.5-cdh5.14.0/zkdatas/myid
    

    这里 m y i d 应 与 z o o . c f g 中 ‘ s e r v e r . n = n o d e n : 2888 : 3888 ‘ 相 一 致 , 比 如 n o d e 02 节 点 myid应与zoo.cfg中`server.n=noden:2888:3888`相一致,比如node02节点 myidzoo.cfgserver.n=noden:2888:3888node02myid=2,node03节点$myid=3,以此类推即可

3.4 启动zookeeper

  • 启动

    bash /export/servers/zookeeper-3.4.5-cdh5.14.0/bin/zkServer.sh start
    
  • 查看

    bash /export/servers/zookeeper-3.4.5-cdh5.14.0/bin/zkServer.sh status
    
  • 停止

    bash /export/servers/zookeeper-3.4.5-cdh5.14.0/bin/zkServer.sh stop
    

4 Mysql的安装

如果使用hive,请在该节点安装MySQL

4.1 添加mysql yum源

centOS上直接使用yum install mysql安装,最后安装上的会是MariaDB,所以要先添加mysql yum

rpm -Uvh https://repo.mysql.com//mysql80-community-release-el7-2.noarch.rpm

4.2 安装(如果要安装最新版,可直接开始安装)

  • 查看yum源中所有Mysql版本

    yum repolist all | grep mysql
    
  • 此时的最新版本是mysql8.0,把它禁用掉

    yum-config-manager --disable mysql80-community
    
  • mysql5.7是我要安装的版本,启用mysql5.7

    yum-config-manager --enable mysql57-community
    
  • 检查刚才的配置是否生效

    yum repolist enabled | grep mysql
    
  • 开始安装

    yum install mysql-community-server
    

4.3 启动服务

service mysqld start
  • 启动完成之后检查mysql状态,

    service mysqld status
    
  • 查看临时密码

    grep 'temporary password' /var/log/mysqld.log
    
  • 登录

    mysql -uroot -p
    
  • 修改临时密码

    ALTER USER user@localhost IDENTIFIED BY 'newpasswd';
    

    这里user一般为root,或者是当前的使用用户,localhost为访问地址。

  • 开放mysql远程访问权限

     grant all privileges on *.* to 'root'@'%' identified by'Mysql@node03' with grant option;
    

二、Hadoop(CDH版)搭建

1. 集群部署规划

类别属性测试节点(ip)生产节点(ip)
hdfsNameNodenode01node01
-SecondaryNameNodenode02node02
-DataNodenode01,node02,node03,…node03,node04,…
yarnResourceManagernode02node01/node02
NodeManagernode01,node02,node03,…node03,node04…
MapReduceJobHistoryServernode03node01/node02

这里的节点分配仅供参考,测试环境采用三台服务器搭建,部分节点分配有重复,可根据实际配置更改

2. 安装

2.1 上传解压

  • 将需要的cdh版本的hadoop安装包上传至服务器

    /export/softwares/hadoop-2.6.0-cdh5.14.0.tar.gz
    
  • 解压文件

    tar -zxvf /export/softwares/hadoop-2.6.0-cdh5.14.0.tar.gz -C /export/servers/
    

2.2 配置hadoop

  • core-site.xml

    #进入配置文件目录
     cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/
     vim core-site.xml
    

    配置以下内容:

    <configuration>
    	<property>
    		<name>fs.defaultFS</name>
    		<value>hdfs://node01:8020</value>
    	</property>
    	<property>
    		<name>hadoop.tmp.dir</name>
    		<value>/export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/tempDatas</value>
    	</property>
    	<!--  缓冲区大小,实际工作中根据服务器性能动态调整 -->
    	<property>
    		<name>io.file.buffer.size</name>
    		<value>2048</value>
    	</property>
    
    	<!--  开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟 -->
    	<property>
    		<name>fs.trash.interval</name>
    		<value>10080</value>
    	</property>
    </configuration>
    
  • hdfs-site.xml

    cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
    vim hdfs-site.xml
    

    添加以下内容:

    <configuration>
    	<property>
    		 <name>dfs.namenode.secondary.http-address</name>
    		 <value>node02:50070</value>
    	</property>
    	<property>
    		<name>dfs.namenode.http-address</name>
    		<value>node01:50070</value>
    	</property>
    	<property>
    		<name>dfs.namenode.name.dir</name>
    		<value>file:///export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/namenodeDatas</value>
    	</property>
    	<!--  定义dataNode数据存储的节点位置,实际工作中,一般先确定磁盘的挂载目录,然后多个目录用,进行分割  -->
    	<property>
    		<name>dfs.datanode.data.dir</name>
    		<value>file:///export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/datanodeDatas</value>
    	</property>
    	
    	<property>
    		<name>dfs.namenode.edits.dir</name>
    		<value>file:///export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/edits</value>
    	</property>
    	<property>
    		<name>dfs.namenode.checkpoint.dir</name>
    		<value>file:///export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/snn/name</value>
    	</property>
    	<property>
    		<name>dfs.namenode.checkpoint.edits.dir</name>
    		<value>file:///export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/snn/edits</value>
    	</property>
    	<property>
    		<name>dfs.replication</name>
    		<value>3</value>
    	</property>
    	<property>
    		<name>dfs.permissions</name>
    		<value>false</value>
    	</property>
        <property>
    		<name>dfs.blocksize</name>
    		<value>134217728</value>
    	</property>
    </configuration>
    
  • hadoop-env.sh

    cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
    vim hadoop-env.sh
    

    添加以下内容:

    export JAVA_HOME=/export/servers/jdk1.8.0_141
    

    这里配置JAVA_HOME建议给出绝对路径,不然容易出现jave不存在的错误:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o8gya9Wp-1628870362674)(http://picbed.vicjax.top/Install&Config/20191122100003hadoop-env-error-no-java.png)]

  • mapred-site.xml

    cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
    vim mapred-site.xml
    

    添加以下内容:

    <configuration>
    	<property>
    		<name>mapreduce.framework.name</name>
    		<value>yarn</value>
    	</property>
    
    	<property>
    		<name>mapreduce.job.ubertask.enable</name>
    		<value>true</value>
    	</property>
    	
    	<property>
    		<name>mapreduce.jobhistory.address</name>
    		<value>node01:10020</value>
    	</property>
    
    	<property>
    		<name>mapreduce.jobhistory.webapp.address</name>
    		<value>node01:19888</value>
    	</property>
    </configuration>
    
  • yarn-site.xml

    cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
    vim yarn-site.xml
    

    添加以下内容:

    <configuration>
    	<property>
    		<name>yarn.resourcemanager.hostname</name>
    		<value>node01</value>
    	</property>
    	<property>
    		<name>yarn.nodemanager.aux-services</name>
    		<value>mapreduce_shuffle</value>
    	</property>
    	
    	<property>
    		<name>yarn.log-aggregation-enable</name>
    		<value>true</value>
    	</property>
    	<property>
    		<name>yarn.log-aggregation.retain-seconds</name>
    		<value>604800</value>
    	</property>
    </configuration>
    
  • slaves

    cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
    vim slaves
    

    添加以下内容:

    node01
    node02
    node03
    

2.3 创建文件目录

  • 执行以下命令

    mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/tempDatas
    mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/namenodeDatas
    mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/datanodeDatas 
    mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/edits
    mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/snn/name
    mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/snn/edits
    

2.4 向节点分发

  • 执行以下目录

    cd /export/servers/
    scp -r hadoop-2.6.0-cdh5.14.0/ node02:$PWD
    scp -r hadoop-2.6.0-cdh5.14.0/ node03:$PWD
    

2.5 配置环境变量

  • 添加hadoop的环境变量

    vim /etc/porfile/
    "添加以下内容"
    export HADOOP_HOME=/export/servers/hadoop-2.6.0-cdh5.14.0
    export PATH=:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
    "使配置生效"
    source /etc/profile
    

3. 启动测试

所有的脚本启动命令皆存在于$HADOOP_HOME/sbin目录下,使用命令之前建议先进入该目录:

cd /export/servers/hadoop-2.6.0-cdh5.14.0/sbin/
  • 单节点启动/停止集群

    单节点启动需要在每个节点上启动对应的服务:

    "hdfs主节点/备用主节点启动NameNode"
    bash hadoop-daemon.sh start namenode
    "hdfs从节点启动DataNode"
    bash hadoop-daemon.sh start datanode
    "yarn主节点启动ResouceManager"
    bash yarn-daemon.sh start resourcemanager 
    "yarn从节点启动NodeManager"
    bash yarn-daemon.sh start nodemanager
    "Mapred节点启动HistoryServer"
    bash mr-jobhistory-daemon.sh start historyserver
    

    关闭集群只需将start改为stop即可。

  • 脚本一键启动

    脚本启动是将以上命令进行封装为一个启动脚本,需要配置$HADOOP_HOME/etc/hadoop/slaves文件和ssh免密登录

    #启动hdfs集群
    bash start-dfs.sh
    #启动yarn集群
    bash start-yarn.sh
    #启动HistoryServer
    bash mr-jobhistory-daemon.sh start historyserver
    #停止集群将start改为stop即可
    

    也可以直接启动/停止所有服务:

    #这两个脚本已过时,推荐使用上述两个脚本
    bash start-all.sh
    bash stop-all.sh
    
  • 测试

    命令行查看节点上启动的服务:

    jps | grep -v Jps
    

    这里以测试环境为例,查看节点上启动的服务:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wFq1Vm3F-1628870362676)(http://picbed.vicjax.top/Install&Config/20191122125006hadoop-env-jps.png)]

    使用浏览器界面查看启动的集群:

    "hdfs集群访问地址"
    http://192.168.100.100:50070/dfshealth.html#tab-overview  
    "yarn集群访问地址"
    http://192.168.100.200:8088/cluster
    "jobhistory访问地址"
    http://192.168.100.300:19888/jobhistory
    

    这里的IP换成相应服务启动的节点ip即可。

    出现类似的界面代表集群搭建成功:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EyV4QFK5-1628870362677)(http://picbed.vicjax.top/Install&Config/20191122125817hadoop-env-test.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VAHF1MRK-1628870362678)(http://picbed.vicjax.top/Install&Config/20191122125925hadoop-env-test.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pHwnCrGb-1628870362679)(http://picbed.vicjax.top/Install&Config/20191122130732hadoop-env-test.png)]

三、Hive的安装部署

1 上传安装

1.1 上传

  • 这里使用cdh版本的hive,hive-1.1.0-cdh5.14.0.tar.gz ,选择一个节点上传

1.2 解压

cd /export/softwares/
tar -zxvf /export/softwares/hive-1.1.0-cdh5.14.0.tar.gz -C /export/servers/

2 使用

cd /export/servers/hive-1.1.0-cdh5.14.0/
/bin/hive

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GNdjqOWa-1628870362680)(http://picbed.vicjax.top/Install&Config/20191122165804hadoop-env-hive.png)]

3 Mysql管理元数据

3.1 修改hive-env.sh

#进入hive配置目录
cd /export/servers/hive-1.1.0-cdh5.14.0/conf/
#备份配置文件
#编辑配置文件
#添加hadoop环境变量
HADOOP_HOME=/export/servers/hadoop-2.6.0-cdh5.14.0
export HIVE_CONF_DIR=/export/servers/hive-1.1.0-cdh5.14.0/conf

3.2 修改hive-site.xml

如果不存在,则创建即可

cd /export/servers/hive-1.1.0-cdh5.14.0/conf/
vim hive-site.xml
#添加以下文件内容
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
        <property>
                <name>javax.jdo.option.ConnectionURL</name>
                <value>jdbc:mysql://node03:3306/hive?createDatabaseIfNotExist=true</value>
        </property>
        <property>
                <name>javax.jdo.option.ConnectionDriverName</name>
                <value>com.mysql.jdbc.Driver</value>
        </property>
        <property>
                <name>javax.jdo.option.ConnectionUserName</name>
                <value>root</value>
        </property>
        <property>
                <name>javax.jdo.option.ConnectionPassword</name>
                <value>Mysql@node03</value>
        </property>
        <property>
                <name>hive.cli.print.current.db</name>
                <value>true</value>
        </property>
        <property>
                <name>hive.cli.print.header</name>
                <value>true</value>
        </property>
        <property>
                <name>hive.server2.thrift.bind.host</name>
                <value>node03</value>
        </property>
<!--
        <property>
                <name>hive.metastore.uris</name>
                <value>thrift://node03.hadoop.com:9083</value>
        </property>
-->
</configuration>

3.3 上传mysql驱动包

上传mysql驱动包至/export/servers/hive-1.1.0-cdh5.14.0/lib

这里使用对应版本的驱动包或者更新的驱动包即可。

3.4 hive的交互方式

  • Hive交互shell

    cd /export/servers/hive-1.1.0-cdh5.14.0
    bin/hive
    #查看所有的数据库
    hive (default)> show databases; 
    #创建一个数据库
    hive (default)> create database myhive;
    #使用该数据库并创建数据库表
    hive (default)> use myhive;
    hive (myhive)> create table test(id int,name string);
    

    以上命令操作完成之后,一定要确认mysql里面出来一个数据库hive

  • HiveJDBC服务

    启动hiveserver2服务

    #前台启动
    cd /export/servers/hive-1.1.0-cdh5.14.0
    bin/hive --service hiveserver2
    #后台启动
    cd /export/servers/hive-1.1.0-cdh5.14.0
    nohup bin/hive --service hiveserver2 &
    

    beeline连接hiveserver2

    bin/beeline
    beeline> !connect jdbc:hive2://node03:10000
    

    注意:如果使用beeline方式连接hiveserver2,一定要保证hive在mysql当中的元数据库已经创建成功,不然就会拒绝连接,这里的端口是hive连接mysql的端口,不是mysql的端口,不建议更改。

  • Hive命令

    #使用 –e 参数来直接执行hql的语句
    bin/hive -e "use myhive;select * from test;"
    #使用 –f  参数通过指定文本文件来执行hql的语句
    vim hive.sql
    use myhive;select * from test;
    bin/hive -f hive.sql
    

## 四、Hbase搭建

### 1 上传安装

1.1 上传

这里hbase版本为`hbase-1.2.0-cdh5.14.0.tar.gz `

1.2 解压

​```bash
tar -zxvf /export/softwares/hbase-1.2.0-cdh5.14.0.tar.gz -C /export/servers/

2 配置

所有的配置位于$HBASE_HOME/conf/目录下:

cd /export/servers/hbase-1.2.0-cdh5.14.0/conf/

这里需要将hdoop的hdfs-site.xml和core-site.xml放到该目录下:

cp /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/hdfs-site.xml /export/servers/hbase-1.2.0-cdh5.14.0/conf/
cp /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/core-site.xml /export/servers/hbase-1.2.0-cdh5.14.0/conf/

2.1 hbase-env.sh

#添加java运行环境
export JAVA_HOME=/export/servers/jdk1.8.0_141
#配置hbase使用外部的zk“
export HBASE_MANAGES_ZK=false

这里的java路径配置为当前节点的javahome即可

2.2 hbase-site.xml

<configuration>
		<!-- 指定hbase在HDFS上存储的路径 -->
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://node01:8020/hbase</value>
        </property>
		<!-- 指定hbase是分布式的 -->
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
		<!-- 指定zk的地址,多个用“,”分割 -->
        <property>
                <name>hbase.zookeeper.quorum</name>
                <value>node01:2181,node02:2181,node03:2181</value>
        </property>
	</configuration>

替换配置中字节的zk集群几点即可

2.3 regionservers

配置region节点,可根据实际情况更改即可

node01
node02
node03

2.4 backup-masters

vim backup-masters
#添加备用节点主机名映射即可
node02

3 分发

将配置好的分发到其他节点

cd /export/servers
scp -r hbase-1.2.0-cdh5.14.0/ node02:$PWD
scp -r hbase-1.2.0-cdh5.14.0/ node03:$PWD

4 启动测试

确保zk和hdfs已经启动这里使用jps命令查看进程即可:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iaKgyueU-1628870362681)(http://picbed.vicjax.top/Install&Config/20191122233005hadoop-env-jps.png)]

#主节点启动
cd /export/servers/hbase-1.2.0-cdh5.14.0/bin
bash start-hbase.sh

浏览器访问masetre-node:60010查看成功画面:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0r3y7JvP-1628870362682)(http://picbed.vicjax.top/Install&Config/20191122232201hadoop-env-habse.png)]

命令行使用jps查看进程:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R2nseQN5-1628870362683)(C:\Users\sword\AppData\Roaming\Typora\typora-user-images\image-20191122233222341.png)]

五、Spark搭建

1. 准备

  • 上传

这里下载的是spark-3.0.3-bin-hadoop2.7.tgz安装包,上传至/export/softwares/

  • 解压

    tar -zxvf /export/softwares/spark-3.0.3-bin-hadoop2.7.tgz -C /export/servers/
    

2. 配置

配置文件位于/export/servers/spark-3.0.3-bin-hadoop2.7.tgz/conf下,这里配置的是高可用spark集群,需要依赖zk

2.1 spark-env.sh

cp spark-env.sh.template spark-env.sh
vim spark-env.sh
#添加以下内容 请根据实际需求进行更改
#配置java环境变量
export JAVA_HOME=/export/servers/jdk1.8.0_141
#指定spark主节点Master
# export SPARK_MASTER_HOST=node01
# 高可用模式下使用下面方式配置主节点
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER  -Dspark.deploy.zookeeper.url=node01:2181,node02:2181,node03:2181  -Dspark.deploy.zookeeper.dir=/spark"
#指定Master的端口
export SPARK_MASTER_PORT=7077

2.2 spark-slaves

cp slaves.template slaves
vim slaves
#添加以下内容 请根据需要添加或删除
node02
node03

3. 分发

向其他节点分发配置好的spark

cd /export/servers
scp -r spark-3.0.3-bin-hadoop2.7/ node02:/export/servers
scp -r spark-3.0.3-bin-hadoop2.7/ node03:/export/servers

4. 添加环境变量

将spark添加到环境变量,需要每台机器都执行

vim /etc/profile
#添加以下内容
export SPARK_HOME=/export/servers/spark-3.0.3-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin
#编译配置文件
source /etc/profile

5. 启动测试

  • 任意节点启动spark

    cd /export/servers/spark-3.0.3-bin-hadoop2.7/sbin/
    bash start-all.sh
    
  • 另外一台启动master配置高可用

    cd /export/servers/spark-3.0.3-bin-hadoop2.7/sbin/
    bash start-master.sh
    

    停止集群只需将start换成stop即可

  • 测试cli界面

    使用jps命令即可:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3ZdyDhd7-1628870362685)(http://picbed.vicjax.top/Install&Config/20191123003403spark-env-jps.png)]

  • 测试web界面

    # 这里使用主节点即可
    http://node01:8080 
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HK0UU78I-1628870362686)(http://picbed.vicjax.top/Install&Config/20191123003624spark-env-web.png)]
    R_PORT=7077


2.2 spark-slaves

```bash
cp slaves.template slaves
vim slaves
#添加以下内容 请根据需要添加或删除
node02
node03

3. 分发

向其他节点分发配置好的spark

cd /export/servers
scp -r spark-3.0.3-bin-hadoop2.7/ node02:/export/servers
scp -r spark-3.0.3-bin-hadoop2.7/ node03:/export/servers

4. 添加环境变量

将spark添加到环境变量,需要每台机器都执行

vim /etc/profile
#添加以下内容
export SPARK_HOME=/export/servers/spark-3.0.3-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin
#编译配置文件
source /etc/profile

5. 启动测试

  • 任意节点启动spark

    cd /export/servers/spark-3.0.3-bin-hadoop2.7/sbin/
    bash start-all.sh
    
  • 另外一台启动master配置高可用

    cd /export/servers/spark-3.0.3-bin-hadoop2.7/sbin/
    bash start-master.sh
    

    停止集群只需将start换成stop即可

  • 测试cli界面

    使用jps命令即可:

    [外链图片转存中…(img-3ZdyDhd7-1628870362685)]

  • 测试web界面

    # 这里使用主节点即可
    http://node01:8080 
    

    [外链图片转存中…(img-HK0UU78I-1628870362686)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值