Spark 分布式环境安装目前有四种模式:
1.Standalone:Spark 自带的简单群资源管理器,安装较为简单,不需要依赖 Hadoop;
2.Hadoop YARN:使用 YARN 作为集群资源管理,安装需要依赖 Hadoop;
4.Kubernetes:不常用。
本地学习测试我们常用 Standalone 模式,生产环境常使用 YARN 模式。
示例集群信息
节点名称 | 节点角色 |
---|---|
master | worker,master |
slave1 | worker |
slave2 | worker |
服务器 | SSH | 密码 | ip |
---|---|---|---|
master | ssh 172.18.0.2 | 123456 | 172.18.0.2 |
slave1 | ssh 172.18.0.3 | 123456 | 172.18.0.3 |
slave2 | ssh 172.18.0.4 | 123456 | 172.18.0.4 |
cd /home
wrapdocker
ulimit -f 1024000
docker load -i hbase-ssh2_v1.0.tar
docker-compose up -d # 启动失败则等一会,再次执行,直至成功
注意:请不要在各个虚拟服务器之间进行 ssh 登录,这种操作会导致无法保存配置数据。正确方法是:在虚拟服务器里执行 exit 后回到 evassh 服务器,再按上述方法登录各虚拟服务器。
配置免密登录
Hadoop 集群在启动脚本时,会去启动各个节点,此过程是通过 SSH 去连接的,为了避免启动过程输入密码,需要配置免密登录。
1、分别在 master、slave1、slave 生成密钥,命令如下:
2、 在 master 复制 master、slave1、slave2 的公钥。
cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
ssh root@slave1 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
ssh root@slave2 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
3、 分别在 slave1、slave2 复制 master 的 authorized_keys 文件。
到此,免密已经成功,可以在各个虚拟服务器之间进行 ssh 登录,而不需要输入密码了。
准备Spark安装包
把 evassh 服务器的 /usr/local 目录下的 spark 安装包通过 SCP 命令上传到 master 虚拟服务器的 /usr/local 目录下。
密码为:123456。
配置环境变量
我们将 Spark 的安装目录配置到 /etc/profile 中(在文件末尾添加)。
修改 spark–env.sh 配置文件
首先生成一份 spark-env.sh 文件(master节点):
切换目录到:/usr/local/spark-2.3.4-bin-hadoop2.7/conf
执行命令:mv spark-env.sh.template spark-env.sh
#指定JAVA安装路径/usr/lib/jvm/jdk1.8.0_111
export JAVA_HOME=java安装路径
#指定SCALA安装位置,非必须配置,可不指定
export SCALA_HOME=scala安装路径
#指定spark master webui 端口,默认是 8080,跟 tomcat 冲突
SPARK_MASTER_WEBUI_PORT=8888
#指定Master节点IP或映射地址
export SPARK_MASTER_IP=master节点IP或映射地址
修改 slaves 文件
切换到 Spark 的 conf 目录下, 执行命令: mv slaves.template slaves
修改 slaves 文件, 执行命令: vi slaves
在该文件中加入作为 worker 节点 ip 或映射主机名。
master
slave1
slave2
分发安装包
把 master 节点的 spark 安装包分发到 slave1 节点和 slave2 节点(通过 scp 命令)。
cd /usr/local
scp -r spark-2.3.4-bin-hadoop2.7/ root@slave1:/usr/local
scp -r spark-2.3.4-bin-hadoop2.7/ root@slave2:/usr/local
启动spark
切换到 master 节点安装目录的 /sbin 目录下 执行命令启动 Spark 集群:./start-all.sh
验证安装
master
worker
slave1 节点有以下进程:
slave2 节点有以下进程:
编程要求
测试说明
点击测评后,后台会通过curl http://172.18.0.2:8888/
命令获取页面,并取其中部分内容来判定你是否安装成功。
预期输出:
原文地址:https://blog.csdn.net/qq_58647543/article/details/134527550
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_8189.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!