ubuntu14.04-server 上的 storm 集群配置

来源:互联网 发布:杭州大数据公司 编辑:程序博客网 时间:2024/05/22 02:23

在实验的3台戴尔服务器上配置了strom集群,简单记录一下。写的比较糙,大家凑合看

ubuntu14.04-server系统 3台服务器  172.16.21.1  172.16.21.2  172.16.21.3上 安装storm集群

注意:以下的安装配置需要在3台服务器上都进行,只是zk和storm的配置文件有所差别。
1.更新源  因为用默认的源更新的话太慢啦

ubuntu 14.04源更新(sources.list)备份源sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup删除/etc/apt/sources.list文件中内容:ndd( 删除当前行及其后 n-1 行)编辑/etc/apt/sources.list内容如下(我们使用的是阿里云的源):deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse命令更新sudo apt-get updatesudo apt-get upgrade可能出现的问题使用apt-get进行软件的install或update时,有时会出现以下提示信息:E: Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable)E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?原因是有可能有其他的apt-get进程在活动。解决办法,把apt-get进程找出来,杀死ps aux | grep apt-getsudo kill -9 <PID>sudo apt-get update如果再次执行apt-get,还是有这样情况出现,删除/var/lib/dpkg/lock文件,即可sudo rm -r /var/lib/dpkg/locksudo apt-get update
2.jdk的安装配置
jdk下载地址:http://www.Oracle.com/technetwork/Java/javase/downloads/index-jsp-138363.html
   1.从官方下载jdk,本人下载的是历史版本jdk1.7.0_79.tar.tz   2.解压缩jdk     tar -xzvf jdk1.7.0_79.tar.tz   3.环境变量的配置     可以在/etc/profile(系统全局环境配置)或者在~/.bashrc(当前用户)中配置。本人在/etc/profile中配置     sudo gedit /etc/profile     追加内容如下:    #java jdk     export JAVA_HOME=/home/java/jdk1.7.0_79     export JRE_HOME=${JAVA_HOME}/jre       export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib       export PATH=${JAVA_HOME}/bin:$PATH     配置生效:     source /etc/profile     验证命令:java                javac               java -version     拷贝到其他节点:scp -r /home/java/jdk1.7.0_79 172.16.21.2:/home/java                     scp -r /home/java/jdk1.7.0_79 172.16.21.2:/home/java     同样记得修改配置文件/etc/profile
