spark1.2.0+hadoop2.4.0集群环境搭建

spark1.2.0+hadoop2.4.0集群环境搭建

1.首先介绍一下整个过程中需要用到的一些软件

Jdk jdk-7u21-linux-i586.tar.gz

spark-1.2.0-bin-hadoop2.4      这是编译好了的spark,当然你也可以自己编译,详情将官网http://spark.apache.org/docs/latest/building-spark.html

hadoop-2.4.0

scala-2.10.4

2.集群环境

我这里一共有5台机器,一个本机做客户端,4台虚拟机,一台做master,3台做worker

10.18.200.235  master

10.18.200.231  node1

10.18.200.232  node2

10.18.200.233  node3

172.18.56.142  Ubuntu-Kylin    (我的本机,做client)

3.开始安装

3.1 进入master节点,在master节点下新建/opt/sparkhome文件夹

mkdir  /opt/sparkhome       之后将软件安装在这个目录下

3.2 安装jdk

cd 进入jdk所在的目录

tar -zvxf  jdk-7u21-linux-i586.tar.gz -C /opt/sparkhome     解压到刚才建立的目录下

3.3 安装scala

cd 进入scala安装包所在目录

tar -zvxf scala-2.10.4.tgz -C /opt/sparkhome

3.4 安装hadoop

cd 进入hadoop安装包所在目录

tar -zvxf hadoop-2.4.0.tar.gz -C /opt/sparkhome

3.5 安装spark

cd 进入spark安装包所在目录

tar -zvxf spark-1.2.0-bin-hadoop2.4.tgz -C /opt/sparkhome

4.配置环境变量

vi /etc/profile     

写入如下配置

export JAVA_HOME=/opt/sparkhome/jdk1.7.0_21 
export JRE_HOME=/opt/sparkhome/jdk1.7.0_21/jre
export SCALA_HOME=/opt/sparkhome/scala-2.10.4

export SPARK_HOME=/opt/sparkhome/spark-1.2.0-bin-hadoop2.4
export HADOOP_COMMON_HOME=/opt/sparkhome/hadoop-2.4.0
export HADOOP_CONF_DIR=$HADOOP_COMMON_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_COMMON_HOME/etc/hadoop
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:${SCALA_HOME}/bin:${HADOOP_COMMON_HOME}/bin:${HADOOP_COMMON_HOME}/sbin:${SPARK_HOME}/bin:$PATH

保存退出

source /etc/profile

测试java是否安装正确   java -version

测试scala是否安装正确 scala -version

5.配置hadoop

cd $HADOOP_CONF_DIR    进入hadoop配置文件目录,进行修改


vi slaves    进入slaves文件修改

去掉localhost    加入如下配置

node1

node2

node3

保存退出


vi  core-site.xml    进入修改如下

<configuration>
   <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
        <description>NameNode URI</description>
    </property>

    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/opt/sparkhome/hadoop-2.4.0/tmp</value>
    </property>
</configuration>

保存退出


vi hdfs-site.xml    进入修改如下

<property>
       <name>dfs.namenode.name.dir</name>
       <value>file:///opt/sparkhome/hdfs/namenode</value>
</property>
<property>
       <name>dfs.datanode.data.dir</name>
       <value>file:///opt/sparkhome/hdfs/datanode</value> 
</property>

<property>
       <name>dfs.replication</name>
       <value>1</value>

</property>

<property>
       <name>dfs.namenode.secondary.http-address</name>
       <value>master:9001</value>
</property>
<property>
       <name>dfs.webhdfs.enabled</name>
       <value>true</value>
</property>

保存退出


vi mapre-site.xml  进入修改如下

<configuration>
<property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
</property>

</configuration>

保存退出


vi yarn-site.xml  进入修改如下

<property>
   <name>yarn.resourcemanager.hostname</name>
   <value>master</value>
</property>                    
<property>
   <name>yarn.resourcemanager.address</name>
   <value>${yarn.resourcemanager.hostname}:8032</value>
</property>
<property>
   <name>yarn.resourcemanager.scheduler.address</name>
   <value>${yarn.resourcemanager.hostname}:8030</value>
