基于Docker的分布式Storm实时计算平台搭建

1 篇文章 0 订阅
1 篇文章 0 订阅

1. 准备好系统环境及使用的软件(务必看下)

  • VMware Workstation Pro 15
  • Ubuntu 20.04
  • Hadoop 3.1.4
  • Docker 19.03.13
  • Storm 2.2.0
  • Zookeeper 3.7.0
  • JDK 1.8.0_261
  • 远程开发工具:VS-code + Remote-ssh(不建议新手配这个,太累了),这个纯粹的就是个工具,用xshell,putty等都可以,这两个使用比较简单,自行选择
  • 先在docker官网注册一个用户,后面需要用到 Docker官网链接

温馨提示:学习不是照抄的哦,但安装的过程是有套路的!个人习惯在文章中添加我个人的理解说明,所以建议新同学要耐心看下我的命令解释说明,再根据自己实际的情况做参考,不要盲目照搬命令哦,避免不必要的错误!



2. Docker集群部署

2.1 安装Docker

先看看这,注意一下接下来的命令右侧括号中提示:
为了方便我表达,且不进行过多重复的操作,我在命令右侧括号中标注了当前命令应该在哪里用
——主机表示你的虚拟机
——master,slave01,slave02表示你在虚拟机中,通过docker建立的三个容器系统机,这三个容器机相当于在你虚拟机中抽象出来的
所以命令右侧

命令1(主机):

sudo apt-get update
#解释:更新安装源

命令2(主机):

sudo snap install docker
#解释:安装docker

命令3(主机):

sudo groupadd docker
#解释:创建一个docker用户组

命令4(主机):

sudo usermod -aG docker $USER
#解释:为当前用户添加docker用户组,让非root用户可以正常使用docker的基本功能

命令5(主机):

newgrp docker
#解释:更新用户组

命令6(主机):

sudo snap restart docker
#解释:重新启动docker

命令7(主机):

docker info
#解释:查看docker的启动状态,输出如下图所示

Dokcer部署

2.2 部署基于Docker的Ubuntu集群

命令1(主机):

docker pull ubuntu
#解释:下载ubuntu镜像

命令2(主机):

docker run -it -v /root/download:/download –name master -h master ubuntu bash
#解释:根据命令1下载的镜像,创建一个名为master的容器,并定义创建的该容器的hostname为master,同时创建容器与本地的共享目录download,方便后续文件传输,减少不必要的scp步骤。执行完该命令后,会进入创建好的master容器中。

在这里插入图片描述

命令3(master节点):

apt-get update
#解释:更新ubuntu的安装源

命令4(master节点):

apt-get -y install openssh-server
#解释:安装ssh,为多个ubuntu建立起连接,构建ubuntu集群

命令5(master节点):

vim /etc/ssh/sshd_config
#解释:做以下修改,使ssh支持root用户访问,如果不做此修改,则外部用户无法通过root用户与当前节点进行连接
在PermitRootLogin prohibit-password前加#,作用是注释掉这行内容的效果
添加PermitRootLogin yes

命令6(master节点):

passwd
#解释:重置容器密码。一般容器创建好后都是默认root用户,所以直接使用passwd该容器的登录密码即可。

命令7(master节点):

cd /download

命令8(master节点):

wget https://download.oracle.com/otn/java/jdk/8u291-b10/d7fc238d0cbf4b0dac67be84580cfb4b/jdk-8u291-linux-x64.tar.gz?AuthParam=1620749617_c9ce7691a135d911c54bd08097d30c3b
#解释:通过命令6打开master节点的共享目录download,并通过wget将文件下载到共享目录中

命令9(master节点):

mkdir /usr/lib/jvm
#解释:在目录/usr/local下创建目录jvm

命令10(master节点):

tar -xzvf /download/jdk-8u291-linux-x64.tar.gz -C /usr/lib/jvm
#解释:下载好的jdk到/usr/local/jvm目录下

命令10(master节点):

vim ~/.bashrc
#解释:配置jdk的环境变量,输入以下内容:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_291
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

命令11(master节点):

source ~/.bashrc
#解释:使修改生效

命令12(master节点):

java -version
#解释:查看jdk配置是否完成,如下图所示,即java配置完成