3.安装python
查看当前是否已安装pythonpython -V否则进行以下步骤sudo wget http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tar.bz2tar -jxvf Python-2.6.6.tar.bz2cd  Python-2.6.6./configuremakemake install查看python的版本信息:python -V
4.配置ssh免密码登陆:
cd  ~/.ssh/(如果没有这个目录,请先执行一下ssh命令后会自动生成这个目录)ssh-keygen -t rsa (四个回车)执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)将公钥拷贝到要免登陆的机器上scp id_rsa.pub  fuwujisuan@172.16.21.2:/home/fuwujisuan/.ssh/authorized_keysscp id_rsa.pub  fuwujisuan@172.16.21.3:/home/fuwujisuan/.ssh/authorized_keys免登陆后的拷贝形式如下:scp -r  jdk1.7.0_79/ 172.16.21.2:/home/javascp -r  jdk1.7.0_79/ 172.16.21.3:/home/java如果提示没有权限拷贝则在172.16.21.2 和172.16.21.3进行如下操作:sudo chown -R fuwujisuan /home/javassh 已知主机改变IP后出现的问题解决:lifei@lifei-ubuntu:~$ ssh fuwujisuan@211.81.52.56@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!Someone could be eavesdropping on you right now (man-in-the-middle attack)!It is also possible that a host key has just been changed.The fingerprint for the ECDSA key sent by the remote host is91:dc:fc:26:c8:e4:53:06:4e:8e:15:bf:97:d5:7c:04.Please contact your system administrator.Add correct host key in /home/lifei/.ssh/known_hosts to get rid of this message.Offending ECDSA key in /home/lifei/.ssh/known_hosts:1remove with: ssh-keygen -f "/home/lifei/.ssh/known_hosts" -R 211.81.52.56ECDSA host key for 211.81.52.56 has changed and you have requested strict checking.Host key verification failed.解决方法:lifei@lifei-ubuntu:~$ cd .sshlifei@lifei-ubuntu:~/.ssh$ lsknown_hosts  known_hosts~lifei@lifei-ubuntu:~/.ssh$ sudo vim known_hosts清空known_hosts内容后保存退出
5.zookeeper的安装配置
1.1解压sudo tar -zxvf zookeeper-3.4.5.tar.gz -C /home/zk1.2修改配置cd /home/zk/zookeeper-3.4.5/conf/cp zoo_sample.cfg zoo.cfgvim zoo.cfg修改:dataDir=/home/zk/zookeeper-3.4.5/data在最后添加:server.1=172.16.21.1:2888:3888server.2=172.16.21.2:2888:3888server.3=172.16.21.3:2888:3888保存退出然后创建一个data文件夹mkdir /home/zk/zookeeper-3.4.5/data再创建一个空文件touch /home/zk/zookeeper-3.4.5/data/myid最后向该文件写入IDecho 1 > /home/zk/zookeeper-3.4.5/data/myid1.3将配置好的zookeeper拷贝到其他节点(首先分别在172.16.21.2、172.16.21.3 创建一个zk目录:sudo mkdir /home/zk,sudo chown -R fuwujisuan /home/zk )scp -r /home/zk/zookeeper-3.4.5/ 172.16.21.2:/home/zkscp -r /home/zk/zookeeper-3.4.5/ 172.16.21.3:/home/zk注意:修改172.16.21.2、172.16.21.2对应的/home/zk/zookeeper-3.4.5/data/myid内容172.16.21.2:echo 2 > /home/zk/zookeeper-3.4.5/data/myid172.16.21.3:echo 3 >/home/zk/zookeeper-3.4.5/data/myid设置zk的系统环境变量目录:/home/zk/zookeeper-3.4.5sudo vim /etc/profile修改后为: export JAVA_HOME=/home/java/jdk1.7.0_79 export ZOOKEEPER_HOME=/home/zk/zookeeper-3.4.5 export JRE_HOME=${JAVA_HOME}/jre   export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:${ZOOKEEPER_HOME}/lib    export PATH=${JAVA_HOME}/bin:${ZOOKEEPER_HOME}/bin:$PATH启动服务zkServer.sh start测试服务是否可用zkCli.sh -server 127.0.0.1:2181WatchedEvent state:SyncConnected type:None path:nullhelpZooKeeper -server host:port cmd args    connect host:port    get path [watch]    ls path [watch]    set path data [version]    rmr path    delquota [-n|-b] path    quit    printwatches on|off    create [-s] [-e] path data acl    stat path [watch]    close    ls2 path [watch]    history    listquota path    setAcl path acl    getAcl path    sync path    redo cmdno    addauth scheme auth    delete path [version]    setquota -n|-b val path[zk: 127.0.0.1:2181(CONNECTED) 1] ls /[zookeeper][zk: 127.0.0.1:2181(CONNECTED) 2]启动集群分别启动zkzkServer.sh start查看状态: zkServer.sh status
正常启动2台机器 就可以分配 主从关系了。leader和fallower

演示数据同步

