大数据与云计算:Storm摆设配置及运行WordCountTopology (保姆级教程!) ...

打印 上一主题 下一主题

主题 831|帖子 831|积分 2493

大数据与云计算:Storm摆设配置及运行WordCountTopology(保姆级教程!)

媒介

当当代界正处于云计算和大数据的快速发展阶段,而Storm作为一种高效、可靠的及时计算框架,受到了广泛的关注和应用。在这篇文章中,我们将从头开始,将提供一份保姆级教程,资助举行相关配置和运行WordCountTopology。向您展示如何配置Storm环境。我们将详细介绍所需的软件和工具,并提供渐渐指导,资助您完成安装和配置过程。本人也在不停努力进步,盼望自己的博文能够盼望对各位有所资助。
1.准备阶段

1.1 假造机
2台假造机,ip地点分别为192.168.95.20、192.168.95.21。第1台作为主节点;具体ip地点和普通用户名视自己情况对应处置惩罚。(ip地点根据自己实际情况更改!)
本文章所用的全部资料都在网盘,网盘链接:
链接:https://pan.baidu.com/s/1MrzDAGUxqduU0HFNuTebdA?pwd=1234
需要的小伙伴可以自行下载。
  1. master 192.168.95.20
  2. node1  192.168.95.22
  3. node2  192.168.95.23
复制代码



1.1创建普通用户
在全部节点上举行。
都创建名为iot(具体视自己情况)的普通用户,并以iot登录。
创建用户iot
  1. useradd iot
复制代码


各节点分别设置iot用户暗码
  1. passwd iot
复制代码


在master和node1节点分别设置iot用户权限
  1. chmod -v u+w /etc/sudoers
  2. vi /etc/sudoers
复制代码
添加iot ALL=(ALL) ALL
然后wq!保存退出。


设置完成后,reboot重启,选择iot用户登录。

Node2

1.2创建目次
在全部节点上举行。
  1. $mkdir -p /opt/softwares //用于存放软件包
复制代码


  1. $mkdir -p /opt/modules //用于存放解压文件夹
复制代码



将安装包上传到softwares目次

将master节点下的/opt/softwares文件分发给node1节点
  1. sudo scp -r /opt/softwares iot@192.168.95.21:/opt
复制代码

Node1节点检察传输文件
  1. cd /opt
  2. ls
  3. cd softwares
  4. ls -hl
复制代码

node2

1.4将已下载软件放置在/opt/softwares目次
放在主节点。反面如要放在从节点,请依照。



2.安装依靠包及软件

2.1安装依靠包
在全部节点上举行。
  1. $ sudo yum -y install gcc-c++ uuid* libtool libuuid libuuid-devel
复制代码



2.2安装并配置JDK
2.2.1安装JDK
2.2.1.1.1在主节点上解压
此步骤如果该前面章节安装过,已忽略。
2.2.1.2检查Java是否安装成功
Master里面检察java:
  1. java -version
复制代码

Node1里面检察java:
  1. java -version
复制代码

Node2里面检察java:
  1. Java -version
复制代码

3.安装Zookeeper

以下步骤如无特别说明,请在主节点上运行。
3.1解压安装包
  1. $tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz -C /opt/modules
复制代码

3.2配置Zookeeper
3.2.1编辑主节点配置文件
  1. $vi /opt/modules/apache-zookeeper-3.6.3-bin/conf/zoo.cfg
复制代码

在配置文件的最后添加以下内容:
  1. server.1=192.168.95.20:2888:3888
  2. server.2=192.168.95.22:2888:3888
  3. server.3=192.168.95.23:2888:3888
复制代码


3.2.1myid文件
3.2.1.1创建zkData目次及myid文件
在全部节点上举行。
  1. $mkdir -p /opt/modules/apache-zookeeper-3.6.3-bin/zkData/
  2. $cd /opt/modules/apache-zookeeper-3.6.3-bin/zkData/
  3. $touch myid
复制代码
Master:

Node1:

Node2:

3.2.1.2第一个节点
在第一个节点举行。
  1. $vi /opt/modules/apache-zookeeper-3.6.3-bin/zkData/myid
复制代码
键入:
1

3.2.1.3第二个节点
在第二个节点举行。
  1. $vi /opt/modules/apache-zookeeper-3.6.3-bin/zkData/myid
复制代码
键入:
2

3.2.1.4第三个节点
在第三节点举行。
  1. $vi /opt/modules/apache-zookeeper-3.6.3-bin/zkData/myid
复制代码
键入:
3

3.3配置Zookeeper环境变量
在全部节点上举行。
  1. $sudo vi /etc/profile