在这里插入图片描述

命令13(主机):

docker commit -a [Docker用户名] -m [openssh-jdk] master ubuntu_openssh_jdk:lastest
#解释:重新开一个终端,基于刚刚配置的master容器构建一个新的容器,为其命名为ubuntu_openssh_jdk:lastest

命令14(主机);

docker images
#解释:查看容器创建情况

在这里插入图片描述

命令15(主机):

docker master stop
#解释:关闭master容器

命令16(主机):

docker rename master maste_0
#解释:重命名master容器为master_0

命令17(主机):

docker rsun -p 2222:22 -d -v /root/download:/download -name master -h master ubuntu_openssh_jdk:latest 
#解释:创建一个名为master的容器,绑定master容器的22端口与本地主机的2222进行映射,并定义创建的该容器的hostname为master,同时创建容器与本地的共享目录download,方便后续文件传输,减少不必要的scp步骤。(端口映射如下图所示)

在这里插入图片描述

命令18(主机):

docker run -d -v /root/download:/download -name slave01 -h slave01 ubuntu_openssh_jdk:latest
#解释:创建一个名为master的容器,绑定master容器的22端口与本地主机的2222进行映射,并定义创建的该容器的hostname为master,同时创建容器与本地的共享目录download,间接实现master与slave01目录共享,这方便后续文件传输,减少不必要的scp步骤。

命令19(主机):

docker run -d -v /root/download:/download -name slave02 -h slave02 ubuntu_openssh_jdk:latest
#解释:创建一个名为master的容器,绑定master容器的22端口与本地主机的2222进行映射,并定义创建的该容器的hostname为master,同时创建容器与本地的共享目录download,间接实现master、slave01、slave03三个容器的/download目录共享,这方便后续文件传输,减少不必要的scp步骤。

命令20(主机):

docker exec -it master bash
#解释:新开一个终端,执行该命令进入master容器

命令21(主机):

docker exec -it slave01 bash
#解释:新开一个终端,执行该命令进入slave01容器

命令22(主机):

docker exec -it slave02 bash
#解释:新开一个终端,执行该命令进入slave02容器

在这里插入图片描述
至此,Docker集群部署完成,集群由三个节点组成master,slave01, slave02


3. 部署Hadoop

3.1 配置三个容器间的hosts地址映射

命令01(master节点,slave01节点,slave02节点):

cat /etc/hosts
#解释:分别在三个容器终端中执行此命令,查看各自节点的默认网络ip地址

在这里插入图片描述

命令02(master节点,slave01节点,slave02节点):

vim /etc/profile.d/my_host.sh
#解释:根据命令01查看到的三个节点的ip地址,编写一个shell脚本,用于重启容器后写入host地址,内容如下
echo 172.17.0.3         master >> /etc/hosts
echo 172.17.0.4         slave01 >> /etc/hosts
echo 172.17.0.5         slave02 >> /etc/hosts

命令03(master节点,slave01节点,slave02节点):

source /etc/profile.d/my_host.sh
#解释:执行刚编辑好的shell脚本my_host.sh,更新hosts

命令04(master节点,slave01节点,slave02节点):

cat /etc/hosts
#解释:查看hosts更新情况,输出如下图所示:

在这里插入图片描述

3.2 配置三个容器间的ssh无密码互通

命令1(master节点,slave01节点,slave02节点):

ssh-keygen -t rsa
#解释:通过ssh生成各容器自己的公钥

命令2(master节点):

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
#解释:master节点的公钥生成master节点的密钥验证authorized_keys

命令3(master节点):

scp ~/.ssh/authorized_keys root@slave01:/root/.ssh
#解释:将master的授权密钥文件authorized_keys发送到slave01节点下ssh的根目录下

命令4(master节点):

scp ~/.ssh/authorized_keys root@slave02:/root/.ssh
#解释:将master的授权密钥文件authorized_keys发送到slave02节点下ssh的根目录下

命令5(slave01节点):

ssh-copy-id slave02
#解释:将slave01节点的公钥信息加载到slave02的authorized_keys密钥校验文件中

命令6(slave02节点):