</property>
<property>
   <name>yarn.resourcemanager.webapp.address</name>
   <value>${yarn.resourcemanager.hostname}:8088</value>
</property>
<property>
   <name>yarn.resourcemanager.webapp.https.address</name>
   <value>${yarn.resourcemanager.hostname}:8090</value>
</property>
<property>
  <name>yarn.resourcemanager.resource-tracker.address</name>
   <value>${yarn.resourcemanager.hostname}:8031</value>
</property>
<property>
   <name>yarn.resourcemanager.admin.address</name>
   <value>${yarn.resourcemanager.hostname}:8033</value>
</property>
<property>
   <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>
</property>        
保存退出


vi hadoop-env.sh  进入加入如下语句

export JAVA_HOME=/opt/sparkhome/jdk1.7.0_21

保存退出


vi yarn-env.sh  进入加入如下语句

export JAVA_HOME=/opt/sparkhome/jdk1.7.0_21

保存退出

6.配置spark

cd $SPARK_HOME/conf    进入SPARK配置文件目录,进行修改


vi slaves   进入修改如下

去掉localhost,加入如下配置

node1

node2

node3

保存退出


cp spark-env.sh.template spark-env.sh  创建spark-env.sh文件

vi spark-env.sh   进入加入如下配置

export SPARK_MASTER_IP=master

export  SPARK_MASTER_PORT=7077

export SPARK_WORKER_CORES=2              解释:如果你cpu核比较多可以设置得更多

export  SPARK_WORKER_MEMORY=2g        解释:如果你内存比较大可以设置得更大

export  JAVA_HOME=/opt/sparkhome/jdk1.7.0_21

export  SCALA_HOME=/home/sprakhome/scala-2.10.4

保存退出

7.SSH无密码登录(如果没有安装ssh,执行sudo apt-get install ssh安装即可)

1.在每个节点上做如下操作,包括client节点,也就是你的本机

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

2.回到master节点,进行公钥合并

cd ~/.ssh  

ls -lsa

语法:ssh 机器名 cat ~/.ssh/id_dsa.pub>>authorized_keys 合成公钥

ssh master cat ~/.ssh/id_dsa.pub>>authorized_keys

ssh node1 cat ~/.ssh/id_dsa.pub>>authorized_keys

ssh node2 cat ~/.ssh/id_dsa.pub>>authorized_keys

ssh node3 cat ~/.ssh/id_dsa.pub>>authorized_keys

ssh Ubuntu-Kylin cat ~/.ssh/id_dsa.pub>>authorized_keys

当然在执行上面的操作之前你要保证每个节点的hosts文件中有如下配置

172.18.56.142   Ubuntu-Kylin
10.18.200.235   master
10.18.200.231   node1
10.18.200.232   node2
10.18.200.233   node3

3.修改authorized_keys文件属性为600 ,并发放给各节点

chmod 600 authorized_keys  修改属性

分发到其他节点以及client

scp authorized_keys  root@node1:~/.ssh/

scp authorized_keys  root@node2:~/.ssh/

scp authorized_keys  root@node3~/.ssh/

scp authorized_keys  root@Ubuntu-Kylin:~/.ssh/

4.在三个节点上以及client进行测试无密码登录

ssh node1

ssh node2

ssh node3

ssh Ubuntu-Kylin

8.将master节点的配置拷贝到各个worker节点

cd /opt

scp -r sparkhome root@node1:/opt

scp -r sparkhome root@node2:/opt

scp -r sparkhome root@node3:/opt

scp -r sparkhome root@Ubuntu-Kylin:/opt

将profile文件也拷贝到各个节点

scp /etc/profile root@node1:/etc/

scp /etc/profile root@node2:/etc/

scp /etc/profile root@node3:/etc/

scp /etc/profile root@Ubuntu-Kylin:/etc/

9.启动spark集群

cd $SPARK_HOME/sbin

./start-all.sh

查看进程是否启动,jps

测试webui

master:8080

运行测试程序

run-example SparkPi

10.客户端连接集群

bin/spark-shell --master spark://master:7077

客户端提交作业命令spark-submit,用法参见官网 http://spark.apache.org/docs/latest/submitting-applications.html




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值