diff --git a/chapter1/1.3Spark完全分布式环境搭建.md b/chapter1/1.3Spark完全分布式环境搭建.md index 7f026ed..52a162b 100644 --- a/chapter1/1.3Spark完全分布式环境搭建.md +++ b/chapter1/1.3Spark完全分布式环境搭建.md @@ -36,6 +36,9 @@ + + + ### 1.3.3 下载Spark安装包 到`Spark`官网:下载地址 下载 @@ -84,11 +87,88 @@ export SPARK_MASTER_IP=master节点IP ``` -### 1.3.7 修改 slaves 文件 +### 1.3.7 配置集群机器的免密登录 + +我们知道集群直接如果要能互相直接更方便通信,需要设置集群机器之间的免密登录,而要搭建一个完全分布式的环境也需要设置免密登录,而在Linux操作系统中免密登录一般使用的是SSH,所以接下来需要先完成免密登录的配置。 + +三台机器的IP与机器名分别为(IP和机器名以你的集群为主,这里的IP和机器名可以作为参考): + +``` +192.168.20.100 master +192.168.20.101 woker1 +192.168.20.102 woker2 +``` + + + + +**第一步:分别设置三台机器的Ip映射** + +修改 Hosts 文件 + +``` +vim /etc/hosts +添加 +192.168.20.100 master-node +192.168.20.101 slave1-node +192.168.20.102 slave2-node +``` + +**第二步: 配置SSH实现免密登录** + +`vim /etc/ssh/sshd_config` + +修改三台机器ssh配置 +``` +RSAAuthentication yes # 启用 RSA 认证 +PubkeyAuthentication yes # 启用公钥私钥配对认证方式 +AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同) +``` + +`service sshd restart` + +重启`ssh`。 + + + +生成从机的公钥 + +``` +四台机器上都执行 +ssh-keygen -t rsa -P "" +slave1上执行 +scp ~/.ssh/id_rsa.pub 192.168.20.100:~/.ssh/id_rsa.pub.s1 +slave2上执行 +scp ~/.ssh/id_rsa.pub 192.168.20.100:~/.ssh/id_rsa.pub.s2 +``` + + +主机上hadoop用户执行指令将从机公钥都追加到主机`authrized_keys`文件,然后将主机的`authrized_keys`文件拷贝至从机。 +``` +cd ~/.ssh +cat id_rsa.pub.s1 >> authorized_keys +cat id_rsa.pub.s2 >> authorized_keys +scp ~/.ssh/authorized_keys 192.168.20.101:~/.ssh +scp ~/.ssh/authorized_keys 192.168.20.102:~/.ssh +``` + +从机操作 + +`chmod 600 ~/.ssh/authorized_keys` + +**第三步:测试免密登录:** + +在命令行输入:`ssh 用户名@机器名` + + 如果互相能免密登录则表示配置ssh免密登录成功。 + + + +### 1.3.8 修改 slaves 文件 首先生成一份`slaves`文件 -切换到`conf`目录下: +切换到 Spark 的 `conf`目录下: 执行命令:`mv slaves.template slaves` 修改`slaves`文件: 执行命令:`vi slaves`,在该文件中加入作为`worker`节点`ip`或映射主机名。 @@ -99,15 +179,17 @@ worker1 worker2 ``` -### 1.3.8 分发安装包 + + +### 1.3.9 分发安装包 把master节点的`spark`安装包分发到`worker1`节点和`worker2`节点(可通过`linux`的`scp`命令)。 -### 1.3.9 启动spark +### 1.3.10 启动spark 切换到`master`节点安装目录的`/sbin`目录下 执行命令启动`Spark`集群:`./start-all.sh` -### 1.3.10 检查webUI界面 +### 1.3.11 检查webUI界面 启动完成后,在浏览器输入如下地址:`http://master地址:8888/`,可见如下页面。