ssh-copy-id slave01
#解释:将slave01节点的公钥信息加载到slave01的authorized_keys密钥校验文件中

命令7(slave01,slave02节点):

ssh-copy-id master
#解释:将slave01,slave02节点的公钥信息加载到master节点的authorized_keys密钥校验文件中

至此,master,slave01,slave02三个容器节点的免密互通配置完成。(效果如下图所示)

在这里插入图片描述

3.3 安装Hadoop

命令01(master,slave01,slave02节点):

 cd /download
#解释:进入三个容器的共享目录/download

命令02(master):

wget https://mirrors.bfsu.edu.cn/apache/hadoop/common/hadoop-3.1.4/hadoop-3.1.4.tar.gz
#解释:下载hadoop安装包。由于/download是共享目录,所以在master节点下载完文件后,其他两个节点也将会有同样的文件。

可以使用ls命令查看下是否下载成功
在这里插入图片描述

命令03(master,slave01,slave02节点):

tar -xzvf /download/hadoop-3.1.4.tar.gz -C /usr/local/ 
#解释:在三个容器的终端执行该命令,通过共享目录/download解压下载好的hadoop安装包至/usr/local目录下

命令04(master,slave01,slave02节点):

mv /usr/local/hadoop-3.1.4 /usr/local/Hadoop
#解释:在各个容器重命名解压后的hadoop目录

命令05(master节点):

vim ~/.bashrc
#解释:配置hadoop的环境变量,添加以下内容:
#Hadoop
export PATH=/usr/local/hadoop/bin:/usr/local/hadoop/sbin:$PATH
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH

命令06(master节点):

source ~/.bashrc
#解释:重新加载.bashrc配置文件,使命令5的修改生效

命令07(master节点):

scp ~/.bashrc root@slave01:/root/
#解释:将master的.bashrc配置文件拷贝到slave01节点,这样可以不需要对slave01节点的.bashrc文件做重复修改

命令08(master节点):

scp ~/.bashrc root@slave02:/root/
#解释:将master的.bashrc配置文件拷贝到slave02节点,这样可以不需要对slave02节点的.bashrc文件做重复修改

命令09(slave01,slave02节点):

source ~/.bashrc
#解释:重新加载.bashrc配置文件,配置文件.bashrc的修改生效

命令10(master,slave01,slave02节点):

hadoop version
#解释:在三个容器节点中执行该命令,查看hadoop配置情况,结果如下图所示:

在这里插入图片描述

3.4 部署Hadoop分布式集群

命令01(master,slave01,slave02节点):

cd /usr/local/hadoop/etc/hadoop
#解释:分别在三个容器终端打开hadoop配置文件目录

命令02(master节点):

vim ./workers
#解释:修改hadoop配置文件,删除原有的全部内容,添加以下内容:
slave01
slave02

命令03(master节点):

vim ./core-site.xml
#解释:修改hadoop配置文件core-site.xml,删除原有的configuration标签,添加以下内容
<configuration>
		<property>
			<name>fs.defaultFS</name>
			<value>hdfs://master:9000</value>
		</property>
		<property>
			<name>hadoop.tmp.dir</name>
			<value>file:/usr/local/hadoop/tmp</value>
			<description>Abase for other temporary directories.	</description>
		</property>
</configuration>

命令04(master节点):

vim ./hdfs-site.xml
#解释:修改hadoop配置文件hdfs-site.xml,删除原有的configuration标签,这里配置的内容主要是hdfs的各项工作目录。添加内容如下
<configuration>
		<property>
			<name>dfs.namenode.secondary.http-address</name>
			<value>master:50090</value>
		</property>
		<property>
			<name>dfs.replication</name>
			<value>2</value>
		</property>
		<property>
			<name>dfs.namenode.name.dir</name>
			<value>file:/usr/local/hadoop/tmp/dfs/name</value>
		</property>
		<property>
			<name>dfs.datanode.data.dir</name>
			<value>file:/usr/local/hadoop/tmp/dfs/data</value>
		</property>
</configuration>

命令05(master节点):