复制代码
做如下修改:
  1. export ZOOKEEPER_HOME=/opt/modules/apache-zookeeper-3.6.3-bin
  2. export PATH=$PATH:$ZOOKEEPER_HOME/bin
复制代码
master:


Node1:

Node2


4.安装ZeroMQ

在全部节点举行。
4.1解压缩包
  1. cd /opt/softwares
  2. rpm -ivh zeromq-4.3.4-37.5.src.rpm
  3. cd ~/rpmbuild/SOURCES
  4. tar -zxvf zeromq-4.3.4.tar.gz
复制代码



4.2编译并安装
  1. $ cd zeromq-4.3.4/
  2. $ ./autogen.sh
复制代码



  1. $./configure
复制代码



  1. $make
复制代码



  1. $sudo make install
复制代码



4.3更新动态链接库
  1. $sudo vi /etc/ld.so.conf
复制代码
在最反面追加/usr/local/lib/ //该目次存放了JZMQ和ZeroMQ的库文件

  1. sudo ldconfig  //将库路径加载到内存
复制代码

参考:https://blog.51cto.com/u_2650279/6143472 ;https://www.656463.com/article/UbuntuxStormazdjfbs_3
5.安装JZMQ

在全部节点举行。
5.1安装git
  1. $ sudo yum install -y git
复制代码



5.2下载JZMQ代码
  1. $cd /opt/softwares
复制代码
  1. $git clone https://github.com/zeromq/jzmq.git
