安装spark

来源:互联网 发布:数据分析师能力要求 编辑:程序博客网 时间:2024/05/22 15:51

安装JDK

具体步骤参详了如下链接:

http://blog.csdn.net/yang_hui1986527/article/details/6677450

 

  1、到 Sun 的官网下载

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

  选择 accept license ,然后选择适合自己机型的JDK下载。

  2、解压文件,修改文件名

$ sudo mkdir /usr/lib/jvm$ sudo tar zxvf jdk-7u21-linux-i586.tar.gz -C /usr/lib/jvm$ cd /usr/lib/jvm$ sudo mv jdk1.7.0_21 java

  3、添加环境变量

$ sudo vim ~/.bashrc

  加入如下内容

export JAVA_HOME=/usr/lib/jvm/java export JRE_HOME=${JAVA_HOME}/jre  export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  export PATH=${JAVA_HOME}/bin:$PATH  

  4、配置默认JDK版本

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java/bin/java 300  sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java/bin/javac 300  sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/java/bin/jar 300   sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/java/bin/javah 300   sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/java/bin/javap 300   

  然后执行

sudo update-alternatives --config java

  若是初次安装 JDK, 将提示

There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java/bin/java无需配置。

  若是非初次安装,将有不同版本的 JDK 选项。

  5、测试

$ java -versionjava version "1.7.0_21"Java(TM) SE Runtime Environment (build 1.7.0_21-b11)Java HotSpot(TM) Server VM (build 23.21-b01, mixed mode)

 


0 机器说明

 

IP

Role

192.168.1.106

NameNode、DataNode、NodeManager、ResourceManager

192.168.1.107

SecondaryNameNode、NodeManager、DataNode

192.168.1.108

NodeManager、DataNode

192.168.1.106

HiveServer

1 打通无密钥

配置HDFS,首先就得把机器之间的无密钥配置上。我们这里为了方便,把机器之间的双向无密钥都配置上。

(1)产生RSA密钥信息

ssh-keygen -t rsa

一路回车,直到产生一个图形结构,此时便产生了RSA的私钥id_rsa和公钥id_rsa.pub,位于/home/user/.ssh目录中。

(2)将所有机器节点的ssh证书公钥拷贝至/home/user/.ssh/authorized_keys文件中,三个机器都一样。

(3)切换到root用户,修改/etc/ssh/sshd_config文件,配置:

RSAAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile      .ssh/authorized_keys

(4)重启ssh服务:service sshd restart

(5)使用ssh服务,远程登录:

ssh配置成功。

--------------------------------------分割线 --------------------------------------

Ubuntu 13.04上搭建Hadoop环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu上搭建Hadoop环境(单机模式+伪分布模式) http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu下Hadoop环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建Hadoop环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

--------------------------------------分割线 --------------------------------------

2 安装Hadoop2.3

将对应的hadoop2.3的tar包解压缩到本地之后,主要就是修改配置文件,文件的路径都在etc/hadoop中,下面列出几个主要的。

(1)core-site.xml

 
<configuration>    <property>        <name>hadoop.tmp.dir</name>        <value>file:/home/ubuntu/tmp/hadoop</value>    </property>    <property>        <name>fs.default.name</name>        <value>hdfs://master.cxw3gc.pek2.qingcloud.com:9000</value>    </property></configuration>
 

(2)hdfs-site.xml

 
<configuration>     <property>         <name>dfs.replication</name>         <value>3</value>     </property>     <property>          <name>dfs.namenode.secondary.http-address</name>          <value>master.cxw3gc.pek2.qingcloud.com:9001</value>     </property>     <property>          <name>dfs.namenode.name.dir</name>          <value>file:/home/ubuntu/dfs/name</value>     </property>     <property>          <name>dfs.datanode.data.dir</name>          <value>file:/home/ubuntu/dfs/data</value>     </property>     <property>          <name>dfs.replication</name>          <value>3</value>     </property>     <property>          <name>dfs.webhdfs.enabled</name>          <value>true</value>     </property></configuration>
 

(3)hadoop-env.sh

主要是将其中的JAVA_HOME赋值:

export JAVA_HOME=/usr/local/jdk1.6.0_27

