Spark集群搭建

物联网

  手上有5台服务器,准备建个集群。

  准备工作:

  hostname *** #配置HOST

  vi /etc/hosts #配置IP和HOST映射

  .ssh/authorized_keys #配置SSH通道

  第一次尝试:

  最方便的当然是用 Ambari (Apache Software Foundation 下的一个顶级项目)可视化安装,

物联网

  访问 http:// host:8080 使用默认的 admin & admin 登陆,点击 Launch Install Wizard 进入安装向导程序;

  基本配置,包括节点的 hostname、key;

  选择要安装的服务,如HDFS、Yarn、Zookeeper、Hive、Spark等;

  对每个服务进行配置操作,选择每个服务的 Master & Slave 安装在哪些节点上;

  开始安装,显示成功或失败的结果及日志。

  详细:http://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari/

  但是小润在安装的时候进度总卡住,然后因为超时就 failed 了,好气啊。

  第二次尝试

  自己手动搭建咯...

  注意:

  学校的镜像源

  #wget 安装包

  http://mirrors.hust.edu.cn/apache/

  配置环境变量

  vi ~/.bashrc

  export JAVA_HOME=/usr/jdk64/jdk1.8.0_77

  export JRE_HOME=/usr/jdk64/jdk1.8.0_77/jre

  export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

  export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

  export HADOOP_HOME=/usr/local/hadoop-2.6.0

  export PATH=$HADOOP_HOME/bin:$PATH

  export SPARK_HOME=/usr/local/spark

  export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

  export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/build:$PYTHONPATH

  export PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.9-src.zip:$PYTHONPATH

  安装 Java

  安装 Scala

  安装 Hadoop 及配置

  cd $HADOOP_HOME/etc/hadoop

  #具体修改见下面的链接

  vi core-site.xml

  vi hdfs-site.xml

  vi yarn-site.xml

  vi hadoop-env.sh

  vi slaves

  cd $HADOOP_HOME

  #启动

  sbin/start-dfs.sh

  sbin/start-yarn.sh

  安装 Spark 及配置

  spark的3种运行模式: Standalone Deploy Mode 、 Apache Mesos 、 Hadoop YARN

  cd $SPARK_HOME/conf

  #具体修改见下面的链接

  vi spark-env.sh

  vi slaves

  cd $SPARK_HOME

  #启动

  sbin/start-all.sh

物联网
物联网

  详细:http://wuchong.me/blog/2015/04/04/spark-on-yarn-cluster-deploy/

  Master 上的进程:

[email protected]:~# jps

  9824 Master

  9219 NameNode

  9402 SecondaryNameNode

  9546 ResourceManager

  12494 Jps

  其中一个 Slave 上的进程:

[email protected]:~# jps

  18212 Worker

  18057 NodeManager

  17946 DataNode

  18461 Jps

物联网

接下来就可以使用 hdfs ,然后 spark submit 了。

  手动安装一番过后,小润更好地理解了集群配置,稍稍体会到了运行机制。

  续:

  接下来配置了 zeppelin 的 interpreter,交互式地来操作(支持Spark、Scala、SQL等)

物联网

有意思的进展 持续更新