在阿里云上搭建spark分布式环境。

参考资料:(我觉的参考资料比我的更重要,所以它在前面。)
http://www.mak-blog.com/spark-on-yarn-setup-multinode.html
张丹阳. 阿里云实现Spark的分布式计算
https://www.cnblogs.com/freeweb/p/5773619.html
三台EMC服务器,ubentu系统。下载一个putty,做远程连接。
第一步:修改/etc/hostname   master slave1 slave2
             修改/etc/hosts  格式:IP hostname
第二步:做ssh免密登陆。
# sudo apt-get install openssh-server
# sudo apt-get update
# ssh-keygen -t rsa -P ""   //提示选择目录时,按 Enter 键,那么 id_rsa 和 id_rsa.pub 会生成到 root/.ssh 目录下。在根目录下使用 ls -a 命令可以看到该目录。

在三台服务器上执行:cd root/.ssh,cat id_rsa.pub>>authorized_keys,将 id_rsa.pub 追加到 authorized_keys。
将 slave1 和 slave2 的 id_rsa.pub 拷贝到 master(传输文件可用 scp),并将其内容追加到 master 的 root/.ssh/authorized_keys 中。同理,处理另外俩个机子。
可以通过阿里云的EMC控制台,执行上面的操作,很方便。也可以自己粘贴复制 id_rsa.pub到 authorized_keys
ssh master 
ssh slave1
ssh slave2
验证成功,是不需要输入密码的。如果不成功,可能是.ssh文件夹和authorized_keys的权限问题。
chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys
第三步:安装jdk和Scala
这里尽量避免使用apt-get install的命令安装。因为如果这样,JAVA_HOME和JRE_HOME,配置起来比较麻烦。
可以看我的这篇文档:http://blog.csdn.net/qq_36801710/article/details/79306319
wget url
安装jdk:
# cd /usr/local/java
#
sudo tar xzvf jdk-8u77-linux-x64.tar.gz
在/etc/profile 或者/~/bash.bashrc,配置jdk的环境变量。
export JAVA_HOME=/usr/local/java/jdk1.8.0_77
export JRE_HOME
=/usr/local/java/jdk1.8.0_77/jre
export CLASSPATH
=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH
=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
export JDK_HOME
=/usr/local/java/jdk1.8.0_77
安装scala:

# tar xvzf scala-2.11.8.tgz
# ln -s scala-2.11.8 scala
配置Scala的环境变量。
export SCALA_HOME=/usr/local/scala
export PATH=$PATH:$SCALA_HOME/bin
最后,修改了的配置文件,source filename ,保存一下。
第四步:安装spark
下载,解压。
在配置文件中配置:
export SPARK_HOME=/usr/local/spark
export PATH
=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
对spark中的文件进行配置:
/usr/local/spark/conf/中:
# mv spark-env.template spark-env.sh
#
mv log4j.properties.template log4j.properties
#
mv slaves.template slaves
打开spark-env.sh,这是spark的环境配置文件,里面加上Java和Scala的地址。
SCALA_HOME=/usr/local/scala
export JAVA_HOME=/usr/local/java
修改slaves:
slave1
slave2
可以修改日志的级别:
修改 spark/conf/log4j.properties,把 log4j.rootCategory=INFO,console 改为 log4j.rootCategory=WARN,console
然后发送Spark到集群其他节点
scp -r spark/ slave1:/bigdata/
scp -r spark/ slave2:/bigdata/

启动spark集群:
start-all.sh
输入 # jps 命令看 master 下是否出现 master 和 worker,在 slave 节点下是否出现 worker,出现则说明 Spark 集群启动成功。

总结:Hadoop,spark的存储是用的是HDFS,需要Hadoop,集群的资源管理可以通过yarn管理,master的调控通过zookeeper。所以这次的分布式是不完整的。有时间,我把Hadoop的环境的搭建也记录一下。
参考文档:
http://blog.csdn.net/ttomchy/article/details/52305134


©️2020 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值