Spark 1.4集群搭建(Hadoop2.6)

本文详细介绍在Ubuntu14.04环境下搭建Spark集群的过程,包括系统安装、网络配置、SSH免密码登录配置、JDK安装、Hadoop配置以及Spark安装与测试等关键步骤。

Spark集群搭建

百度文库链接:http://wenku.baidu.com/view/26ba843d941ea76e59fa040d

1安装系统

安装Ubuntu14.04 server版64位系统。

注意:主机名,即hostname分别为:master,worker1,worker2,worker3……,用户名都一样,例如ubuntu,密码为1,这样做的目的是,安装软件的时候可以复制,不用改很多配置文件。

注意过程:

地区为Asian,China.

网络自动配置。

用所有硬盘并设置LVM。

安装OpenSSH。

2配置网络

配置网络教程:

1.    编辑interfaces文件,该文件位于/etc/network/下,执行如下命令:

vim/etc/network/interfaces,回车,如图:


2.    添加:

#interfaces(5) file used by ifup(8) and ifdown(8)auto loiface lo inet loopback这以下的是为添加上去该文件上的内容:# The primary network interfaceauto eth0iface eth0 inetstaticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1


如图:

 

3.    
添加完毕后,保存退出,接下来就是配置DNS解析了,DNS解析文件再/etc/resolv.conf。执行:vim /etc/resolv.conf,如下图:

 

4.    再该文件下添加:

nameserver192.168.1.1

nameserver220.170.64.68

如图:

 

5.    改完上面,如果重启的话,还是会变为原来的样子,所以要让其永久改变,因此,执行: vim /etc/resolvconf/resolv.conf.d/base,如图:


6.    在里面添加

nameserver192.168.1.1nameserver 220.170.64.68


如图:

 

7.    然后保存退出,到这里基本就是完成了,然后如果还是不能连上网,要将/etc/NetworkManager/目录下的system-connections删除,或者移动到其他目录下。

8.    最后执行/etc/NetworkManager/就可以连上网了。

3配置SSH免密码登录

配置ssh


输入命令获取密钥



在/home/ubuntu下进入.ssh目录可以看到


(如果要产生known_hosts 只要ssh localhost 即可自动生成)


将公钥添加到authorized_keys里


进入到/etc/ssh/sshd_config里第三行和下一截图里显示的注释去掉使其有效




继续回到.ssh目录中


将id_dsa.pub复制到slave1,slave2中,然后在slave1,slave2中将master_dsa.pub加入到authorized_keys中

 

 

回到master中即可免密码登陆到slave1,slave2

(P.S:如果要相互通信,在slave1,slave2中做同样操作即可)

配置不用写IP登录

在linux下,要远程连接另外一台linux服务器,可以使用ssh,具体类似下面的命令:

$ ssh michael@192.168.0.222

但是,如果登陆linux服务器是每天的都要做的事情,那么这样每天输入用户名和IP地址是稍微有些麻烦的。使用下面的方法,你就可以避免这种麻烦。

在用户根目录下的.ssh文件内创建config文件,如下:

$ vi ~/.ssh/config

在其中以类似如下的格式输入要登陆的服务器的相关信息:

Host servername

User username

Hostname serverIP

其中的servername是服务器的别名,username是用户名,serverIP就是这台服务器的IP。比如最前面的那个登陆命令,就可以写成下面的形式:

Host ubuntu

User michael

Hostname 192.168.0.222

如果有多台服务器,可以空一行,然后以同样的格式写在这个文件中。

然后,你就可以直接使用类似下面的命令连接服务器了:

$ ssh ubuntu

4安装JDK

JDK安装

tar.gz为解压后就可使用的版本,这里我们将jdk-7u3-linux-i586.tar.gz解压到/usr/local/下。

1、解压

 解压到当前目录:$ tar -zxvf/opt/setup/jdk-7-ea-bin-b145-linux-i586-07_jun_2011.tar.gz

2、环境配置

$sudo vi/etc/profile

