CentOS 6.2(64位)下安装Spark0.8.0详细记录

系统:CentOS 6.2
 
操作账号:root
 
Spark版本:spark-0.8.0-incubating-bin-Hadoop1.tgz
 
jdk版本:jdk-7-linux-x64.rpm
 
scala版本:scala-2.9.3.tgz
 
使用的节点情况:(172.18.11.XX) XX=16,17,18,20,21,23,24,25,26,27,28,29,30,31,32,33,34 共17个节点
 
主控节点:hw024,以下操作如无特别说明全部在hw024上进行
 
注意:(1)因为我之前在24-28上安装过所有环境,所以以下for循环中没有这五个节点,但是如果要自行配置,需要在for循环中加入所有节点hostname
 
(2)注意,三台机器spark所在目录必须一致,因为master会登陆到worker上执行命令,master认为worker的spark路径与自己一样。

Spark简介及其在Ubuntu下的安装使用

安装Spark集群(在CentOS上)

Hadoop vs Spark性能对比

Spark安装与学习

Spark 并行计算模型
 
1. 配置各个节点无密码登陆
 
(a)在每个节点分别执行:
 
yum remove selinux* -y(预防ssh-keygen命令不成功)
 
ssh-keygen -t rsa(之后一路回车)
 
这将在/root/.ssh/目录下生成一个私钥id_rsa和一个公钥id_rsa.pub。
 
(b)将所有datanode节点的公钥id_rsa.pub传送到namenode上:
 
cp id_rsa.pub hw016.id_rsa.pub
 
scp hw016.id_rsa.pub "namenode节点ip地址":/root/.ssh
 
......
 
cp id_rsa.pub hw0XX.id_rsa.pub
 
scp hw0XX.id_rsa.pub namenode节点ip地址:/root/.ssh
 
(c)namenode节点上综合所有公钥(包括自身)并传送到所有节点上
 
cp id_rsa.pub authorized_keys 这是namenode自己的公钥
 
cat hw016.id_rsa.pub >> authorized_keys
 
......
 
cat hw0XX.id_rsa.pub >> authorized_keys
 
然后使用SSH协议将所有公钥信息authorized_keys复制到所有DataNode的.ssh目录下
 
scp authorized_keys “data节点ip地址”:/root/.ssh
 
这样配置过后,所有节点之间可以相互SSH无密码登陆,可以通过命令
 
“ssh 节点ip地址”来验证。
 
配置完毕,在namenode上执行“ssh 本机,所有数据节点”命令,因为ssh执行一次之后将不会再询问。
 
备注:用scp命令拷贝到所有节点时,可以放到脚本执行,脚本内容如下:
 
for dir in hw016 hw017 hw018 hw020 hw021 hw023 hw024 hw025 hw026 hw027 hw028 hw029 hw030 hw031 hw032 hw033 hw034
 
do
 
echo cping to $dir
 
scp -r authorized_keys root@$dir:/root/.ssh/
 
done
 


2. 修改hosts并拷贝到所有节点
 
hosts内容如下:
 
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
 
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
 
172.18.11.15 hw015
 
172.18.11.16 hw016
 
172.18.11.17 hw017
 
172.18.11.18 hw018
 
172.18.11.20 hw020
 
172.18.11.21 hw021
 
172.18.11.23 hw023
 
172.18.11.24 hw024
 
172.18.11.25 hw025
 
172.18.11.26 hw026
 
172.18.11.27 hw027
 
172.18.11.28 hw028
 
172.18.11.29 hw029
 
172.18.11.30 hw030
 
172.18.11.31 hw031
 
172.18.11.32 hw032
 
172.18.11.33 hw033
 
172.18.11.34 hw034
 
scp到所有节点的/etc/目录下
 
这一步是为了方便以后的操作,以后再拷贝其他文件,在脚本中就不用写ip。
 


3. 拷贝所有需要安装的包到各个节点的对应目录下
 
#!/bin/bash
 
for dir in hw016 hw017 hw018 hw020 hw021 hw023 hw029 hw030 hw031 hw032 hw033 hw034
 
do
 
echo cping to $dir
 
scp -r jdk-7-linux-x64.rpm root@$dir:/home/xxx
 
done
 


4. 分别登陆各个节点,安装jdk1.7
 
进入每个节点的/home/xxx,  执行命令:rpm -ivh jdk-7-linux-x64.rpm
 
其自动安装到/usr/Java/jdk1.7.0
 
5. 安装scala
 
解压scala-2.9.3.tgz到/home/xxx下,生成scala-2.9.3目录
 
拷贝scala-2.9.3到每个节点的/usr/lib下:
 
for dir in hw016 hw017 hw018 hw020 hw021 hw023 hw029 hw030 hw031 hw032 hw033 hw034
 
do
 
echo cping to $dir
 
scp -r scala-2.9.3 root@$dir:/usr/lib
 
done
 
6. 安装Spark
 
(1)解压 spark-0.8.0-incubating-bin-hadoop1.tgz 到每个节点的/home/xxx目录下
 
由于我们已经将解压好的spark目录拷贝到各个节点上(见步骤3),故这里略去。
 
(2)设置环境变量
 
我们会在后面统一设置环境变量。
 
(3)设置spark的配置文件
 
设置spark源码目录下的/conf/slaves文件如下:
 
hw016
 
hw017
 
hw018
 
hw020
 
hw021
 
hw023
 
hw025
 
hw026
 
hw027
 
hw028
 
hw029
 
hw030
 
hw031
 
hw032
 
hw033
 
hw034
 
设置spark-env.sh文件,添加一行内容:
 
export SCALA_HOME=/usr/lib/scala-2.9.3
 
保存退出
 
(4)拷贝配置好的spark源码到所有slaves节点上:
 
#!/bin/bash
 
#for dir in hw016 hw017 hw018 hw020 hw021 hw023 hw029 hw030 hw031 hw032 hw033 hw034
 
for dir in hw016 hw017 hw018 hw020 hw021 hw023 hw024 hw025 hw026 hw027 hw028 hw029 hw030 hw031 hw032 hw033 hw034
 
#for dir in hw025 hw026 hw027 hw028
 
do
 
echo cping to $dir
 
scp -r spark-0.8.0-incubating-bin-hadoop1 root@$dir:/home/xxx
 
done
 
保存退出,spark配置完成

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/40458cdc53d7da7d21a485952e3fb003.html