复制代码
注:如果出现fatal: unable to access 'https://github.com/zeromq/jzmq.git/': Failed connect to github.com:443; Connection refused问题,可使用以下命令解决:(参考:https://blog.csdn.net/weixin_44442186/article/details/124979085)
取消全局代理:
  1. git config --global --unset http.proxy
  2. git config --global --unset https.proxy
复制代码
添加全局代理:
  1. git config --global http.proxy
  2. git config --global https.proxy
复制代码

将下载好的JZMQ代码通过scp传到node1和node2节点。




5.3编译并安装
直接复制粘贴到终端:
  1. $cd jzmq$cd jzmq-jni$./autogen.sh$./configure
  2. $make
  3. $sudo make install
复制代码
Master节点:





Node1节点:





Node2节点:



6.安装Storm

以下步骤如无特别说明,请在主节点上运行。
6.1解压缩Storm安装包
解压apache-storm-2.4.0.tar.gz到/opt/modules目次(若没有此目次则创建)
  1. $ tar -zxvf apache-storm-2.4.0.tar.gz -C /opt/modules
复制代码

6.2设置Storm配置文件
$vi /opt/modules/apache-storm-2.4.0/conf/storm.yaml

做如下替换:
6.2.1替换1
  1. #storm.zookeeper.servers:
  2.   - "server1"
  3.    - "server2"
复制代码
替换为:
  1. storm.zookeeper.servers:
  2. - "192.168.95.20"
  3. - "192.168.95.22"
  4. - "192.168.95.23"
复制代码

6.2.2替换2
  1. nimbus.seeds: ["host1", "host2", "host3"]
复制代码
替换为:
  1. nimbus.seeds: ["192.168.109.131", "192.168.109.132", "192.168.109.133"]
复制代码

6.2.3设置临时路径
在全部节点举行。
storm.local.dir: "/tmp/storm" //前提是已经创建了此临时路径
参考:https://blog.csdn.net/zjjcchina/article/details/120650514

6.3复制到从节点
  1. Sudo chmod 777 /opt/modules
复制代码

  1. $scp -r /opt/modules/apache-storm-2.4.0/ iot@192.168.95.22: /opt/modules/
复制代码

  1. $scp -r /opt/modules/apache-storm-2.4.0/ iot@192.168.95.23: /opt/modules/
复制代码


6.4配置Storm环境变量
在全部节点上运行。
  1. $sudo vi /etc/profile
复制代码
做如下修改:
  1. #set storm environment
  2. export STORM_HOME=/opt/modules/apache-storm-2.4.0
  3. export PATH=$PATH:$STORM_HOME/bin
复制代码



6.5使环境变量生效
在全部节点上运行。
  1. $source /etc/profile
复制代码



7启动Zookeeper
此步需要在启动Storm之前执行。
在全部节点上执行。
确保已经添加java环境。
  1. sudo vim /etc/profile
复制代码

  1. cd /opt/modules/apache-zookeeper-3.6.3-bin/bin
  2. udo vi ./zkServer.sh
复制代码

到场
  1. export JAVA_HOME=/usr/lib/jvm/java-openjdk
  2. export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  3. export PATH=$PATH:$JAVA_HOME/bin
复制代码

  1. $cd /opt/modules/apache-zookeeper-3.6.3-bin/bin
  2. $./zkServer.sh start
复制代码
执行效果及历程如下:



7.启动Storm

发起使用MobaXterm远程登录客户端,由于同一个节点,比如192.168.109.131需要启动多个服务,且各个服务启动后就不会返回shell界面。这时就可以使用MobaXterm较方便的打开多个终端启动其他服务。
8.1主节点
8.1.1启动nimbus历程
  1. $storm nimbus
复制代码

8.1.2启动UI
  1. $vi /opt/modules/apache-storm-2.4.0/conf/storm.yaml
复制代码
storm ui的默认端口为8080, 而该端口被其他历程占用(如hadoop等),我们将其修改为其它端口。
到场:
ui.port: 19999(注意冒号反面肯定要有空格)

  1. $storm ui
复制代码

8.1.3启动logviewer
  1. $storm logviewer
复制代码

8.1.4主节点执行效果及历程
直接jps
检察历程:
  1. jps
复制代码

8.2从节点
8.2.1启动supervisor
  1. $storm supervisor
复制代码


8.2.2启动logviewer
  1. .$storm logviewer
复制代码

9Storm应用实践
9.1使用Maven管理storm-starter
在主节点举行。
9.1.1安装Maven
9.1.1.1解压
  1. $tar -zxvf apache-maven-3.9.2-bin.tar.gz -C /opt/modules/
复制代码

9.1.2配置Maven环境变量
9.1.2.1设置Maven环境变量
  1. $sudo vi /etc/profile
  2. export MAVEN_HOME=/opt/modules/apache-maven-3.9.2export PATH=$PATH:$MAVEN_HOME/bin
复制代码

9.1.2.2使环境变量生效
  1. $source /etc/profile
复制代码

9.1.2.3测试Maven是否安装成功
  1. mvn -version
复制代码

9.1.3使用Maven管理示例工程storm-starter
9.1.3.1修改Maven的配置文件
  1. $cd /opt/modules/apache-maven-3.9.2/conf
复制代码
  1. $vi settings.xml
复制代码
对以下语句举行注释:
  1. <mirror>
  2.       <id>maven-default-http-blocker</id>
  3.       <mirrorOf>external:http:*</mirrorOf>
  4.       <name>Pseudo repository to mirror external repositories initially using HTTP.</name>
  5.       <url>http://0.0.0.0/</url>
  6.       <blocked>true</blocked>
  7. </mirror>
复制代码

9.1.3.2进入storm-starter目次
  1. $cd /opt/modules/apache-storm-2.4.0/examples/storm-starter
复制代码

9.1.3.3编辑pom.xml文件
  1. $vi pom.xml
复制代码
在和标签中添加:
  1. <plugin>
  2.     <groupId>org.codehaus.mojo</groupId>
  3.     <artifactId>exec-maven-plugin</artifactId>
  4.     <version>1.6.0</version>
  5.     <executions>
  6.         <execution>
  7.             <goals>
  8.                 <goal>java</goal>
  9.             </goals>
  10.         </execution>
  11.     </executions>
  12.     <configuration>
  13.         <mainClass>storm.starter.WordCountTopology</mainClass>
  14.     </configuration>
  15. </plugin>
复制代码

9.1.3.4编译storm-starter工程
  1. $ mvn clean install -DskipTests=true
复制代码
此过程会下载大量文件,请耐心等待……




9.1.3.5打包成jar
  1. $ mvn package
复制代码




9.2提交运行
  1. $cd /opt/modules/apache-storm-2.4.0/examples/storm-starter
  2. /target$storm jar ./storm-starter-2.4.0.jar org.apache.storm.starter.WordCountTopology wordcountTpy
复制代码
//参考:https://blog.csdn.net/lt1693016523/article/details/82662071
成功提交运行jar包


9.2.1UI监控
任务提交之后就可以监控。在欣赏器中输入:
  1. 192.168.95.20:19999 //ip地址视自己情况改变
复制代码



至此,关于Storm配置及运行WordCountTopology就结束了,过程有点繁琐,但是一步步来碰到问题解决问题,在实践中提高自己运维能力。无论做什么事,我们的主线任务都不能断,无论各位是考研考公或是考教资,盼望各位都不要忘了主线,把精力和时间浪费在不值得的事,一起走来不免有后悔,不外尚有时机,盼望早晚有一天能听到属于我们自己的“Congratulations”,祝你我.
今日写博客Bgm——《祝贺你》歌手:朱迪·霍普斯专辑:盼望(Remix)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

雁过留声

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表