zl程序教程

您现在的位置是:首页 >  工具

当前栏目

spark1.6分布式集群环境搭建

集群分布式分布式 环境 搭建
2023-09-27 14:26:36 时间


3.3 每台机安装java(root用户)

3.3.1 下载java

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html#jdk-8u60-oth-JPR

 

3.3.2 解压到指定目录

# tar -zxvf jdk-8u60-linux-x64.tar.gz -C /usr/local/


         建立软链接以方便以后更改java版本

         # ln -sf/usr/local/jdk1.8.0_60/ /usr/local/jdk



3.3.3 配置环境变量

更改全局配置文件/etc/profile

# vim /etc/profile

在文件最后添加:

export JAVA_HOME=/usr/local/jdk         //添加java home

export PATH=.:$JAVA_HOME/bin:$PATH                 //将scala路径添加进环境变量


注意:在修改完profile后,需要输入以下命令进行更新,否则不会立即生效:

       # source /etc/profile

 

3.3.4 验证

输入java -version验证是否已配置成功

# java -version

 

3.4 每台机安装scala(root用户)

3.4.1 下载scala

下载地址:http://www.scala-lang.org/download/2.10.4.html

 

3.4.2 解压到指定目录

# tar -zxvf scala-2.10.4.tgz -C /usr/local/


建立软链接以方便以后更改scala版本

# ln -sf /usr/local/scala-2.10.4/ /usr/local/scala


 

3.4.3 配置环境变量

更改全局配置文件/etc/profile

# vim /etc/profile

在JAVA_HOME最后添加:

export SCALA_HOME=/usr/local/scala           //添加scala home

更改path路径,添加scala环境

export PATH=.:$JAVA_HOME/bin: $SCALA_HOME/bin:$PATH               //将scala路径添加进环境变量


注意:在修改完profile后,需要输入以下命令进行更新,否则不会立即生效:

       # source /etc/profile

 

3.4.4 验证

输入scala -version验证是否已配置成功

# scala -version


 

3.5 每台机安装ssh并配置无密码连接(安装openssh使用root,其他使用spark)

3.5.1 安装openssh

# yum install -y openssh-server


注意:从这里开始使用spark用户,执行命令su - spark切换到spark用户

3.5.2 生成密钥

# ssh-keygen -t rsa -P (然后回车)

执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)


 

3.5.3 分享公钥到其他主机

在每台机上将公钥拷贝到要免登陆的机器上

            # ssh-copy-id iZ237654q6qZ

            # ssh-copy-id iZ23pd81xqaZ

            # ssh-copy-id iZ23mr5ukpzZ

            # ssh-copy-id iZ23v8c9mqpZ

 

3.5.4 验证是否免密码

输入以下命令,如果没有提示输入密码就直接登入,则配置成功:

         # ssh iZ23mr5ukpzZ


验证成功后退出登录:

         # exit



3.6 每台机关闭防火墙等服务(root)

# service iptables stop

# chkconfig iptables off                     //关闭开机启动防火墙

 

 

4 spark部署(spark用户)

4.1 下载spark

下载地址:http://mirrors.hust.edu.cn/apache/spark/spark-1.6.0/spark-1.6.0-bin-hadoop2.6.tgz

 

4.2 配置spark环境变量

解压到/home/spark目录

            $ tar -zxvfspark-1.6.0-bin-hadoop2.6.tgz


            建立软链接

            $ ln -sf spark-1.6.0-bin-hadoop2.6spark


配置环境变量,编辑/home/spark目录下的bash_profile

$ vim ~/.bash_profile

添加以下两行(如果原来里面最后有path相关的两行,先删掉):

export SPARK_HOME=/home/spark/spark

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


配置完成后同样的source以下,使之生效

$ source ~/.bash_profile

 

4.3 配置spark

首先新建好spark用到的目录(使用root用户,只有这里使用root用户,每台机):

$ mkdir /data                   //存储数据的总目录

$ mkdir /data/spark                  //spark数据存储主目录

$ mkdir /data/spark/local       //spark存储本地数据的目录

$ mkdir /data/spark/log          //spark存储日志的目录

$ mkdir /data/spark/work      //spark存储worker日志等信息的目录

$ chmod -R 777 /data/            //将/data目录权限设置为最大


 

4.3.1 配置spark-env.sh

       Spark-env.sh文件中配置了spark运行时的一些环境、依赖项以及master和slaver的资源配置。        

$ cd spark              //进入spark目录        

$ cp conf/spark-env.sh.template conf/spark-env.sh              //将spark-env.sh.template复制一份为spark-env.sh

 

