Spark的环境搭建以及简单的eclipse的两种运行方式--standalone和yarn
2016-12-01 15:25
681 查看
前言:会一些linux的基础,以及java基础。以及是先搭建好java环境,搭建环境是单机版。假定ip:192.168.248.133
步入正轨,我们直接来说说怎么搭建一个基于hadoop的spark环境。目的能够让spark将job提交到hadoop上处理。利用hadoop的分布式框架。
第一步:搭建hadoop的单机环境
1.在/etc/hostname 下修改对应的名字。 比如Master
2.修改etc/hosts 修改成192.168.248.133Master
3.首先在ubuntu上配置ssh免密码。
a.安装ssh : apt-get install ssh openssh-server
b.cd ~/.ssh(如果显示文件不存在。先输入ssh localhost命令)
c.ssh-keygen -t rsa (一直按回车)
d. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys (将生成的公钥添加到ssh中)
e.尝试使用ssh localhost 进入 exit退出
4.下载hadoop2.6.0,并完成相应的配置
a.下载hadoop:wget http://apache.fayea.com/hadoop/core/hadoop-2.6.0/hadoop-2.6.0.tar.gz
b.解压到安装目录下 tar -zxvf hadoop-2.6.0.tar.gz
c.我是解压到 /home下的目录.然后进入到hadoop的目录下。
cd /opt/hadoop-2.6.0
就能看到hadoop的目录结构了。
5.修改配置文件 进入到hadoop目录下的etc/hadoop目录修改里面的配置文件
a.编辑 core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/share/hadoop/tmp</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.248.133:9000</value>
</property>
</configuration>
b.编辑 hdfs-site.xml
c.编辑yarn-site.xm
d.编辑 slave (有几个节点就添加几个节点,如果是配置单机版,就将里面的节点名改为主节点Master的节点名)
启动hadoop
准备:切换 Hadoop 的模式,不管是从集群切换到伪分布式,还是从伪分布式切换到集群,如果遇到无法正常启动的情况,可以删除所涉及节点的临时文件夹,这样虽然之前的数据会被删掉,但能保证集群正确启动。或者可以为集群模式和伪分布式模式设置不同的临时文件夹(未验证)。所以如果集群以前能启动,但后来启动不了,特别是 DataNode 无法启动,不妨试着删除所有节点(包括 Slave 节点)上的 tmp 文件夹,重新执行一次 bin/hdfs namenode -format,再次启动试试。
6.启动hadoop
a.cd /opt/hadoop-2.6.0
b.bin/hdfs namenode -format # 首次运行需要执行初始化,后面不再需要
sbin/start-all.sh
c.通过命令jps可以查看各个节点所启动的进程(我这个是事先搭建好了spark,没有搭建spark的就没有6个进程,没有master和worker进程)
6.节点都启动好了之后,打开她的监控页面 Master:8088
可以看到一个活跃的节点。到此hadoop环境已经搭建完成。需要优化可以在配置文件里添加一些优化信息。比如说日志的配置等等
第二步:搭建spark的单机环境
1.下载spark1.6.0.虽然现在spark2.0已经出来了,但是使用的不是太多。我们还是使用1.6.0的版本
a.wget http://d3kbcqa49mib13.cloudfront.net/spark-1.6.1-bin-hadoop2.6.tgz
我们选择预编译好的spark1.6.1的版本。也可自行编译。
2.同上hadoop。我们将其解压到安装目录下
tar -zxvf spark-1.6.1-bin-hadoop2.6.tgz
改个名字吧,这个文件夹名字有点长。 mv spark-1.6.1-bin-hadoop2.6 spark1.6
3.修改配置文件
a.将spark1.6里面的conf文件夹里面的模板文件全部替换成使用的文件。比如说 mv spark-env.sh.tmp spark-env.sh
在spark-env.sh中添加
b.修改slave文件。将localhost换成Master
4.安装scala
a.下载scala wget http://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz
b.将scala解压到安装目录 tar -zxvf scala-2.11.8.tgz
c.将scala的路径配置到环境变量里。
在/etc/profile中添加
export SCALA_HOME=/opt/scala-2.11.8
export PATH=$SCALA_HOME/bin:$PATH
5.到此spark的单机版搭建完成。启动spark。
a.在spark安装目录下输入sbin/start-all.sh
b.jps输入我们就能看见worker和master节点了。
6.打开她的监控页面 Master:8080就能看见spark的监控页面
到这一步就代表spark已经搭建完成了。现在已经可以在spark上跑代码啦。
第三步:将eclipse作为开发环境
a.将hadoop-eclipse-plugin-2.6.0.jar放到eclipse里面的plugin文件夹目录下。
b. 启动eclipse。在eclipse中的window的preferences的Hadoop Map/Reduce下添加hadoop的路径。
c.创建一个hadoop的location
第四步:创建工程
1.创建一个简单的java工程。
a.在工程里面创建三个目录,分别是conf,lib,yarn
b.将spark目录下的conf下的所有配置文件放入到conf里面,将spark里面的lib下的spark-assembly-1.6.1-hadoop2.6.0.jar放入到lib,将hadoop下的etc下的hadoop里面core-site.xml hdfs-site.xml yarn-site.xml放到yarn文件夹里面。
2.基于spark的standslone模式
a.创建一个stanalone类
直接上代码:
到此我们看见我们已经成功的在spark上运行了一个简单的计数。
2.基于spark的yarn模式
a.创建一个stanalone类
直接上代码:
到此我们看见我们已经成功的在hadoop上运行了一个简单的计数。
整个过程到此结束。
步入正轨,我们直接来说说怎么搭建一个基于hadoop的spark环境。目的能够让spark将job提交到hadoop上处理。利用hadoop的分布式框架。
第一步:搭建hadoop的单机环境
1.在/etc/hostname 下修改对应的名字。 比如Master
2.修改etc/hosts 修改成192.168.248.133Master
3.首先在ubuntu上配置ssh免密码。
a.安装ssh : apt-get install ssh openssh-server
b.cd ~/.ssh(如果显示文件不存在。先输入ssh localhost命令)
c.ssh-keygen -t rsa (一直按回车)
d. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys (将生成的公钥添加到ssh中)
e.尝试使用ssh localhost 进入 exit退出
4.下载hadoop2.6.0,并完成相应的配置
a.下载hadoop:wget http://apache.fayea.com/hadoop/core/hadoop-2.6.0/hadoop-2.6.0.tar.gz
b.解压到安装目录下 tar -zxvf hadoop-2.6.0.tar.gz
c.我是解压到 /home下的目录.然后进入到hadoop的目录下。
cd /opt/hadoop-2.6.0
就能看到hadoop的目录结构了。
5.修改配置文件 进入到hadoop目录下的etc/hadoop目录修改里面的配置文件
a.编辑 core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/share/hadoop/tmp</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.248.133:9000</value>
</property>
</configuration>
b.编辑 hdfs-site.xml
<configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>192.168.248.133:50090</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/usr/share/hadoop/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/usr/share/hadoop/tmp/dfs/data</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> </configuration>
c.编辑yarn-site.xm
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
d.编辑 slave (有几个节点就添加几个节点,如果是配置单机版,就将里面的节点名改为主节点Master的节点名)
启动hadoop
准备:切换 Hadoop 的模式,不管是从集群切换到伪分布式,还是从伪分布式切换到集群,如果遇到无法正常启动的情况,可以删除所涉及节点的临时文件夹,这样虽然之前的数据会被删掉,但能保证集群正确启动。或者可以为集群模式和伪分布式模式设置不同的临时文件夹(未验证)。所以如果集群以前能启动,但后来启动不了,特别是 DataNode 无法启动,不妨试着删除所有节点(包括 Slave 节点)上的 tmp 文件夹,重新执行一次 bin/hdfs namenode -format,再次启动试试。
6.启动hadoop
a.cd /opt/hadoop-2.6.0
b.bin/hdfs namenode -format # 首次运行需要执行初始化,后面不再需要
sbin/start-all.sh
c.通过命令jps可以查看各个节点所启动的进程(我这个是事先搭建好了spark,没有搭建spark的就没有6个进程,没有master和worker进程)
6.节点都启动好了之后,打开她的监控页面 Master:8088
可以看到一个活跃的节点。到此hadoop环境已经搭建完成。需要优化可以在配置文件里添加一些优化信息。比如说日志的配置等等
第二步:搭建spark的单机环境
1.下载spark1.6.0.虽然现在spark2.0已经出来了,但是使用的不是太多。我们还是使用1.6.0的版本
a.wget http://d3kbcqa49mib13.cloudfront.net/spark-1.6.1-bin-hadoop2.6.tgz
我们选择预编译好的spark1.6.1的版本。也可自行编译。
2.同上hadoop。我们将其解压到安装目录下
tar -zxvf spark-1.6.1-bin-hadoop2.6.tgz
改个名字吧,这个文件夹名字有点长。 mv spark-1.6.1-bin-hadoop2.6 spark1.6
3.修改配置文件
a.将spark1.6里面的conf文件夹里面的模板文件全部替换成使用的文件。比如说 mv spark-env.sh.tmp spark-env.sh
在spark-env.sh中添加
export JAVA_HOME= export HADOOP_HOME= export SPARK_MASTER_IP=Master #export SPARK_MASTER_HOSTS=192.168.244.133 export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export SCALA_HOME=/opt/scala-2.11.8 export SPARK_YARN_USER_ENV="CLASSPATH=/opt/hadoop-2.6.0/etc/hadoop" export SPARK_DIST_CLASSPATH=$(/opt/hadoop-2.6.0/bin/hadoop classpath) export SPARK_WORKER_MEMORY=2g
b.修改slave文件。将localhost换成Master
4.安装scala
a.下载scala wget http://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz
b.将scala解压到安装目录 tar -zxvf scala-2.11.8.tgz
c.将scala的路径配置到环境变量里。
在/etc/profile中添加
export SCALA_HOME=/opt/scala-2.11.8
export PATH=$SCALA_HOME/bin:$PATH
5.到此spark的单机版搭建完成。启动spark。
a.在spark安装目录下输入sbin/start-all.sh
b.jps输入我们就能看见worker和master节点了。
6.打开她的监控页面 Master:8080就能看见spark的监控页面
到这一步就代表spark已经搭建完成了。现在已经可以在spark上跑代码啦。
第三步:将eclipse作为开发环境
a.将hadoop-eclipse-plugin-2.6.0.jar放到eclipse里面的plugin文件夹目录下。
b. 启动eclipse。在eclipse中的window的preferences的Hadoop Map/Reduce下添加hadoop的路径。
c.创建一个hadoop的location
第四步:创建工程
1.创建一个简单的java工程。
a.在工程里面创建三个目录,分别是conf,lib,yarn
b.将spark目录下的conf下的所有配置文件放入到conf里面,将spark里面的lib下的spark-assembly-1.6.1-hadoop2.6.0.jar放入到lib,将hadoop下的etc下的hadoop里面core-site.xml hdfs-site.xml yarn-site.xml放到yarn文件夹里面。
2.基于spark的standslone模式
a.创建一个stanalone类
直接上代码:
public class stanalone{ private static final Pattern SPACE = Pattern.compile(" "); public static void main(String[] args) { //创建sparkConf SparkConf conf = new SparkConf().setAppName("standaloneTest").setMaster("spark://master:7077"); JavaSparkContext sc = new JavaSparkContext(conf); JavaRDD rdd= Arrays.asList(1,2.2,5); JavaRDD dis =sc.parallelize(rdd); System.out.println("array num = "+dis.count());//控制台打印出array的个数 4 sc.stop();
到此我们看见我们已经成功的在spark上运行了一个简单的计数。
2.基于spark的yarn模式
a.创建一个stanalone类
直接上代码:
public class stanalone{ private static final Pattern SPACE = Pattern.compile(" "); public static void main(String[] args) { //创建sparkConf SparkConf conf = new SparkConf().setAppName("yarn").setMaster("yarn-client"); //根据官网上面的提示 conf.set("spark.yarn.dist.files","/conf/yarn-site.xml"); conf.set("spark.yarn.jar","/lib/spark-assembly-1.6.1-hadoop2.6.0.jar"); JavaSparkContext sc = new JavaSparkContext(conf); //将工程打包成jar test.jar sc.addJar("test.jar"); JavaRDD rdd= Arrays.asList(1,2.2,5); JavaRDD dis =sc.parallelize(rdd); System.out.println("array num = "+dis.count());//控制台打印出array的个数 4 sc.stop();
到此我们看见我们已经成功的在hadoop上运行了一个简单的计数。
整个过程到此结束。
相关文章推荐
- 最新版Android NDK开发环境搭建以及第一个Android NDK程序(在eclipse中演示)(超简单实用)
- Golang开发环境搭建(Notepad++、LiteIDE两种方式以及martini框架使用)
- Hadoop环境搭建三之配置部署启动YARN以及在YARN上运行MapReduce程序
- 在Eclipse上运行Spark(Standalone,Yarn-Client)
- Android的简单介绍以及搭建运行环境
- spark学习十 yarn环境的搭建以及spark程序测试
- Golang开发环境搭建(Notepad++、LiteIDE两种方式以及martini框架使用)
- Solr6.2.1搭建运行环境(两种方式)
- 使用Eclipse开发及测试Spark的环境搭建及简单测试
- Golang开发环境搭建(Notepad++、LiteIDE两种方式以及martini框架使用)
- eclipse+drools 6.5开发环境搭建,以及创建一个简单的drools项目
- Solr6.2.1 学习笔记(一)搭建运行环境(两种方式)
- Eclipse中mahout运行环境的搭建以及推荐实例
- Spark的StandAlone运行模式环境搭建
- eclipse+drools 6.5开发环境的搭建,以及创建一个简单的drools项目
- 在Eclipse上运行Spark(Standalone,Yarn-Client)
- 自定义php开发环境搭建以及两种方式的比较总结
- linux(centos5.8)环境下Hadoop 2.0.2单机部署以及Eclipse环境搭建
- (一)eclipse android开发环境搭建——运行helloworld
- eclipse下C/C++开发调试环境搭建以及注意点