Spark Standalone 以及 HDFS系统环境搭建,standalonehdfs


Hdfs环境搭建

  1. 下载最新版本的Hadoop编译好的tar包:http://hadoop.apache.org/releases.html
  2. 确认HDFS namenode和datanode的角色,并将namenode以及datanode的ip机器名对应关系写进每台机器的/etc/hosts文件。
  3. 确认namenode可以不需要密码就一个通过ssh联通datanode结点。

    执行如下命令
    (1) ssh-keygen -t  rsa "" //生成sshkey
    (2) 将 ~/.ssh/id_rsa.pub 公钥文件的内容拷贝到每台datanode机器的 ~/.ssh/authorized_keys文件中。
    (3) 测试从namenode 到 datanode的连接,现在应该是通的了。
    
  4. 配置hadoop的配置文件。

    (1) 在环境变量中配置HADOOP_HOME、JAVA_HOME、HADOOP_CONF_DIR,其中 HADOOP_CONF_DIR指向 $HADOOP_HOME/etc/hadoop
    (2) 修改 HADOOP_CONF_DIR 目录下的几个*.site.xml文件,参考官网:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/ClusterSetup.html
    (3) 将配置好后的hadoop包分发到每个namenode和datanode结点,并相应的配置环境变量。
    (4) 剩下的在namenode结点按照官网来启动 sbin/目录下的那些shell,参考上面的官网链接。
    (5) 此时去每台机器用JPS命令看下,结点进程应该都起来了。
    (6) 访问 namenode的50070端口,应该能看到相应的结点信息。
    

Spark环境搭建

Spark以Standalone的方式启动,文件系统可以依赖上面搭建的HDFS文件系统。Spark Standalone搭建启动方式如下:

    (1) 从官网:http://spark.apache.org/ 下载最新版本的spark 编译好的 tar包。
    (2) 解压后参考官网配置:http://spark.apache.org/docs/latest/spark-standalone.html
    (3) 注意master结点和worker结点的spark安装包要在同一个linux文件系统路径下。
    (4) 在master结点的 conf/slaves 文件中,将work结点的ip地址填写好,每行一个。
    (5) 分别执行sbin/start-master.sh 和 sbin/start-slaves文件。
    (6) 此时可以看到master结点启动了一个master进程,worker结点启动了slave进程。

注意点

通过如下命令提交spark任务时,注意jar包如果是本地文件(即:还没有put到hdfs文件系统中,file:/xxxx.jar 本地文件访问协议),则需要这个jar包在每个结点都存在,并且是完全相同的路径。如果是已经put到了hdfs文件系统中,则指定hdfs文件系统的路径就可以了例如:hdfs://xxxx.jar

./bin/spark-submit \
  --class <main-class>
  --master <master-url> \
  --deploy-mode <deploy-mode> \
  --conf <key>=<value> \
  ... # other options
  <application-jar> \
  [application-arguments]

相关内容