首页 文章 精选 留言 我的

精选列表

搜索[部署],共10000篇文章
优秀的个人博客,低调大师

OpenStack(Kilo版本)镜像服务glance的安装部署

OpenStack镜像服务(glance)允许用户发现、注册和恢复虚拟机镜像。Glance提供Rest API可以查询虚拟机镜像的metadata并且可以获取镜像。通过Glance,虚拟机镜像可以被存储到多种存储上,比如简单的文件存储或者对象存储(比如OpenStack中swift项目)。 一、OpenStack 镜像服务包含组件 图1.1. OpenStack glance组件 二、OpenStack 镜像服务安装 下面介绍如何安装和配置镜像服务,即glance。这个配置将镜像保存到本地文件系统中,默认存储在/var/lib/glance/images/目录中。所有的步骤将在控制节点(Controller Node)上面进行操作。 1.安装前的准备 安装和配置镜像服务之前,必须创建数据库、服务证书和API端点。 1.1数据库配置 1)创建数据库 1 2 3 root@controller:~ #mysql-uroot-p MariaDB[(none)]>createdatabaseglance; QueryOK,1rowaffected(0.06sec) 2)给数据库授权 1 2 3 4 5 6 MariaDB[(none)]>GRANTALLPRIVILEGESONglance.*TO 'glance' @ 'localhost' IDENTIFIEDBY 'sfzhang1109' ; QueryOK,0rowsaffected(0.45sec) MariaDB[(none)]>GRANTALLPRIVILEGESONglance.*TO 'glance' @ '%' IDENTIFIEDBY 'sfzhang1109' ; QueryOK,0rowsaffected(0.00sec) MariaDB[(none)]>flushprivileges; QueryOK,0rowsaffected(0.06sec) 3)退出数据库客户端 1 2 MariaDB[(none)]> exit Bye 1.2 导入admin身份凭证以便执行管理命令 1 root@controller:~ #sourceadmin-openrc.sh 1.3 创建服务证书 1)创建glance用户(密码:glance) 1 2 3 4 5 6 7 8 9 10 11 12 root@controller:~ #openstackusercreate--password-promptglance UserPassword: RepeatUserPassword: +----------+----------------------------------+ |Field|Value| +----------+----------------------------------+ |email|None| |enabled|True| | id |8d333920d9df49af8d57910c3c18dcf8| |name|glance| |username|glance| +----------+----------------------------------+ 2)将glance用户和租户服务添加管理员角 1 2 3 4 5 6 7 root@controller:~ #openstackroleadd--projectservice--userglanceadmin +-------+----------------------------------+ |Field|Value| +-------+----------------------------------+ | id |05616505a61c4aa78f43fba9e60ba7fc| |name|admin| +-------+----------------------------------+ 3)创建glance服务实体 1 2 3 4 5 6 7 8 9 10 root@controller:~ #openstackservicecreate--nameglance--description"OpenStackImageservice"image +-------------+----------------------------------+ |Field|Value| +-------------+----------------------------------+ |description|OpenStackImageservice| |enabled|True| | id |e448c04b115a4cd3b745b70b17fa95b3| |name|glance| | type |image| +-------------+----------------------------------+ 1.4 创建镜像服务API端点 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 root@controller:~ #openstackendpointcreate\ --publicurlhttp: //controller :9292\ --internalurlhttp: //controller :9292\ --adminurlhttp: //controller :9292\ --regionRegionOne\ image +--------------+----------------------------------+ |Field|Value| +--------------+----------------------------------+ |adminurl|http: //controller :9292| | id |aa4ac4216c7a41fd8452c7186c9493ac| |internalurl|http: //controller :9292| |publicurl|http: //controller :9292| |region|RegionOne| |service_id|e448c04b115a4cd3b745b70b17fa95b3| |service_name|glance| |service_type|image| +--------------+----------------------------------+ 2.安装和配置镜像服务组件 2.1安装软件包 1 root@controller:~ #apt-getinstallglancepython-glanceclient 2.2编辑/etc/glance/glance-api.conf配置文件,完成下面的配置 1)在[database]部分配置数据库访问 1 2 3 [database] … connection=mysql: //glance :sfzhang1109@controller /glance 2)在[keystone_authtoken] 和[paste_deploy]部分配置身份认证入口 1 2 3 4 5 6 7 8 9 10 11 12 13 [keystone_authtoken] … auth_uri=http: //controller :5000 auth_url=http: //controller :35357 auth_plugin=password project_domain_id=default user_domain_id=default project_name=service username=glance password=glance [paste_deploy] … flavor=keystone 3)在[glance_store]部分配置本地文件系统存储和镜像文件的位置 1 2 3 4 [glance_store] ... default_store= file filesystem_store_datadir= /data/glance/images/ 4)在[DEFAULT]部分禁用noop消息驱动,因为该选项只和可选的Telemetry服务有关 1 2 3 [DEFAULT] ... notification_driver=noop 5)在[DEFAULT]部分开启详细日志配置,方便故障分析和排查 1 2 3 [DEFAULT] ... verbose=True 2.3编辑/etc/glance/glance-registry.conf配置文件,完成下面的配置 1)在[database]部分配置数据库访问 1 connection=mysql: //glance :sfzhang1109@controller /glance 2)在[keystone_authtoken] 和[paste_deploy]部分配置身份认证入口 1 2 3 4 5 6 7 8 9 10 [keystone_authtoken] ... auth_uri=http: //controller :5000 auth_url=http: //controller :35357 auth_plugin=password project_domain_id=default user_domain_id=default project_name=service username=glance password=glance 3)在[DEFAULT]部分禁用noop消息驱动,因为该选项只和可选的Telemetry服务有关 1 2 3 [paste_deploy] ... flavor=keystone 4)在[DEFAULT]部分开启详细日志配置,方便故障分析和排查 1 2 3 [DEFAULT] ... verbose=True 2.4 初始化镜像服务数据库 1 2 3 4 root@controller:~ #su-s/bin/sh-c"glance-managedb_sync"glance 2015-09-0106:17:25.16618641INFOmigrate.versioning.api[-]0->1... 2015-09-0106:17:25.19318641INFOglance.db.sqlalchemy.migrate_repo.schema[-]creatingtableimages … 3.安装完成 1)重启Image service的服务 1 2 root@controller:~ #serviceglance-registryrestart root@controller:~ #serviceglance-apirestart 2默认会创建SQLite数据库,因为使用的是MYSQL数据库,因此要删除QLite数据库文件 三、OpenStack Image service服务验证 1)配置镜像服务客户端使用API的版本为2.0 1 root@controller:~ #echo"exportOS_IMAGE_API_VERSION=2"|tee-aadmin-openrc.shdemo-openrc.sh 2)执行admin身份凭证 1 root@controller:~ #sourceadmin-openrc.sh 3)在本地创建临时目录 1 root@controller:~ #mkdir/tmp/images 4)下载镜像到该目录 1 root@controller:~ #wget-P/tmp/imageshttp://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img 5)上传镜像到Image service,镜像格式为QCOW2。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 root@controller:~ #glanceimage-create--name"cirros-0.3.4-x86_64"--file/tmp/images/cirros-0.3.4-x86_64-disk.img--disk-formatqcow2--container-formatbare--progress [=============================>]100% +------------------+--------------------------------------+ |Property|Value| +------------------+--------------------------------------+ |checksum|ee1eca47dc88f4879d8a229cc70a07c6| |container_format|bare| |created_at|2015-09-11T07:04:31.000000| |deleted|False| |deleted_at|None| |disk_format|qcow2| | id |df54ff49-b167-4fed-987a-0ade3cbc9aca| |is_public|False| |min_disk|0| |min_ram|0| |name|cirros-0.3.4-x86_64| |owner|d04d4985d62f42e2af2ddc35f442ffd9| |protected|False| |size|13287936| |status|active| |updated_at|2015-09-11T07:04:32.000000| |virtual_size|None| +------------------+--------------------------------------+ 6)确认镜像上传并验证属性 1 2 3 4 5 6 root@controller:~ #glanceimage-list +--------------------------------------+---------------------+-------------+------------------+----------+--------+ |ID|Name|DiskFormat|ContainerFormat|Size|Status| +--------------------------------------+---------------------+-------------+------------------+----------+--------+ |df54ff49-b167-4fed-987a-0ade3cbc9aca|cirros-0.3.4-x86_64|qcow2|bare|13287936|active| +--------------------------------------+---------------------+-------------+------------------+----------+--------+ 7)删除临时目录的镜像文件 1 root@controller:~ #rm-r/tmp/images/ 备注: 1)OpenStack官方文档: http://docs.openstack.org/kilo/install-guide/install/apt/content/ 本文转自 sfzhang 51CTO博客,原文链接:http://blog.51cto.com/sfzhang88/1693834,如需转载请自行联系原作者

