Storm环境搭建(分布式集群)

 

作为流计算的开篇,笔者首先给出storm的安装和部署,storm的第二篇,笔者将详细的介绍storm的工作原理。下边直接上干货,跟笔者的步伐一块儿安装storm。

 原文链接:Storm环境搭建(分布式集群)

Step1:新建用户

 

在所有主机上新建hadoop用户,密码是Hadoop123

useradd hadoop

passwd hadoop

输入密码Hadoop123

 

Step2:设置免密登录

 

设置所有主机之间ssh免密码登录。设置主节点到从节点的免密码登录即可。

 

Step3:软件包下载

 

(1)mkdir  -p  /mnt/data/software

(2)将所需要的软件包放在/mnt/data/software目录下

如需要以下三个安装包,请长按文末二维码关注“大数据技术宅”,后台输入“storm安装包”获取。

 

jdk-8u121-linux-i586.tar.gz

apache-storm-1.0.5.tar.gz

zookeeper-3.4.10.tar.gz

Step4:安装JDK

 

(1)卸载openjdk

rpm -qa | grep jdk

rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64

rpm -e --nodepscopy-jdk-configs-1.2-1.el7.noarch

rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64

 (2)安装jdk1.8

 

cd  /mnt/data/software

tar  -zxvf jdk-8u121-linux-i586.tar.gz

 

配置java环境变量

 

vim /etc/profile

在文件中写入以下内容

JAVA_HOME=/mnt/data/software/jdk1.8.0_121

JRE_HOME=/mnt/data/software/jdk1.8.0_121/jre

CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

export JAVA_HOME JRE_HOME CLASS_PATH PATH

使环境变量生效:source/etc/profile

Step5:安装zookeeper

 

(1)关闭三台机器上的防火墙(CentOS 7)

firewall-cmd --state    查看防火墙状态

systemctl stop firewalld.service 关闭防火墙

systemctl disable firewalld.service    禁止开机启动

 

(2)安装

cd  /mnt/data/software

tar -zxvf zookeeper-3.4.10.tar.gz

mv zookeeper-3.4.10

cd zookeeper/conf

将conf目录中的zoo_sample.cfg文件复制为zoo.cfg并利用vi命令进行修改

dataDir=/mnt/data/software/zookeeper/data

server.1=ip:2888:3888  ip为服务器的ip

server.2=ip:2888:3888  ip为服务器的ip

server.3=ip:2888:3888  ip为服务器的ip

这里的dataDir需要自己创建 mkdir命令创建,并在目录下创建一个文件:myid分别在myid上按照配置文件的server.<id>中id的数值,在不同机器上的该文件中填写相应过的值1|2|3

如[root@safe01data]# vim myid

1

保存即可

(3)添加zookeeper环境变量

vim /etc/profile

ZOOKEEPER_HOME=/mnt/data/software/zookeeper

PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin

export JAVA_HOME CLASSPATH ZOOKEEPER_HOME PATH

引用环境变量:source/etc/profile

(4)测试安装

三台机器执行zkServer.shstart进行启动zookeeper

查看状态zkServer.shstatus

[root@safe01 data]# zkServer.sh status

JMX enabled by default

Using config: /mnt/data/software/zookeeper/bin/../conf/zoo.cfg

Mode: follower

两个follower一个leader就是正确的 

 

Step6:安装Storm

 

(1)安装

cd /mnt/data/software

tar -zxvf apache-storm-1.0.5.tar.gz

mv apache-storm-1.0.5 storm

cd ./storm/conf

编辑storm.yaml

storm.zookeeper.servers:

   - "172.16.2.27"

   - "172.16.2.42"

   - "172.16.2.72"

#nimbus

nimbus.host: "172.16.2.27"

ui.port: 8081

supervisor.slots.ports:

   -6700

   -6701

   -6702

   -6703

storm.local.dir:"/mnt/data/software/storm/data"

 

创建数据文件目录:mkdir /mnt/data/software/storm/data

 

将storm分发到其他主机上:

scp -r  /mnt/data/software/storm/   hadoop@172.16.2.42:/mnt/data/software

scp -r  /mnt/data/software/storm/   hadoop@172.16.2.72:/mnt/data/software

 

在所有主机上添加storm的环境变量:

