《大数据和人工智能交流》头条号向广大初学者新增C 、Java 、Python 、Scala、javascript 等目前流行的计算机、大数据编程语言,希望大家以后关注本头条号更多的内容。
一、搭建zookeeper集群
注意:为了大家学习的方便,这里在一台机器上搭建zookeeper集群,在一个机器搭建集群和在多台机器搭建集群原理是相同的。搭建单节点(一台主机放3个服务【1个leader,2个flower】)zk集群
在/home建立zk1、zk2、zk3三个目录,3个目录搭建过程类似。
(一)搭建过程
【1】搭建节点1
(1)在zk1建立zkdata ,在zkdata下存放myid文件
[root@node1 zkdata]# more myid
1
(2) tar -zxvf zookeeper-.tar.gz
[root@node1 zk1]# ls
zkdata zookeeper- zookeeper-.tar.gz
(3)修改配置文件
[root@node1 zk1]# cd zookeeper-
[root@node1 zookeeper-]# cd conf
[root@node1 zookeeper-]# mv zoo_sample.cfg zoo.cfg
[root@node1 conf]# vi zoo.cfg
注意:修改的配置信息
dataDir=/tmp/zookeeper
# the port at which the clients will connect
clientPort=
dataDir=/home/zk1/zkdata
server.1=node1::
server.2=node1::
server.3=node1::
【2】搭建节点2
(1)在zk1建立zkdata ,在zkdata下存放myid文件
[root@node1 zkdata]# more myid
2
(2) tar -zxvf zookeeper-.tar.gz
[root@node1 zk1]# ls
zkdata zookeeper- zookeeper-.tar.gz
(3)修改配置文件
[root@node1 zk1]# cd zookeeper-
[root@node1 zookeeper-]# cd conf
[root@node1 zookeeper-]# mv zoo_sample.cfg zoo.cfg
[root@node1 conf]# vi zoo.cfg
注意:修改的配置信息
dataDir=/tmp/zookeeper
# the port at which the clients will connect
clientPort=
dataDir=/home/zk2/zkdata
server.1=node1::
server.2=node1::
server.3=node1::
【3】搭建节点3
(1)在zk1建立zkdata ,在zkdata下存放myid文件
[root@node1 zkdata]# more myid
3
(2) tar -zxvf zookeeper-.tar.gz
[root@node1 zk1]# ls
zkdata zookeeper- zookeeper-.tar.gz
(3)修改配置文件
[root@node1 zk1]# cd zookeeper-
[root@node1 zookeeper-]# cd conf
[root@node1 zookeeper-]# mv zoo_sample.cfg zoo.cfg
[root@node1 conf]# vi zoo.cfg
注意:修改的配置信息
dataDir=/tmp/zookeeper
# the port at which the clients will connect
clientPort=
dataDir=/home/zk3/zkdata
server.1=node1::
server.2=node1::
server.3=node1::
(二)、启动集群
1、启动各个
[root@node1 bin]# ./zkServer.sh start
JMX enabled by default
Using config: /home/zk1/zookeeper-/bin/../conf/zoo.cfg
Starting zookeeper ... ./zkServer.sh: line : [: /tmp/zookeeper: binary operator expected
STARTED
[root@node1 bin]#
2、在zk1、zk2、zk3各个目录查看节点状态
[root@node1 bin]# ./zkServer.sh status
JMX enabled by default
Using config: /home/zk1/zookeeper-/bin/../conf/zoo.cfg
Mode: follower
二、搭建storm集群
(一)、准备工作
1、zk必须正常,3个节点联网通信正常。我这里是3个节点:
是主节点
是从节点
是从节点
将包上传-->解压 -->改名-->这里改为storm
[root@node1 storm001]# ls
apache-storm-.tar.gz storm
2、修改配置文件
[root@node1 storm001]# cd storm
[root@node1 storm]# ls
bin conf examples lib logback NOTICE README.markdown SECURITY.md
CHANGELOG.md DISCLAIMER external LICENSE logs public RELEASE storm.jar
[root@node1 storm]# cd conf
[root@node1 conf]# ls
storm_env.ini storm.yaml
[root@node1 conf]# vi storm.yaml
storm.zookeeper.servers:
- ""
- ""
- ""
nimbus.host: ""
storm.local.dir: "/usr/local/storm/tmp"
supervisor.slots.ports:
-
-
-
-
解释:
(1)storm.local.dir:存储目录
(2)nimbus.host: ""代表选择主机
(3)supervisor.slots.ports:对于每个supervisor机器,通过这项配置可以决定运行多少个worker进程在
这台机器上,每个worker使用一个单独的port来接受消息。supervisor并不会立即启动这个4个worker进程,
当接收到分配的任务的时候会启动,具体启动多少个worker根据我们Topology在这个supervisor需要几个worker
来确定
3、把storm目录拷贝到其它2个节点
[root@node1 storm001]# ls
apache-storm-.tar.gz storm
scp -r storm node2:/home/storm001
scp -r storm node3:/home/storm001
(二)、启动集群
1、启动主节点nimbus
[root@node1 bin]# ls
storm storm.cmd storm-config.cmd
[root@node1 bin]# ./storm nimbus
可以使用linux命令将其放到后台./storm nimbus >/dev/null 2>&1 &
在主节点通过web前端访问的进程
./storm ui
./storm ui >/dev/null 2>&1 &
2、启动从节点node2
./storm supervisor
./storm supervisor >/dev/null 2>&1 &
从节点需要启动日志进程
./storm logviewer
3、启动从节点node3
./storm supervisor
./storm supervisor >/dev/null 2>&1 &
从节点需要启动日志进程
./storm logviewer
4、进入storm的ui界面:
http://:/index.html
5、将java开发的storm应用打包上传服务器
bin/storm jar storm.jar com.test.A001
《大数据和人工智能交流》的宗旨
1、将大数据和人工智能的专业数学:概率数理统计、线性代数、决策论、优化论、博弈论等数学模型变得通俗易懂。
2、将大数据和人工智能的专业涉及到的数据结构和算法:分类、聚类 、回归算法、概率等算法变得通俗易懂。
3、最新的高科技动态:数据采集方面的智能传感器技术;医疗大数据智能决策分析;物联网智慧城市等等。
根据初学者需要会有C语言、Java语言、Python语言、Scala函数式等目前主流计算机语言。
根据读者的需要有和人工智能相关的计算机科学与技术、电子技术、芯片技术等基础学科通俗易懂的文章。