优秀的个人博客,低调大师

centos7 OpenStack 一键自动部署

1、[root@localhost~]#systemctlstopNetworkManager [root@localhost~]#systemctlenableNetworkManager [root@localhost~]#systemctlstopfirewalld [root@localhost~]#systemctlenablefirewalld [root@localhost~]#vim/etc/selinux/config 将SELINUX=enforcing改为SELINUX=disabled getenforce setenforce0(临时关闭) 2、[root@localhost~]#yuminstallhttps://rdoproject.org/repos/rdo-release.rpm [root@localhost~]#yumrepolist [root@localhost~]#yum-yinstallopenstack-packstack 3、重启服务器#reboot(shutdown-rnow) 4、[root@localhost~]#yuminstallntp [root@localhost~]#systemctlstartntpd [root@localhost~]#chkconfigntpdon [root@localhost~]#vim/etc/ntp.conf 增加:server202.120.2.101 [root@localhost~]#ntpdate202.120.2.101(上海交通大学时间服务器) 5、[root@localhost~]#packstack--gen-answer-file/root/answers.txt [root@localhost~]#vim/root/answers.txt 修改参数: CONFIG_PROVISION_DEMO=n CONFIG_CINDER_VOLUMES_CREATE=n CONFIG_KEYSTONE_ADMIN_PW=redhat (修改登录密码) CONFIG_HORIZON_SSL=y(图像化管理界面的安装) 6、[root@localhost~]#packstack--allinone 或者:#packstack--answer-file/root/answers.txt 7、[root@localhost~]#openstack-status 在浏览器中输入服务器的IP地址及可访问。 8、镜像文件路径: [root@localhost~]#ll/var/lib//glance/images/ total6709760 -rw-r-----1glanceglance3100639232Jun2406:210b0de83b-d817-496e-8aec-f874d8963624 -rw-r-----1glanceglance3770155008Jun2405:26cf1d6df4-bfa1-4835-b96c-cf829bd2ee5e [root@localhost~]# 9、脚本: #vim/tmp/customized.sh echo"Timetoeat!">>/etc/motd chmoda+x/tmp/customized.sh 10、镜像地址: http://download.cirros-cloud.net/0.3.4/ 本文转自 Bill_Xing 51CTO博客,原文链接:http://blog.51cto.com/zhanx/2059025