在末尾行添加

     #set java environment

     JAVA_HOME=/usr/local/jdk1.7.0

     CLASSPATH=.:$JAVA_HOME/lib.tools.jar

     PATH=$JAVA_HOME/bin:$PATH

     export JAVA_HOME CLASSPATH PATH

保存退出

$ source/etc/profile 使更改的配置立即生效

$ java-version 查看JDK版本信息,如果显示出1.7.0证明成功

使JDK在所有用户中使用

$ Vi/etc/profile.d/java.sh  新建一个java.sh执行文件,填入JDK相关环境配置信息,如下图:

$ chmod 755/etc/profile.d/java.sh  给java.sh分配权限

5安装Hadoop-2.6.0

将hadoop安装在 /home/Ubuntu/hadoop2.6

1、  修改/etc/profile


#Hadoop

 

export HADOOP_HOME=/home/ubuntu/hadoop-2.6.0

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/lib

export HADOOP_COMMON_HOME=$HADOOP_HOME

export HADOOP_HDFS_HOME=$HADOOP_HOME

export HDAOOP_MAPRED_HOME=$HADOOP_HOME

export HADOOP_YARN_HOME=$HADOOP_HOME

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"


2、  
修改/hadoop2.6/etc/hadoop/hadoop-env.sh


3、  
修改/hadoop2.6/etc/hadoop/yarn-env.sh


4、  
修改/hadoop2.6/etc/hadoop/core-site.xml


 

<configuration>

    <property>

        <name>hadoop.tmp.dir</name>

        <value>file:/home/ubuntu/hadoop-2.6.0/tmp</value>

        <description>Abase for other temporary directories.</description>

    </property>

    <property>

        <name>fs.default.name</name>

        <value>hdfs://master:9000</value>

    </property>

</configuration>


       1)fs.defaultFS是NameNode的URL。hdfs://主机名:端口/

2)hadoop.tmp.dir :Hadoop的默认临时路径,这个最好配置,如果在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。不过 如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令。

5、  
修改/hadoop2.6/etc/hadoop/hdfs-site.xml


<configuration>

<property>

    <name>dfs.namenode.name.dir</name>

    <value>file:/home/ubuntu/hadoop-2.6.0/tmp/dfs/name</value>

    <description>Path on the local filesystem where the NameNode stores the namespace and transactions logs persistently.</description>

</property>

 

<property>

    <name>dfs.datanode.data.dir</name>

    <value>file:/home/ubuntu/hadoop-2.6.0/tmp/dfs/data</value>

    <description>Comma separated list of paths on the local filesystem of a DataNode where it should store its blocks.</description>

</property>

 

 

<property>

    <name>dfs.namenode.rpc-address</name>

    <value>master:9001</value>

</property>

 

 

<property>

    <name>dfs.namenode.secondary.http-address</name>

    <value>master:50090</value>

</property>

 

<property>

    <name>dfs.replication</name>

    <value>2</value>

</property>

</configuration>


1) dfs.namenode.name.dir是NameNode持久存储名字空间及事务日志的本地文件系统路径。当这个值是一个逗号分割的目录列表时,nametable数据将会被复制到所有目录中做冗余备份。

2) dfs.datanode.data.dir是DataNode存放块数据的本地文件系统路径,逗号分割的列表。当这个值是逗号分割的目录列表时,数据将被存储在所有目录下,通常分布在不同设备上。

3)dfs.replication是数据需要备份的数量,默认是3,如果此数大于集群的机器数会出错。

注意:此处的name1、name2、data1、data2目录不能预先创建,hadoop格式化时会自动创建,如果预先创建反而会有问题。

6、  
修改/hadoop2.6/etc/hadoop/mapred-site.xml

 

<configuration>

<property>

    <name>mapreduce.framework.name</name>

    <value>yarn</value>

</property>

 

<property>

    <name>mapreduce.jobhistory.address</name>

    <value>master:10020</value>

</property>

<property>

    <name>mapreduce.jobhistory.webapp.address</name>

    <value>master:19888</value>

</property>

</configuration>


 

7、  修改/hadoop2.6/etc/hadoop/yarn-site.xml


<configuration>

        <!-- Site specific YARN configuration properties -->