STORM_HOME=/mnt/data/software/storm

PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$STORM_HOME/bin:$KAFKA_HOME/bin:$PATH

export JAVA_HOME CLASSPATH ZOOKEEPER_HOME STORM_HOME KAFKA_HOME PATH

 

(2)启动

在主机centos上开启nimbus进程

storm nimbus &

在另外两台机子上开启supervisor 进程

storm supervisor &

开启完按Ctrl+c

 

在centos主机上开启

storm ui &
storm logviewer &

 

这样就可以通过web查看storm部署情况了

 

访问http://172.16.2.27:8080/,如图:

 

 

 

 

下篇。。。

 

 

 

 

 

 

转载于:https://www.cnblogs.com/followees/p/8998551.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/427743.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php 红包算法,PHP语言:实现微信红包拆分算法

本文主要向大家介绍了PHP语言&#xff1a;实现微信红包拆分算法&#xff0c;通过具体的内容向大家展示&#xff0c;希望对大家学习php语言有所帮助。 修复最后一个红包输出未保留2位数 修复领取的红包金额低于最小红包限制* 红包分配算法** example* $coupon new Coupon(…

java 强制向上转型,Java 转型(向上或向下转型)详解及简单实例

在Java编程中经常碰到类型转换&#xff0c;对象类型转换主要包括向上转型和向下转型。向上转型我们在现实中常常这样说&#xff1a;这个人会唱歌。在这里&#xff0c;我们并不关心这个人是黑人还是白人&#xff0c;是成人还是小孩&#xff0c;也就是说我们更倾向于使用抽象概念…

复习Python DB-API

一、python的DB-API 1.Python的DB-API,为大多数的数据库实现了接口,使用它连接各数据库后,就可以用相同 的方式操作各数据库。 Python DB-API使用流程: 1. 引入API模块。 2. 获取与数据库的连接。 3. 执行SQL语句和存储过程。 4. 关闭数据库连接。 2.Python操作mysql 安装包&am…

java se程序设计课后答案,JAVA SE程序设计及实践

实践3 类与对象实践3.4修改Menu类&#xff0c;增加显示普通员工、经理、管理员对应的功能菜单的方法。package com.dh.hrmanager.util;import java.util.Scanner;public class Menu {/*** 返回登陆菜单*/public void showLoginMenu() {System.out.println("\n\n\t\t欢迎进…

个人空间风格模版php,home.php这个页面风格模板在哪里修改?答案:space_home.html...

/template/default/home 空间模块模板目录editor_image_menu.htmfollow_feed.htm 广播首页follow_feed_li.htm 广播数据列表follow_user_header.htm 广播用户数据统计invite.htm 邀请模板magic_call.htm 道具-点名卡magic_detector.htm 道具-探测器magic_doodle.htm 道…

18.QT-QPlainEdit 信号与槽

QPlainEdit编辑功能 Public Slots void appendHtml ( const QString & html ) void appendPlainText ( const QString & text ) void centerCursor () void clear () void copy () void cut () void insertPlainText ( const QString & text ) void paste () void …

VS生成Cordova for Android应用之Gradle

VS生成Cordova for Android应用之Gradle 原文:VS生成Cordova for Android应用之Gradle一、Gradle简介 Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置&#xff0c;抛弃了基于XML的各种繁琐配置。 …

进一法整数php,进一法取整、四舍五入取整、忽略小数等的取整数方法大全

PHP取整数函数常用的四种方法,下面收集了四个函数&#xff1b;经常用到取整的函数&#xff0c;今天小小的总结一下&#xff01;其实很简单&#xff0c;就是几个函数而已&#xff5e;&#xff5e;主要是&#xff1a;ceil&#xff0c;floor&#xff0c;round&#xff0c;intvalPH…

pjax转发

pjax几大特点&#xff1a; 1、异步&#xff08;ajax&#xff09; 2、地址栏改变路径 3、实现前进和后退back和forword 如何解决&#xff1a;地址变了之后&#xff0c;万一F5刷新的问题&#xff0c;主要是通过后台判断是否为pjax请求&#xff0c;是的话做个标志&#xff0c;在前…

php全局cors,PHP开启CORS - slagga的个人页面 - OSCHINA - 中文开源技术交流社区