优秀的个人博客,低调大师

ELK实战之Kibana部署及message日志收集

一、Kibana安装 Kibana 是为 Elasticsearch 设计的开源分析和可视化平台。你可以使用 Kibana 来搜索,查看存储在 Elasticsearch 索引中的数据并与之交互。你可以很容易实现高级的数据分析和可视化,以图表的形式展现出来。 kiabana下载地址:https://artifacts.elastic.co/downloads/kibana/kibana-6.0.0-x86_64.rpm [root@linux-node1 ~]# wget https://artifacts.elastic.co/downloads/kibana/kibana-6.0.0-x86_64.rpm [root@linux-node1 ~]# yum install -y kibana-6.0.0-x86_64.rpm [root@linux-node1 ~]# vim /etc/kibana/kibana.yml [root@linux-node1 ~]# grep "^[a-Z]" /etc/kibana/kibana.yml server.port: 5601 #监听端口 server.host: "192.168.56.11" #监听IP地址,建议内网ip elasticsearch.url: "http://192.168.56.11:9200" #elasticsearch连接kibana的URL,也可以填写192.168.56.12,因为它们是一个集群 [root@linux-node1 ~]# systemctl enable kibana Created symlink from /etc/systemd/system/multi-user.target.wants/kibana.service to /etc/systemd/system/kibana.service. [root@linux-node1 ~]# systemctl start kibana 监听端口为:5601 [root@linux-node1 ~]# ss -tnl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:9100 *:* LISTEN 0 128 *:22 *:* LISTEN 0 100 127.0.0.1:25 *:* LISTEN 0 128 192.168.56.11:5601 *:* LISTEN 0 128 ::ffff:192.168.56.11:9200 :::* LISTEN 0 128 ::ffff:192.168.56.11:9300 :::* LISTEN 0 128 :::22 :::* LISTEN 0 100 ::1:25 :::* LISTEN 0 80 :::3306 :::* 浏览器访问192.168.56.11:5601,如图: 可以通过http://192.168.56.11:5601/status 来查看看是否正常,如果不正常,是无法进入到上图界面 二、通过配置logstash文件收集message日志 1、Kibana展示上一节的日志 在Kibana上展示上一节收集的日志信息,添加索引,如图: 点击“discover”查看收集的信息,如图: 2、使用logstash配置文件收集messages日志 编辑logstash的配置文件: [root@linux-node1 ~]# vim /etc/logstash/conf.d/system.conf input { file { path => "/var/log/messages" #日志路径 type => "systemlog" #类型 start_position => "beginning" #logstash 从什么位置开始读取文件数据,默认是结束位置,也就是说 logstash 进程会以类似 tail -F 的形式运行。如果你是要导入原有数据,把这个设定改成"beginning",logstash 进程就从头开始读取,类似 less +F 的形式运行。 stat_interval => "2" #logstash 每隔多久检查一次被监听文件状态(是否有更新) ,默认是 1 秒。 } } output { elasticsearch { hosts => ["192.168.56.11:9200"] #指定hosts index => "logstash-systemlog-%{+YYYY.MM.dd}" #索引名称 } } [root@linux-node1 ~]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/system.conf -t #检测配置文件是否有语法错误 OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N WARNING: Could not find logstash.yml which is typically located in $LS_HOME/config or /etc/logstash. You can specify the path using --path.settings. Continuing using the defaults Could not find log4j2 configuration at path /usr/share/logstash/config/log4j2.properties. Using default config which logs errors to the console Configuration OK [root@linux-node1 ~]# ll /var/log/messages -rw-------. 1 root root 791209 12月 27 11:43 /var/log/messages #这里可以看到该日志文件是600权限,而elasticsearch是运行在elasticsearch用户下,这样elasticsearch是无法收集日志的。所以这里需要更改日志的权限,否则会报权限拒绝的错误。在日志中查看/var/log/logstash/logstash-plain.log 是否有错误。 [root@linux-node1 ~]# chmod 644 /var/log/messages [root@linux-node1 ~]# systemctl restart logstash 在管理界面查看是否有相应的索引(logstash-systemlog-2017.12.27),如图: 添加到Kibana中展示,创建索引: 查看日志 三、使用一个配置文件收集多个日志 修改logstash的配置文件,这里增加收集数据库mariadb的日志: [root@linux-node1 ~]# vim /etc/logstash/conf.d/system.conf input { file { path => "/var/log/messages" type => "systemlog" start_position => "beginning" stat_interval => "2" } file { path => "/var/log/mariadb/mariadb.log" type => "mariadblog" start_position => "beginning" stat_interval => "2" } } output { if [type] == "systemlog" { #使用if来判断类型,并输出到elasticsearch和file,展示一个out可以作多样输出 elasticsearch { hosts => ["192.168.56.11:9200"] index => "logstash-systemlog-%{+YYYY.MM.dd}" } file { path => "/tmp/logstash-systemlog-%{+YYYY.MM.dd}" }} if [type] == "mariadblog" { elasticsearch { hosts => ["192.168.56.11:9200"] index => "logstash-mariadblog-%{+YYYY.MM.dd}" } file { path => "/tmp/logstash-mariadblog-%{+YYYY.MM.dd}" }} } 配置文件检测语法是否正常: [root@linux-node1 ~]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/system.conf -t OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N WARNING: Could not find logstash.yml which is typically located in $LS_HOME/config or /etc/logstash. You can specify the path using --path.settings. Continuing using the defaults Could not find log4j2 configuration at path /usr/share/logstash/config/log4j2.properties. Using default config which logs errors to the console Configuration OK 重启logstash: [root@linux-node1 ~]# systemctl restart logstash 修改mariadb的日志权限: [root@linux-node1 ~]# ll /var/log/mariadb/ -d drwxr-x--- 2 mysql mysql 24 12月 4 17:43 /var/log/mariadb/ [root@linux-node1 ~]# chmod 755 /var/log/mariadb/ [root@linux-node1 ~]# ll /var/log/mariadb/mariadb.log -rw-r----- 1 mysql mysql 114993 12月 27 14:23 /var/log/mariadb/mariadb.log [root@linux-node1 ~]# chmod 644 /var/log/mariadb/mariadb.log 通过head插件查看: 查看是否在/tmp下收集到了日志数据 [root@linux-node1 ~]# ll /tmp/logstash-* -rw-r--r-- 1 logstash logstash 288449 12月 27 14:27 /tmp/logstash-mariadblog-2017.12.27 -rw-r--r-- 1 logstash logstash 53385 12月 27 14:28 /tmp/logstash-systemlog-2017.12.27 Kibana创建索引: 版权声明:原创作品,谢绝转载。否则将追究法律责任 本文转自 IT_外卖小哥 51CTO博客,原文链接:http://blog.51cto.com/jinlong/2055042

