Spark Streaming实时流处理项目4——实战环境搭建

1、Scala安装:

  • 下载
  • 解压
  • 配置环境变量
  • 检查安装是否成功

详细安装步骤不再赘述,网上别人教程叙述的已经十分全面了。

2、Hadoop安装 参考这篇博客所介绍的详细步骤

3、Hbase安装

Hbase安装的前提是Hadoop集群和Zookeeper已经安装完毕,并能正确运行。 

第一步:下载安装包,解压到合适位置

第二步:配置相关的文件
(1)配置hbase-env.sh,该文件在/soft/hbase/conf下

#内容
export JAVA_HOME=/soft/jdk
export HBASE_CLASSPATH=/soft/hbase/conf
# 此配置信息,设置由hbase自己管理zookeeper,不需要单独的zookeeper。
export HBASE_MANAGES_ZK=false
export HBASE_HOME=/soft/hbase
export HADOOP_HOME=/soft/hadoop
#Hbase日志目录
export HBASE_LOG_DIR=/soft/hbase/logs
(2)配置hbase-site.xml,该文件位于/soft/hbase/conf

<configuration>

        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://hadoop0:9000/hbase</value>
        </property>
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
        <property>
                <name>hbase.master</name>
                <value>hadoop0:60000</value>
        </property>
        <property>
                <name>hbase.zookeeper.quorum</name>
                <value>hadoop0,hadoop1,hadoop2,hadoop3</value>
        </property>
</configuration>

(2)配置 regionservers,该文件位于/soft/hbase/conf

hadoop0
hadoop1
hadoop2
hadoop3

第三步:启动Hbase

bin/start-hbase.sh

在启动HBase之前,必须先启动Hadoop,以便于HBase初始化、读取存储在hdfs上的数据
4、Spark安装

以下操作都在Master节点进行。

1)下载二进制包

2)解压并移动到相应目录

3)修改相应的配置文件。

配置环境变量,修改/etc/profie,增加如下内容:

export SPARK_HOME=/soft/spark/
export PATH=$PATH:$SPARK_HOME/bin

复制spark-env.sh.template成spark-env.sh

cp spark-env.sh.template spark-env.sh

修改$SPARK_HOME/conf/spark-env.sh,添加如下内容:
export JAVA_HOME=/soft/jdk
export SCALA_HOME=/soft/scala
export HADOOP_HOME=/soft/hadoop
export HADOOP_CONF_DIR=/soft/hadoop/etc/hadoop
export SPARK_MASTER_IP=hadoop0
export SPARK_WORKER_MEMORY=2g
export SPARK_WORKER_CORES=1
export SPARK_WORKER_INSTANCES=1

复制slaves.template成slaves:cp slaves.template slaves

修改$SPARK_HOME/conf/slaves,添加如下内容:
hadoop1
hadoop2
hadoop3

4)将配置好的spark文件复制到其他节点。

5)修改其他节点的配置。

6)在Master节点启动集群。/soft/spark/sbin/start-all.sh

7)查看集群是否启动成功:jps

启动命令记录,方便以后使用:

①启动zookeeper:/soft/shell/zookeeper.sh   zookeeper.sh是自己写的shell脚本,只需要在hadoop0上执行就可以在全部四个机器上都启动zookeeper,shell脚本的内容如下:

#!/bin/sh
echo "start zkServer..."
for i in 0 1 2 3
do
ssh hadoop$i "source /etc/profile;/soft/zookeeper/bin/zkServer.sh start"
done

②启动hadoop:先启动HDFS,/soft/hadoop/sbin/start-dfs.sh;再启动YARN,/soft/hadoop/sbin/start-yarn.sh

③启动Spark: /soft/spark/sbin/start-all.sh 关闭Spark: /soft/spark/sbin/stop-all.sh

④启动Kafka:自己写的shell脚本,只需要在hadoop0上执行/soft/shell/kafka.sh 就可全部启动,shell脚本内容如下:

brokers="hadoop0 hadoop1 hadoop2 hadoop3"
kafka_home="/soft/kafka"

for i in $brokers
do
    echo "Starting kafka on ${i} ... "
    ssh ${i} "source /etc/profile; nohup sh ${kafka_home}/bin/kafka-server-start.sh ${kafka_home}/config/server.properties > /dev/null 2>&1 &"
    if [[ $? -ne 0 ]]; then
        echo "Start kafka on ${i} is OK !"
    fi
done
echo kafka kafka are started !
exit 0

⑤启动Hbase:只需要在hadoop0执行 /soft/hbase/bin/start-hbase.sh

就先启动这么多吧,后面再需要其他命令再追加。

5、开发环境搭建:

IDEA + Maven

pom文件:

<properties>
  <scala.version>2.11.8</scala.version>
  <kafka.version>0.11.0.2</kafka.version>
  <spark.version>2.2.0</spark.version>
  <hadoop.version>2.7.3</hadoop.version>
  <hbase.version>1.2.4</hbase.version>
</properties>

<dependencies>
  <dependency>
    <groupId>org.scala-lang</groupId>
    <artifactId>scala-library</artifactId>
    <version>${scala.version}</version>
  </dependency>
  <dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka_2.11</artifactId>
    <version>${kafka.version}</version>
  </dependency>
  <!--Hadoop依赖-->
  <dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-client</artifactId>
    <version>${hadoop.version}</version>
  </dependency>
  <!--Hbase client依赖-->
  <dependency>
    <groupId>org.apache.hbase</groupId>
    <artifactId>hbase-client</artifactId>
    <version>${hbase.version}</version>
  </dependency>
  <!--Hbase server依赖-->
  <dependency>
    <groupId>org.apache.hbase</groupId>
    <artifactId>hbase-server</artifactId>
    <version>${hbase.version}</version>
  </dependency>
  <!--SparkStreaming 依赖-->
  <dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-streaming_2.11</artifactId>
    <version>${spark.version}</version>
  </dependency>
</dependencies>

猜你喜欢

转载自blog.csdn.net/qq_21583077/article/details/87605054