一、安装spark依赖的内容
1.JDK
spark是由Scala语言编写的,但是运行的环境是jvm,所以需要安装JDK
编译过程:Python、java、Scala编写的代码 -> scala编译器编译解释,生成class文件 -> 由jvm负责执行class文件(与java代码执行一致)
2.scala
由于 spark是由Scala语言编写的,所以依赖Scala环境,且由Scala编写的执行代码也需要环境进行编译
3.配置SSH免密码登录
集节点无密码访问,与安装Hadoop时一致
4.安装Hadoop
hdfs是作为spark的持久层,所以需要安装Hadoop,同时如果需要配置spark on yarn,则Hadoop需要安装yarn版本的
5.安装spark
安装spark,执行spark代码
二、JDK安装
1.下载地址
用户可以在下载相应版本的JDK,本例使用JDK1.6,下载地址为: acle/technetwork/java/javase/archive-139210.html
development kit的bin包
2.下载后,在相应的目录下执行bin文件(假设JDK目录是 jdkpath)
./ jdk-6u45-linux-i586.bin
3.配置环境变量,修改/etc/profile文件增加以下内容
export JAVA_HOME= $jdkpath
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/jre/lib/dt.jar:$JAVA_HOME/jre/lib/tools.jar
4.生效profile(或者重启机器)
source /etc/profile
5.终端输入 java -version
输出类似如下说明安装成功
三、安装Scala
1.下载地址
下载地址:/download/all.html
本例使用的是Scala 2.9.3
2.在安装目录下解压(假设Scala目录是scalapath)
tar -zxvf scala-2.
3.配置环境变量,修改/etc/profile文件增加以下内容
export SCALA_HOME= $scalapath
export PATH=$SCALA_HOME/bin:$PATH
4.生效profile(或者重启机器)
source /etc/profile
四、配置SSH免密码登陆
首先,需要配置各个机器间的相互访问:
1、 配置ssh的自动登陆(在master机上):
$ ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa
完成后会在~/.ssh/(用户目录下)生成两个文件:id_dsa 和id_dsa.pub。
再把id_dsa.pub 追加到授权key 里面(当前并没有authorized_keys文件linux安装jdk18并配置环境变量):
再把id_dsa.pub 追加到授权key 里面(当前并没有authorized_keys文件linux安装jdk18并配置环境变量):
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
完成后可以实现无密码登录本机:
$ ssh localhost
2、把master上的id_dsa.pub 文件追加到slaves机器的authorized_keys 内( 以slaves1节点为例):
#拷贝master的id_dsa.pub文件(在master号机器上执行)
$ scp id_dsa.pub redmap@192.168.1.2:/home/redmap/
$ scp id_dsa.pub redmap@192.168.1.2:/home/redmap/
注:(只需在主节点上运行ssh-kegen程序。其他节点的目录结构创建后,将刚才在主节点创建的keys通过scp拷贝到从节点的同样的目录上。)
我们在实际执行中是手动把id_dsa.pub拷贝到其他slaves的节点中,而不是用scp命令。最好是直接手动拷贝过去,这样文件的权限是一致的。
登录192.168.1.2,进入用户目录下执行:
$ cat id_dsa.pub >> .ssh/authorized_keys
之后可以在master上不输入密码直接SSH访问slaves1
$ cat id_dsa.pub >> .ssh/authorized_keys
之后可以在master上不输入密码直接SSH访问slaves1
五、安装Hadoop2.x
1.下载Hadoop
下载地址 apache.fayea/hadoop/common/
本文使用hadoop-2.5.2.tar
2.解压压缩包到指定目录
tar -zxvf hadoop-2.5.2.tar -C /usr/local (目录自定义)
如果需要修改拥有者
chown -R hduser:hadoop hadoop-2.5.2
3.配置环境变量
编辑profile文件
vi /etc/profile
在profile文件增加以下内容
[python] view plaincopy
1. export HADOOP_HOME=/home/root/hadoop-2.5.2 (安装路径)
2. export PATH=$PATH:$HADOOP_HOME/bin
3.
4. export PATH=$PATH:$HADOOP_HOME/sbin
5.
6. export HADOOP_MAPRED_HOME=${HADOOP_HOME}
7.
8. export HADOOP_COMMON_HOME=${HADOOP_HOME}
9.
10. export HADOOP_HDFS_HOME=${HADOOP_HOME}
11.
12. export HADOOP_YARN_HOME=${HADOOP_HOME}
4.编辑配置文件
(1)进入Hadoop安装路径下的/etc/hadoop目录
(2)配置Hadoop-env.sh文件
增加 export JAVA_HOME=....(java JDK安装路径)
(3)修改hadoop安装目录下/etc/hadoop目录中的l
[html] view plaincopy
1. <configuration>
2. <property>
3. <name>io.native.lib.available</name>
4. <value>true</value>
5. </property>
6. <property>
7. <name>fs.default.name</name>
8. <value>hdfs://host:9000</value>//本机的Ip地址或者域名,端口自己设置
9. <description>The name of the default file system.Either the literal string "local" or a host:port for NDFS.</description>
10. <final>true</final>
11. </property>
12. <property>
13. <name>p.dir</name>
14. <value>file:/home/tmp</value>
15. </property>
16. </configuration>
(4) 在etc/hadoop目录中编辑l
[html] view plaincopy
1. <configuration>
2. <property>
3. <name>dfs.namenode.name.dir</name>
4. <value>file:/usr/hadoop23/dfs/name</value>//本机保存name数据的目录,自定义
5. <description>Determines where on the local filesystem the DFS name node should store the name table.If this is a comma-delimited list of directories,then name table is replicated in all of the directories,for redundancy.</description>
6. <final>true</final>
7. </property>
8. <property>
9. <name>dfs.datanode.data.dir</name>
10. <value>file:/us/hadoop23/dfs/data</value>//本机保存data数据的目录,自定义
11. <description>Determines where on the local filesystem an DFS data node should store its blocks.If this is a comma-delimited list of directories,then data will be stored in all named directories,typically on different devices.Directories that do not exist are ignored.
12. </description>
13. <final>true</final>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论