因为我们是部署standalone模式,可以参考配置文件中注释项的提示:




添加以下内容:


export SPARK_WORKER_OPTS="-Dspark.worker.cleanup.enabled=true -Dspark.worker.cleanup.appDataTtl=604800"


export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=3 -Dspark.history.fs.logDirectory=hdfs://systex/user/spark/applicationHistory"


history server页面端口、备份数、log日志在HDFS的位置(注意,需要在HDFS上新建对应的路径)


Spark-default.conf文件中主要配置的是与在spark上运行任务有关的一些参数,以及对executor等的配置。


添加以下内容:




4.3 配置slaves

在conf目录下有slaves文件,在其中配置slaves的hostname

$ cp conf/slaves.template conf/slaves

$ vim conf/slaves


添加各个slave节点的hostname:



至此,我们就将spark需要配置的东西全部配置完成,将spark整个目录复制到其他主机:

            $scp -r /home/spark/spark-1.6.0-bin-hadoop2.6 spark@iZ23pd81xqaZ:/home/spark/

            $scp -r /home/spark/spark-1.6.0-bin-hadoop2.6 spark@iZ23mr5ukpzZ:/home/spark/

$ scp -r/home/spark/spark-1.6.0-bin-hadoop2.6 spark@iZ23v8c9mqpZ:/home/spark/

 

在相应的主机创建对应的spark软链接,并将spark-env.sh中SPARK_LOCAL_IP改为对应的ip即可。

 

 

5. 启动spark并测试(spark用户)

现在我们启动spark,在master节点执行以下命令:

$ cd /home/spark/spark

$ ./sbin/start-all.sh                    //启动master和slaves

$ ./sbin/start-history-server.sh        //启动history server


使用jps命令查看是否成功启动:

检查进程是否启动【在master节点上出现“Master”,在slave节点上出现“Worker”】




## 监控页面URL http:// 120.27.153.137:8080/


运行spark-pi:

spark-submit  --master spark://10.47.110.38:7077 --classorg.apache.spark.examples.SparkPi --name Spark-Pi /home/spark/spark/lib/spark-examples-1.6.0-hadoop2.6.0.jar

能看到如下结果:



成功!


BigDL:Apache Spark 上的分布式深度学习库 BigDL是 Apache Spark 的分布式深度学习库;使用 BigDL,用户可以将他们的深度学习应用程序编写为标准 Spark 程序,这些程序可以直接运行在现有的 Spark 或 Hadoop 集群之上。为了轻松构建 Spark 和 BigDL 应用程序,为端到端分析 + AI 管道提供了高级Analytics Zoo。
5月14日Apache Spark中国社区技术直播【Analytics Zoo上的分布式TensorFlow训练AI玩FIFA足球游戏】 近年来,由于对通用人工智能研究的潜在价值,训练AI玩游戏一直是一个火热的研究领域。FIFA实时视频游戏场景复杂,需要结合图像,强化学习等多种不同的AI技术,同时也要求agents响应有实时性,因此是一个非常好的试验场,可以用来探索不同类型的AI技术。本次分享主要介绍我们在训练AI玩FIFA视频游戏方面的一些工作。
BR-MLP基于spark+Hadoop分布式数据挖掘解决方案功能剖析 BR-MLP是基于大数据BR-ODP的分布式数据挖掘平台,基于Hadoop和Spark技术,支持海量数据挖掘。提供数据源、数据预处理、特征工程、统计分析、机器学习……组件。
Spark中分布式使用HanLP(1.7.0)分词示例 HanLP分词,如README中所说,如果没有特殊需求,可以通过maven配置,如果要添加自定义词典,需要下载 依赖jar包和用户字典 .分享某大神的示例经验:是直接 java xf hanlp-1.6.8-sources.jar 解压源码,把源码加入工程(依赖本地jar包,有些麻烦,有时候到服务器有找不到jar包的情况)按照文档操作,在Spark中分词,默认找的是本地目录,所以如果是在driver中分词是没有问题的。
Hanlp分词1.7版本在Spark中分布式使用记录 新发布1.7.0版本的hanlp自然语言处理工具包差不多已经有半年时间了,最近也是一直在整理这个新版本hanlp分词工具的相关内容。不过按照当前的整理进度,还需要一段时间再给大家详细分享整理的内容。昨天正好看到的这篇关于关于1.
spark集群使用hanlp进行分布式分词操作说明 本篇分享一个使用hanlp分词的操作小案例,即在spark集群中使用hanlp完成分布式分词的操作,文章整理自【qq_33872191】的博客,感谢分享!以下为全文: 第一步:实现hankcs.