一、安装spark依赖的内容
1.JDK
    spark是由Scala语言编写的,但是运行的环境是jvm,所以需要安装JDK
    编译过程:PythonjavaScala编写的代码 -> 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 kitbin
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并配置环境变量)
    $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
    完成后可以实现无密码登录本机:
    $ ssh localhost
2、把master上的id_dsa.pub 文件追加到slaves机器的authorized_keys slaves1节点为例)
    #拷贝masterid_dsa.pub文件(master号机器上执行)
    $ 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
五、安装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小时内删除。