优秀的个人博客,低调大师

1.0.2版本Apache Storm的部署始末

Storm是一个流式处理框架,开发人员开发出特定的项目,然后通过storm这个渠道下发各种任务,从而达到任务执行的效果。 Storm有两个比较重要的组件:nimbus和supervision,其中nimbus主要是承接任务和分配任务用,而每一个supervision可以有若干worker(视服务器硬件而定),而supervison的主要任务就是监控对应的worker,一旦worker死了,supervision就会把他们唤醒。 本次试验是用的是金山云服务器, storm的配置是"1个nimbus,三个supervision",每一个worker上只执行一个任务,总共三个任务。 准备工作 安装storm之前需要在storm里新安装一套zookeeper,因为storm是需要一个zk集群的,nimbus和每一个supervisior是通过zk的心跳来传递存活的信息,于是我们就在每一个supervision里面安装一个zookeeper,并且启动zookeeper的server端,安装zookeeper的方法可以移步http://chenx1242.blog.51cto.com/10430133/1889715。 上面这段话用图来说就是这样子: 启动zookeeper之后,就需要在nimbus和supervisior里安装storm,我这里安装的storm是1.0.2版本,路径直接是/storm/apache-storm-1.0.2。 将storm安装完之后,需要在nimbus和supervisior里更改/etc/hosts文件,改成如下的格式: 1 2 3 4 5 6 7 8 9 10 11 127.0.0.1localhost nimbus的内网IPonline-nimbus-001 supervision1的内网IPsupervision-001 supervision2的内网IPsupervision-002 supervision3的内网IPsupervision-003 zookeeper的内网IPzookeeper的名称 #注意,这里的zk是给模块拉取配置的zk storm的zk1的内网IPstorm的zk1 #这里的zk就是给storm集群用的zk storm的zk2的内网IPstorm的zk2 #如果storm的zk是standalone模式,这里就不要写了。 storm的zk3的内网IPstorm的zk3 #如果storm的zk是standalone模式,这里就不要写了。 保存完/etc/hosts之后,还有一个比较重要的步骤,就是在/etc/ld.so.conf.d/这个路径里面建立一个ffmped.conf这个文件,文件的内容如下: 1 2 /storm/apache-storm-1 .0.2 /lib /storm/apache-storm-1 .0.2 /lib/3rd 注意,“/storm/apache-storm-1.0.2”是我的storm路径,在实际情况下需要根据自己的路径进行更改。 把这个ffmped.conf建立成功之后,我们可以测试一下,如果输入#ldconfig的话,会出现如下的内容,就证明达到了我们的效果: storm本身的bin目录夹里也有很多命令可以直接使用,为了调用#storm list方便,我们需要把“storm”这个可执行文件作一个软连接,方法就是先#cd /usr/local/bin/,然后#ln -s /storm/apache-storm-1.0.2/bin/storm storm。这样的话,我们就可以直接使用#storm list来查看任务列表了。 Storm的具体配置 安装了storm,调整了命令行,同时也搞定了ffmpeg.conf,下面就是调整storm的配置文件了,nimbus和supervisior都要改。 storm的配置文件叫storm.yaml,路径位于storm文件夹下的/conf/文件夹,我们需要在这个文件里面输入如下的内容: 下面对配置文件作一个简单的解释: 1)storm.zookeeper.port:zk的默认端口2181; 2)storm.cluster.mode:storm的集群运行模式,这里我们也是采用默认的distributed(分布式); 3)storm.local.dir:storm使用的本地文件的目录,这个目录必须存在而且storm进程可读写; 4)supervisor.slots.ports:这个地方在nimbus里可以不用管,但是在supervisior里是需要改的,如果你只打开6700,那么就只放开了6700端口,即只有一个worker,如果你打开了6700、6701、6702三个端口,那么就意味这个supervisior将有三个worker在工作,由于这次试验里我们每一个supervisor只开启一个任务,所以在supervisior的storm.yaml里这个节点就只保留6700,其他的就全部注释掉; 5)nimbus.task.launch.secs:task启动时的一个特殊超时设置.在启动后第一次心跳前会使用该值来临时替代nimbus.task.timeout.secs; 6)worker.childopts:设定每个worker(JVM任务)的最小和最大内存; 更改完了storm.yaml之后,就要在nimbus里面安装zkclient。直接复制粘贴过来就好了。 如果你不喜欢storm自带的日志格式,想更改一下日志的内容,那么就要在/storm/apache-storm-1.0.2/log4j2文件夹里面修改worker.xml,不过在这里善意的提醒,最好在修改之前先备份原有的worker.xml。 连接具体任务 我们这次的实验包用的是乐橙开发已经做好的包,我们把这个包的内容复制到/storm/文件夹下,同时#mkdir install和#makir properties这两个文件夹,在install文件夹里有开发写的任务的jar包和启动程序,如下: 而在properties文件夹里,应该有这个任务的配置文件,如下: 由于我们已经事前在/etc/hosts里指定了zkclient需要访问的zk ip地址了,那么如果zk项配置正确,zkclient这个时候是可以成功启动的。同时在install文件夹里./update_stormserver_config.sh也应该是反应正确的。 然后我们就可以启动storm了。 启动storm要先启动nimbus,在/storm/apache-storm-1.0.2/bin里面启动run_nimbus.sh,然后等一下会有一大片东西出现,再#jps一下就能看到nimbus已经启动了,如图: 从上图我们可以看到,18141的进程就是zkclient,只不过在jps里它名字叫AppServerDaemon,而zkServer在jps里叫QuorumPeerMain。 如果 storm出现“Did you specify a valid list of nimbus hosts for config nimbus.seeds?"的错误提示,那么就是nimbus没有启动的缘故。 启动了nimbus之后,就可以在supervisor的机器里去效仿着启动supervisor,但是这里要注意,如果你开启了一个supervisior,那么按照我们上面的配置文件,就启动了一个6700端口的worker,这个时候在nimbus执行下派一个任务的命令,nimbus就会下派这个任务给这个worker。 下派命令的例子如下: 1 stormjarstorm-starter-0.9.2-incubating-jar-with-dependencies.jarcom.lechange.recordshare.RecordShareTopology1 这样就启动了一个叫videoshare的任务,这个任务只用1个 worker。 如果在命令行里反馈这样的错误: 1 Error:Couldnot find orloadmainclassstorm.starter.recordshare.RecordShareTopology 或者exception in thread main java.lang.NoClassDefFoundError 这样的错误,那就要检查jar包和路径。 而如果你再打开一个supervisor,在nimbus端又下发了一个任务,那么这个任务就会给刚刚新启动的supervisor。这样,启动一个下发一个,就会对每一个worker具体干的任务情况有一个比较清晰的了解。 在nimbus上执行#storm list,就可以获得上图的样子,可以看出,我在nimbus端下发了三个任务,就是topology_name这一栏,他们的状态也是active,而workers数量都是1,也就是说在那三台supervisor里都在工作。而跑到supervisor一看日志,也是对应有各自的任务日志。 至此整个storm和具体的模块工作的搭建就完成了。 如果你事前一口气把三个supervisor都打开了,即开启了3个worker,然后一口气在nimbus端,一口气输入了三个下发任务的命令,那么这三个命令会随机的到这三个worker里,没有任何顺序而言,你只能通过日志的关键词来判断具体的worker做哪些任务。 而如果你的worker数量少于nimbus下发任务的数量,会有什么反应呢? 答案就是任务根本没有worker去干,在#storm list里,多余的任务对应的num_workers的数字是0,而如果这个时候你新增一个supervisor到这个storm集群,那么这个任务就会吭哧吭哧开始工作了。 本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1932498

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册