php后台响应头部代码//json头header("Content-type: application/json");//跨域header("Access-Control-Allow-Credentials: true");header("Access-Control-Allow-Origin: 跨域URL");//CORSheader("Access-Control-Request-Methods:GET, P…

嘻嘻

今天我们来聊一下如何减肥&#xff1f; 其实我也不知道&#xff0c;嘻嘻~ 开个玩笑 好了&#xff0c;今天我们继续来学习新的知识。 在前两篇文章中&#xff0c;我们接触到了索引的概念&#xff0c;今天我们要对索引进行一个拓展。首先我们先来看一下下面这段代码&#xff1a; …

mysql :完整性约束

---恢复内容开始--- 一&#xff1a;介绍 约束条件与数据类型的宽度一样 &#xff0c;都是可选参数 作用&#xff0c;用于保证数据的完整性和 一致性 主要分为&#xff1a; primary key (pk) 标识该字段为该表的主键&#xff0c; 可以唯一的标识记录 foreign key &#xff08;fk…

php htts cookies,Http和Https下的cookie的写入问题

session和cookie是不一样的session存储在服务器,cookie存储在客户端设置cookie:function setcookie ($name, $value null, $expire null, $path null, $domain null, $secure null, $httponly null) {}获取cookie:$_COOKIE[$sCookieName];题主的写法只是操作了服务器端的…

断言NSAssert的使用

NSAssert()的定义是 #define NSAssert(condition, desc) condition是条件表达式&#xff0c;值为yes或者no&#xff0c;在OC中规定0为假&#xff0c;非0就为真。 desc为异常描述&#xff0c;为NSString类型。 当condition为yes时程序继续运行&#xff1b; 当condition为no时程序…

五维图matlab,五维立体图,怎么画五维图(即以五边形反映各项水平)

一维、二维、三维、四维、五维分别是什么&#xff1f;线是一维的&#xff0c;参数是点 面是二维的&#xff0c;参数是线 体是三维的&#xff0c;参数是面 以此类推&#xff0c;以体为参数构成的空间就是四维空间&#xff0c;通常理解为时间&#xff0c;从很多科幻小说中可以看到…

java 做项目踩坑,web项目踩坑过程

sql函数设计&#xff1a;一开始本来是直接用Java的jdbc直接传输操作语句的。但后来学了存储过程发现存储过程可以提高不少的效率。就重构了自己对数据库的操作代码。包括&#xff1a;开启&#xff0c;查找&#xff0c;修改&#xff0c;关闭。开启&#xff1a;直接使用的构造函数…

python中主函数循环,带有菜单函数的Python主函数循环不起作用?

我现在是一名大学生&#xff0c;正在上python课程。我们的任务是用函数创建这个程序。main函数调用菜单&#xff0c;然后在main函数中编写一个循环&#xff0c;根据菜单函数中的用户响应访问其他函数。在我好像不能让我的循环工作。当我选择一个菜单选项时&#xff0c;什么都不…

在nocdb转pdb的时候遇到小bug

在nocdb转为pdb之后&#xff0c;发现有一个应用账号。从pdb使用expdp导出。导入其他nocdb。报错ORA-01917: user or role HUE does not exist[oraclelxtrac06 ~]$ more 1HUE.log ;;; Import: Release 12.2.0.1.0 - Production on Wed May 9 23:20:59 2018Copyright (c) 1982, 2…

matlab设计理想数字带通滤波器,基于matlab的数字带通滤波器课程设计报告

基于matlab的数字带通滤波器课程设计报告 1 西安文理学院机械电子工程系 课程设计报告 专业班级 08级电子信息工程1班 题 目 基于 MATLAB 的数字带通滤波器 学 号 学生姓名 指导教师 2011 年 12 月 西安文理学院机械电子工程系2 课程设计任务书 学生姓名 _______专业班级 _____…

php上传文件损坏,PHP 上传文件故障排除

PHP 文件上传时出现问题时&#xff0c;就要在表单、后台处理程序和服务器配置上找原因。最常见的故障原因有&#xff1a;PHP 配置不正确、服务器上的相关目录没有写权限、表单编写有问题等。如果在使用 PHP 上传时遇到问题&#xff0c;请参阅以下故障排除步骤&#xff1a;检查表…