spark+hbase+kafka+zookeeper集群一条龙搭建教程

4 篇文章 0 订阅
2 篇文章 0 订阅

spark集群是依赖hadoop的。
hadoop集群搭建教程:
Hadoop集群搭建教程(一)
Hadoop集群搭建教程(二)

Spark集群

集群部署

官网下载:spark官网
这里要注意spark兼容的hadoop版本
接着解压:

tar -zxvf spark-2.4.3-bin-hadoop2.7.tgz

先在你的master节点进行spark的安装和配置,然后直接拷贝到其他节点就可以了。

cd /usr/loca/spark/conf/
vim spark-env.sh

然后,在最下面输入以下内容

export SPARK_DIST_CLASSPATH=$(/usr/loca/hadoop/bin/hadoop classpath)
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export SPARK_MASTER_IP=192.168.52.100

其实就是告知spark你的hadoop信息,还有你spark集群的master的ip。

cp slaves.template slaves
vim slaves

将你spark集群的所有从节点IP输入即可。
最后,将整个spark文件夹拷贝其他从节点的机器上即可。

scp -r /usr/loca/spark slave1:/usr/loca/

启动集群

cd /usr/loca/spark/sbin/
./start-all.sh

在你master机器上,键入以上命令,启动整个spark集群。

zookeeper集群

集群部署

为什么先说zookeeper呢?因为hbase和kafka都是基于zookeeper来进行资源管理的。
还有一点,一般集群是这样规划的:HBase的master节点不需要安装zookeeper,只需要在HBase的从节点安装zookeeper即可

  1. 还是同样的套路,首先,去官网下载,然后解压。

zookeeper官网下载
apache-zookeeper-3.5.5-bin.tar.gz,记得下载bin.tar.gz这种完整的包,不然会缺少一些jar包。

cd zookeeper/conf/
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg

在配置文件中输入,你整个集群的信息

dataDir=/var/zookeeper

clientPort=2181
server.1=slave1:2888:3888
server.2=slave2:2888:3888
server.3=slave3:2888:3888

接着,将整个zookeeper复制到其他机器上:
scp -r /usr/local/zookeeper slave1:/usr/local/
根据你的配置文件中的dataDir目录,在每个节点机器都创建一个名为myid的文件,然后添加对应的编号,例如server.1的机器就写入“1”

集群启动

zookeeper的集群没办法统一启动,所以需要在每台机器上键入以下命令:

cd zookeeper/bin/
./zkServer.sh start
./zkServer.sh status

最后一行是集群启动之后,查看你的状态,验证是否启动成功的。像下面有显示你的Mode信息等就表示成功启动了。
在这里插入图片描述

HBase集群

HBase介绍

HBase与很多数据库不一样,他的数据存储是按照以下的原理:
在这里插入图片描述

集群部署

  1. 官网下载解压:
    HBase官网
    HBase对hadoop的兼容是比较严格,可以去这个网站查看添加链接描述
  2. 配置/conf/hbase-env.sh
export HBASE_MANAGES_ZK=flase
export HADOOP_HOME=/usr/local/hadoop
export HBASE_HOME=/usr/local/hbase
export HBASE_CLASSPATH=/usr/local/hadoop/etc/hadoop

第一个配置项是是否使用自带的zookeeper,一般都会使用自己安装的zookeeper。
3. 配置/conf/hbase-site.xml

<configuration>
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://master:9000/hbase</value>
        </property>
        <!-- hbase端口 -->
        <property>
                <name>hbase.zookeeper.property.clientPort</name>
                <value>2181</value>
        </property>
        <!-- 超时时间 -->
        <property>
                <name>zookeeper.session.timeout</name>
                <value>120000</value>
        </property>
        <!--防止服务器时间不同步出错 -->
        <property>
                <name>hbase.master.maxclockskew</name>
                <value>150000</value>
        </property>
        <!-- 集群主机配置 -->
        <property>
                <name>hbase.zookeeper.quorum</name>
                <value>slave1,slave2,slave3 </value>
        </property>
        <!--   路径存放 -->
        <property>
                <name>hbase.tmp.dir</name>
                <value>/var/hbase</value>
        </property>
        <!-- true表示分布式 -->
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
        <!-- 指定master -->
        <property>
        <name>hbase.master</name>
        <value>master:60000</value>
  </property>
</configuration>
  1. 接着,将hbase复制到其他机器上
scp -r /usr/local/hbase/ slave1: /usr/local/hbase/

集群启动

首先,需要启动zookeeper集群和hdfs集群。
在master机器上,通过bin目录下的./start-hbase.sh启动整个hbase集群,接着通过jps验证。
在master节点能看到HMaster,在从节点有HRegionServer,就表示集群启动成功了~
在这里插入图片描述在这里插入图片描述

集群启动失败

Hbase的HMaster启动成功了,但是从节点HRegionServer一直启动不起来,有时启动成功了,没一会就自动关闭。
问题是整个集群服务器的系统时间不一致,将它们改为一致即可。
修改系统时间:
date -s "YYYY-MM-DD hh:mm:ss"
(上面是日期格式,要换为具体时间)
修改硬件时间为系统时间:
hwclock –systohc
每隔一段时间,系统时间与硬件时间就会进行校验,同步为硬件时间,并且重启之后系统时间也会跟硬件时间同步了。

kafka集群

kafka介绍

kafka集群是没有主从之分的
在这里插入图片描述
在这里插入图片描述

集群部署

  1. 官网下载,然后解压
    kafka官网
    在这里插入图片描述
    2.11是scala的版本,2.3.0是kafka的版本。

  2. 配置集群

cd /usr/local/kafka/config/
vim server.properties

在这里插入图片描述
每个节点的id不能相同
在这里插入图片描述
配置kafka日志文件的位置,可以配置多个,以逗号隔开,可以提升读写效率
在这里插入图片描述
zookeeper的集群host,和该节点机器的host

集群启动

我kafka使用的是自己安装的zookeeper集群,所以需要先将zookeeper集群启动。

./kafka-server-start.sh -daemon ../config/server.properties

在这里插入图片描述
最后,启动成功的话会有这样的日志打印出来,并且你的光标就无法定位,只能通过另起一个窗口来操作这台虚拟机,但是你不能关闭这个窗口,否则服务就关闭了。

欢迎关注同名公众号:“我就算饿死也不做程序员”。
交个朋友,一起交流,一起学习,一起进步。在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值