1.在一台机器上启动客户端 zkCli.sh 在一台服务器上启动客户端链接到他自己2. ls /    get /文件夹 获得里面内容3.create /storm 123    ls /    get /storm4.在另外一台机器上启动  ./zkCli.sh5. ls /   get /storm,得到 1236.完成数据同步了.退出客户端  quit完成内部选举:1.zkServer.sh status 找到leader   sudo kill -9 进程名2.查看 其他机器状态zkServer.sh status 看是否有leader写脚本 通过ssh 启动全部的节点
6.zeroMQ在ubuntu14.04-server 的安装步骤  我已经解决各种问题 安按照此步骤执行即可
http://download.zeromq.org/zeromq-2.1.7.tar.gz
sudo tar -vxzf zeromq-2.1.7.tar.gz -C /home/zeromqsudo chown -R fuwujisuan /home/zeromqsudo apt-get install gcc  sudo apt-get install g++  sudo apt-get install uuid-dev   cd /home/zeromq/zeromq-2.1.7./configuresudo apt-get install makesudo makesudo make install
7.jzmq在ubuntu14.04-server 的安装步骤  我已经解决各种问题 安按照此步骤执行即可
sudo wget https://github.com/nathanmarz/jzmq/archive/master.zip -O jzmq.zipsudo apt-get install pkg-config libtoolsudo apt-get install unzip  sudo mkdir /home/jzmqsudo chown -R fuwujisuan /home/jzmqsudo unzip jzmq.zipcd jzmq-master/sudo apt-get install autoreconf*sudo ./autogen.sh   ./configuremaketouch src/classdist_noinst.stamp进入目录src/org/zeromq,手动编译Java文件:cd src/org/zeromqjavac *.javacd /home/jzmq/jzmq-mastersudo make install
8.storm 在ubuntu14.04-server 的安装步骤  我已经解决各种问题 安按照此步骤执行即可
http://www.storm-project.net/downloads.htmlsudo mkdir stormsudo chown -R fuwujisuan /home/stormunzip storm-0.8.2.zipmkdir storm_localvim conf/storm.yaml修改storm.yaml文件 storm.zookeeper.servers:     - "172.16.21.1"     - "172.16.21.2"     - "172.16.21.3"storm.local.dir: "/home/storm/storm-0.8.2/storm_local"nimbus.host: "172.16.21.1"supervisor.slots.ports:    - 6700    - 6701    - 6702    - 6703drpc.servers:      - "172.16.21.1"worker.childopts: "-Xmx11024m" 拷贝到其他节点:scp -r /home/storm/storm-0.8.2 172.16.21.2:/home/stormscp -r /home/storm/storm-0.8.2 172.16.21.3:/home/storm设置storm的系统环境变量目录:/home/storm/storm-0.8.2sudo vim /etc/profile修改后为: export JAVA_HOME=/home/java/jdk1.7.0_79 export ZOOKEEPER_HOME=/home/zk/zookeeper-3.4.5 export STORM_HOME=/home/storm/storm-0.8.2 export JRE_HOME=${JAVA_HOME}/jre   export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:${ZOOKEEPER_HOME}/lib:${STORM_HOME}/lib     export PATH=${JAVA_HOME}/bin:${ZOOKEEPER_HOME}/bin:${STORM_HOME}/bin:$PATH更新源:source /etc/profile同样在其他两个节点设置storm的系统环境变量启动storm前先启动zk分别启动zkzkServer.sh startstorm nimbus >/dev/null 2>&1 &        //启动主节点storm supervisor >/dev/null 2>&1&     //启动从节点storm ui >/dev/null 2>&1 &            //启动后台UI管理界面(必须在主节点上启动)查看Storm是否正常启动$ jps关闭客户端仍然可以执行的:nohup storm nimbus &nohup storm ui &nohup storm supervisor &
如果出现 jdk拒接链接的错误,请查看3台服务器的时间是否同步,如不同步请与ntp同步时间
修改ubuntu系统时间
sudo apt-get install ntpdatesudo ntpdate cn.pool.ntp.orgsudo hwclock --systohc
如果出现文件权限问题可以这样修改:
例如 /home/java出现文件权限问题 fuwujisuan是当前使用的用户名

sudo chown -R fuwujisuan /home/java 
注意:以上的安装配置需要在3台服务器上都进行,只是zk和storm的配置文件有所差别。                         
0 0