vim ./mapred-site.xml
#解释:修改hadoop配置文件mapred-site.xml,删除原有的configuration标签,添加以下内容
<configuration>
		<property>
			<name>mapreduce.framework.name</name>
			<value>yarn</value>
		</property>
		<property>
			<name>mapreduce.jobhistory.address</name>
			<value>master:10020</value>
		</property>
		<property>
			<name>mapreduce.jobhistory.webapp.address</name>
			<value>Master:19888</value>
		</property>
		<property>
			<name>yarn.app.mapreduce.am.env</name>
			<value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value>
		</property>
		<property>
			<name>mapreduce.map.env</name>
			<value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value>
		</property>
		<property>
			<name>mapreduce.reduce.env</name>
			<value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value>
		</property>
		<property>
			<name>mapreduce.map.memory.mb</name>
			<value>1536</value>
		</property>
		<property>
			<name>mapreduce.map.java.opts</name>
			<value>-Xmx1024M</value>
		</property>
		<property>
			<name>mapreduce.reduce.memory.mb</name>
			<value>2048</value>
		</property>
		<property>
			<name>mapreduce.reduce.java.opts</name>
			<value>-Xmx2048M</value>
		</property>
</configuration>

命令06(master节点):

vim ./yarn-site.xml
#解释:修改hadoop配置文件yarn-site.xml,删除原有的configuration标签,添加以下内容
<configuration>
		<property>
			<name>yarn.resourcemanager.hostname</name>
			<value>master</value>
		</property>
		<property>
			<name>yarn.nodemanager.aux-services</name>
			<value>mapreduce_shuffle</value>
		</property>
</configuration>

命令07(master节点):

vim ./hadoop-env.sh
#解释:修改hadoop配置文件hadoop-env.sh,配置hadoop的java环境。添加以下内容:
export JAVA_HOME=/usr/1 lib/jvm/jdk1.8.0_291

命令08(master节点):

scp -r /usr/local/hadoop/etc/hadoop root@slave01:/usr/local/hadoop/etc/
#解释:由于slave01已经有了hadoop,因此只需要把master的hadoop修改了的内容移动过去即可

命令09(master节点):

scp -r /usr/local/hadoop/etc/hadoop root@slave02:/usr/local/hadoop/etc/
#解释:由于slave02已经有了hadoop,因此只需要把master的hadoop修改了的内容移动过去即可

命令10(master节点):

vim /etc/profile.d/my_env.sh
#解释:配置hadoop分布式启动环境参数,内容如下
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

命令11(master节点):

source /etc/profile.d/my_env.sh
#解释:执行my_env.sh脚本,配置hadoop分布式环境参数

命令12(master节点):

hdfs namenode -format
#解释:初始格式化hdfs,如果生成的信息中有类似以下的内容,说明hadoop初始格式化成功,否则格式化失败,说明配置文件存在问题。

在这里插入图片描述

命令13(master节点):

start-all.sh
#解释:启动hadoop

命令14(master,slave01,slave02节点):

jps
#解释:查看各个容器的启动状态,如下图所示,hadoop分布式集群搭建完成

在这里插入图片描述

3.5 执行一个分布式测试实例–检验Hadoop分布式系统部署情况

命令01:

hdfs dfs -mkdir -p /user/root
#解释:在hdfs中创建root的用户文件目录

命令02:

hdfs dfs -mkdir input
#解释:在root用户主目录下创建input文件夹。(由于命令01创建了root的用户目录,且当前我们以root用户访问hdfs,所以在没有指定hdfs绝对路径情况下,会默认在访问用户的主目录下创建文件或目录。)

命令03:

hdfs dfs -put /usr/local/hadoop/etc/hadoop/*.xml input
#解释:将hadoop的配置文件上传到hdfs中

命令04:

hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.4.jar grep input output 'dfs[a-z.]+'
#解释:执行一个用于测试的jar程序,运行结果如下图所示

在这里插入图片描述

至此,基于Docker的Hadoop分布式集群部署完成,接下来则是配置Storm集群的Zookeeper。

4. 部署Zookeeper

4.1 部署Zookeeper集群

命令01(master节点):

cd /download
#解释:进入三个容器的共享目录/download

命令02(master节点):

wget https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.7.0/apachezookeeper-3.7.0-bin.tar.gz
#解释:下载zookeeper安装包至共享目录download

命令03(master节点):

tar -vzvf /download/ apache-zookeeper-3.7.0-bin.tar.gz -C /usr/local
#解释:将下载下来的zookeeper安装包进行解压,解压至/usr/local目录下

命令04(master节点):

mv /usr/local/apache-zookeeper-3.7.0-bin /usr/local/Zookeeper
#解释:将解压出来的文件夹重命名为Zookeeper

命令05(master 节点):

mkdir /usr/local/Zookeeper/{data,logs}
#解释:在/usr/local/Zookeeper目录下创建两个目录data和logs

命令06(master节点):

cp /usr/local/Zookeeper/conf/zoo_sample.cfg /usr/local/Zookeeper/conf/zoo.cfg
#解释:拷贝一份zoo_sample.cfg,并重命名为zoo.cfg

命令07(master节点):

vim /usr/local/Zookeeper/conf/zoo.cfg
#解释:配置Zookeeper,添加以下内容至文件末尾(务必在文件末尾添加)
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/logs
#配置三个节点服务器,并配置它们交互端口及备用交互端口
server.1=master:2888:3888
server.2=slave01:2888:3888
server.3=slave02:2888:3888

命令08(master节点):

vim /usr/local/Zookeeper/data/myid
#解释:配置当前节点归属,内容如下(就是一个数字,其他两个节点按顺序分别是2,3,要与zoo.cfg的server对齐,表示对应配置文件中的server)
#没看错,就是一个数字就行,这个数字是zookeeper启动时用来做枚举选举leader节点的重要根据,其它两个节点分别填2,3即可(有兴趣的话,可以去了解一下Zookeeper选举Leader节点的原理)
1

命令09(master节点):

scp -r /usr/loca/Zookeeper root@slave01:/usr/local
#解释:因为Zookeeper并不大,所以直接配置好后直接拷贝到两个分界点中并不需要太久

命令10(master节点):

scp -r /usr/loca/Zookeeper root@slave02:/usr/local #解释:因为Zookeeper并不大,所以直接配置好后直接拷贝到两个分界点中并不需要太久

命令11(master节点):

vim /usr/local/Zookeeper/data/myid
#解释:配置当前节点归属,内容如下(就是一个数字,要与zoo.cfg的server对齐,表示对应配置文件中的server)
#怕新同学不理解我上面的意思,还是辛苦下,再写详细点(已经完成了的同学请忽略哦)。。。
2

命令12(master节点):

vim /usr/local/Zookeeper/data/myid
#解释:配置当前节点归属,内容如下(就是一个数字,要与zoo.cfg的server对齐,表示对应配置文件中的server)
#怕新同学不理解我上面的意思,还是辛苦下,再写详细点(已经完成了的同学请忽略哦)。。。
3

命令13(master节点):

vim ~/.bashrc
#解释:配置master节点的Zookeeper的环境变量,具体内容如下
#Zookeeper
export ZK_HOME=/usr/local/zookeeper
export PATH=$ZK_HOME/bin:$PATH

命令14(master节点):

source ~/.bashrc
#解释:重新加载.bashrc配置文件,使命令13的修改生效

命令15(master节点):

scp ~/.bashrc root@slave01:/root/
#解释:将master的.bashrc配置文件拷贝到slave01节点,这样可以不需要对slave01节点的.bashrc文件做重复修改

命令16(master节点):

scp ~/.bashrc root@slave02:/root/
#解释:将master的.bashrc配置文件拷贝到slave02节点,这样可以不需要对slave02节点的.bashrc文件做重复修改

命令17(slave01,slave02节点):

source ~/.bashrc
#解释:在两个分节点中重新加载.bashrc配置文件,配置文件.bashrc的修改生效
4.2 启动Zookeeper集群

命令01(master,slave01,slave02节点):

zkServer.sh start
#解释:分别在三个容器终端执行该命令,启动Zookeeper

命令02(master,slave01,slave02节点):

zkServer.sh status
#解释:分别在三个容器终端执行该命令,查看Zookeeper启动结果,如下图所示,则Zookeeper启动成功

在这里插入图片描述

命令03(master,slave01,slave02节点):

jps
#解释:查看三个节点zookeeper启动进程

在这里插入图片描述
至此,关于Storm的Zookeeper部署完成,接下来进入最终的Storm部署阶段



5. 部署Storm

5.1 安装Storm

命令01(master节点):

cd /download
#解释:进入三个容器的共享目录/download

命令02(master节点):

wget https://mirrors.bfsu.edu.cn/apache/storm/apache-storm-2.2.0/apache-storm-2.2.0.tar.gz
#解释:下载Storm安装包至共享目录download

命令03(master节点):

tar -zxvf /download/apache-storm-2.2.0.tar.gz -C /usr/local/
#解释:将下载下来的storm安装包进行解压,解压至/usr/local目录下

命令04(master节点):

mv /usr/local/apache-storm-2.2.0 /usr/local/storm
#解释:将解压出来的文件夹重命名为storm

命令05(master节点):

vim /usr/local/storm/conf/storm.yaml
#解释:修改storm的配置文件storm.yaml,添加以下内容(务必先删除文件中原有的storm.zookeeper.servers模块内容)
storm.zookeeper.servers:
	- "master"
	- "slave01"
	- "slave02"
#
nimbus.seeds: ["master"]
ui.port: 9080
#
storm.local.dir: "/usr/local/storm/data"
supervisor.slots.ports:
	- 6700
	- 6701
	- 6702
	- 6703

命令06(master节点):

mkdir /usr/local/storm/data
#解释:在storm安装目录下创建data文件夹,用于存放工作数据

命令07(master节点):

scp -r /usr/loca/storm root@slave01:/usr/local
#解释:因为storm并不大,所以直接配置好后直接拷贝到两个分界点中并不需要太久

命令08(master节点):

scp -r /usr/loca/storm root@slave02:/usr/local
#解释:因为storm并不大,所以直接配置好后直接拷贝到两个分界点中并不需要太久

命令09(master节点):

vim ~/.bashrc
#解释:配置storm的环境变量,添加以下内容
#Storm
export STORM_HOME=/usr/local/storm
export PATH=$STORM_HOME/bin:$PATH

命令10(master节点):

source ~/.bashrc
#解释:重新加载.bashrc配置文件,使命令09的修改生效

命令11(master节点):

scp ~/.bashrc root@slave01:/root/
#解释:将master的.bashrc配置文件拷贝到slave01节点,这样可以不需要对slave01节点的.bashrc文件做重复修改

命令12(master节点):

scp ~/.bashrc root@slave02:/root/
#解释:将master的.bashrc配置文件拷贝到slave02节点,这样可以不需要对slave02节点的.bashrc文件做重复修改

命令13(slave01,slave02节点):

source ~/.bashrc
#解释:在两个分节点中重新加载.bashrc配置文件,配置文件.bashrc的修改生效
5.2 启动Storm

命令01(master节点):

start-all.sh
#解释:启动hadoop集群

命令02(master,slave01,slave02节点):

zkServer.sh start
#解释:启动zookeeper集群

命令03(master,slave01,slave02节点):

apt -y install python 
#解释:因为storm启动需要python进行编译,而ubuntu没有python,所以需要为三个容器安装python

命令04(master,slave01,slave02节点):

jps
#解释:查看当前集群各节点启动的进程

在这里插入图片描述

命令05(master):

storm nimbus > /dev/null 2>&1 &
#解释:在master节点上启动storm的nimbus节点

命令06(master):

storm ui > /dev/null 2>&1 &
#解释:启动storm的ui,即可以通过可视化页面监察storm启动情况

命令07(slave01,slave02节点):

storm supervisor > /dev/null 2>&1 &
#解释:分别在两个从节点容器终端启动storm的supervisor节点

命令08(master,slave01,slave02节点):

jps
#解释:查看storm启动情况

在这里插入图片描述
命令09(master节点):

apt -y install curl
#解释:在master节点上安装curl,用于验证storm的ui启动情况

命令10(master节点):

curl http://master:9080
#解释:通过curl对指定的master节点9080端口进行请求,检查Storm UI启动是否正常,如下图所示,有html页面代码返回,即Storm UI启动正常。

在这里插入图片描述
至此,基于Dcoker的分布式Storm实时计算平台搭建完成。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值