<property>

    <name>yarn.nodemanager.aux-services</name>

    <value>mapreduce_shuffle</value>

    <description>Host or IP and port of JobTracker.</description>

</property>

 

<property>

    <name>yarn.resourcemanager.hostname</name>

    <value>master</value>

</property>

<property>

    <name>yarn.resourcemanager.address</name>

    <value>master:8032</value>

    </property>

<property>

    <name>yarn.resourcemanager.webapp.address</name>

    <value>master:8088</value>

</property>

</configuration>


格式化命令:bin/hadoop  namenode  -format

启动: sbin/start-dfs.sh

       sbin/start-yarn.sh

我们也可以通过网页来看是否正常安装与配置,地址如下:http://master:50070/

6安装Scala2.10.4

scala-2.10.4.tgz解压缩即可。我解压缩到目录/usr/local/scala,之后配置~/.bash_profile或/etc/profile环境变量。

 

#scala

exportSCALA_HOME=/usr/local/scala

exportPATH=$SCALA_HOME/bin:$PATH

 

使用source~/.bash_profile生效。

或source/etc/profile

验证scala安装是否成功:
输入scala –version

输出:

[root@master scala]# scala -version

Scala code runner version 2.10.4 -- Copyright 2002-2013, LAMP/EPFL

表示成功!

7安装Spark1.4.0

1、解压缩spark-1.4.0-bin-hadoop2.6.tgz到/home/ubuntu/spark目录,之后配置/etc/profle环境变量。

 

#spark

 

exportSPARK_HOME=/home/vm/tools/spark

 

exportPATH=$SPARK_HOME/bin:$PATH

 

2、修改$SPARK_HOME/conf/spark-env.sh

如果没有,则 cp spark-env.sh.template spark-env.sh

 

exportSPARK_HOME=/home/ubuntu/spark

 

exportSCALA_HOME=/home/ubuntu/scala

 

exportJAVA_HOME=/home/ubuntu/jdk

 

exportSPARK_MASTER_IP=192.168.100.130

 

exportSPARK_WORKER_MEMORY=2g

exportHADOOP_CONF_DIR=/usr/local/hadoop/hadoop-2.5.2/etc/hadoop

 

3、修改$SPARK_HOME/conf/spark-defaults.conf

 

spark.masterspark://192.168.100.130:7077

 

spark.serializerorg.apache.spark.serializer.KryoSerializer

 

修改$SPARK_HOME/conf/spark-defaults.conf

4、修改slaves文件,

[root@masterconf]# cat slaves

# ASpark Worker will be started on each of the machines listed below.

worker1

worker2

worker3

5、保存退出,这样master中spark就安装完成了,slave节点和maser一样的设置,用scp拷贝就行

测试:

启动spark

 

cd/home/vm/tools/spark/sbin

 

shstart-all.sh

 

测试Spark是否安装成功

 

cd$SPARK_HOME/bin/

 

./run-exampleSparkPi

 


在浏览器中打开地址http://192.168.100.130:8080可以查看spark集群和任务基本情况:

 


到bin里运行spark-shell



参考资料

1、Hadoop2.6.0 &Spark1.3.0分布式搭建

http://blog.sina.com.cn/s/blog_49cd89710102vc7r.html

 

2、Ubuntu14.04安装配置Hadoop2.6.0(完全分布式)与wordcount实例运行

http://www.linuxidc.com/Linux/2015-01/112029.htm

 

3、在Win7虚拟机下搭建Hadoop2.6.0+Spark1.4.0单机环境

http://www.linuxidc.com/Linux/2015-08/120945.htm

 

4、搭建hadoop/spark集群环境

http://www.open-open.com/lib/view/open1419490748562.html

 

5、SSH Automatic Login(免密码)

http://liluo.org/blog/2011/05/ssh-automatic-login/

 

6、Spark教程

http://book.51cto.com/art/201408/448456.htm

 

7、  jdk安装

http://blog.youkuaiyun.com/zhangxh1013/article/details/7320860

 

8、  Ubuntu14.04下如何配置固定IP

http://jingyan.baidu.com/article/e5c39bf5bbe0e739d7603396.html

Congratulations

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值