(4)mapred-site.xml

 
<configuration>
    <property>
         <!-- 使用yarn作为资源分配和任务管理框架 -->
         <name>mapreduce.framework.name</name>
         <value>yarn</value>
    </property>
    <property>
         <!-- JobHistory Server地址 -->
         <name>mapreduce.jobhistory.address</name>
         <value>master.cxw3gc.pek2.qingcloud.com:10020</value>
     </property>
     <property>
         <!-- JobHistory WEB地址 -->
         <name>mapreduce.jobhistory.webapp.address</name>
         <value>master.cxw3gc.pek2.qingcloud.com:19888</value>
     </property>
     <property>
         <!-- 排序文件的时候一次同时最多可并行的个数 -->
         <name>mapreduce.task.io.sort.factor</name>
         <value>100</value>
     </property>
     <property>
         <!-- reuduce shuffle阶段并行传输数据的数量 -->
         <name>mapreduce.reduce.shuffle.parallelcopies</name>
         <value>50</value>
     </property>
     <property>
         <name>mapred.system.dir</name>
         <value>file:/home/ubuntu/data/mr/system</value>
     </property>
     <property>
         <name>mapred.local.dir</name>
         <value>file:/home/ubuntu/data/mr/local</value>
     </property>
     <property>
         <!-- 每个Map Task需要向RM申请的内存量 -->
         <name>mapreduce.map.memory.mb</name>
         <value>1536</value>
     </property>
     <property>
         <!-- 每个Map阶段申请的Container的JVM参数 -->
         <name>mapreduce.map.java.opts</name>
         <value>-Xmx1024M</value>
     </property>
     <property>
         <!-- 每个Reduce Task需要向RM申请的内存量 -->
         <name>mapreduce.reduce.memory.mb</name>
         <value>2048</value>
     </property>
     <property>
         <!-- 每个Reduce阶段申请的Container的JVM参数 -->
         <name>mapreduce.reduce.java.opts</name>
         <value>-Xmx1536M</value>
     </property>
     <property>
         <!-- 排序内存使用限制 -->
         <name>mapreduce.task.io.sort.mb</name>
         <value>512</value>
     </property>
 </configuration>
 

  注意上面的几个内存大小的配置,其中Container的大小��般都要小于所能申请的最大值,否则所运行的Mapreduce任务可能无法运行。

(5)yarn-site.xml

 <configuration>
     <property>
         <name>yarn.nodemanager.aux-services</name>
         <value>mapreduce_shuffle</value>
     </property>
     <property>
         <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
         <value>org.apache.hadoop.mapred.ShuffleHandler</value>
     </property>
     <property>
         <name>yarn.resourcemanager.address</name>
         <value>master.cxw3gc.pek2.qingcloud.com:8080</value>
     </property>
     <property>
         <name>yarn.resourcemanager.scheduler.address</name>
         <value>master.cxw3gc.pek2.qingcloud.com:8081</value>
     </property>
     <property>        
         <name>yarn.resourcemanager.resource-tracker.address</name>
         <value>master.cxw3gc.pek2.qingcloud.com:8082</value>
     </property>
     <property>
         <!-- 每个nodemanager可分配的内存总量 -->
         <name>yarn.nodemanager.resource.memory-mb</name>
         <value>2048</value>
     </property>
     <property>
         <name>yarn.nodemanager.remote-app-log-dir</name>
         <value>${hadoop.tmp.dir}/nodemanager/remote</value>
     </property>
     <property>
         <name>yarn.nodemanager.log-dirs</name>
         <value>${hadoop.tmp.dir}/nodemanager/logs</value>
     </property>
     <property>
         <name>yarn.resourcemanager.admin.address</name>
         <value>master.cxw3gc.pek2.qingcloud.com:8033</value>
     </property>
     <property>
         <name>yarn.resourcemanager.webapp.address</name>
         <value>master.cxw3gc.pek2.qingcloud.com:8088</value>
     </property>
 </configuration>

格式话namanode  hadoop namenode -format
 此外,配置好对应的HADOOP_HOME环境变量之后,将当前hadoop文件发送到所有的节点,在sbin目录中有start-all.sh脚本,启动可见:

启动完成之后,有如下两个WEB界面:

http://192.168.1.106:8088/cluster

 

http://192.168.1.106:50070/dfshealth.html

 

使用最简单的命令检查下HDFS:



下面安装spark

spark-env.sh


export Hadoop_HOME=/home/ubuntu/hadoop-2.5.2/hadoop-2.5.2
export SPARK_MASTER_IP=master.cxw3gc.pek2.qingcloud.com
export SPARK_MASTER_PORT=7077
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export SPARK_EXECUTOR_INSTANCES=2
export SPARK_EXECUTOR_CORES=1
export SPARK_EXECUTOR_MEMORY=400M
export SPARK_DRIVER_MEMORY=400M
export SPARK_YARN_APP_NAME="Spark 1.0.0"


在sbin中的start-master中可以修改spark-webui的端口 原来是8080

SPARK_MASTER_WEBUI_PORT


然后启动start-all.sh即可


0 0
原创粉丝点击