spark环境搭建
3台服务区分别是
master 192.168.29.160
slave1 192.168.29.161
slave2 192.168.29.162
slave3 192.168.29.163
一般在有hadoop的节点上放一个spark
1、上传jar包并解压 tar -zxvf xxx.jar
2、配置 standalone 集群模式
2.1、拷贝conf文件夹下的文件slaves.template 为 slaves文件
2.2、在slaves文件文件中去掉localhost,然后写上其他节点的名字
slave1
slave2
slave3
>>目的是让master节点知道其他的从节点的位置(在hosts文件配置了别名和IP的对应关系)
3、进入conf文件夹复制spark-env.sh.temp文件到spark-env.sh
3.1、修改spark-env,把下面的内容添加到该文件的末尾
//java环境jdk的位置
>>export JAVA_HOME=/usr/java/jdk8
//spark集群中Master主机的ip
>>export SPARK_MASTER_IP=192.168.29.160
//master提交任务的端口,spark默认是7077
>>export SPARK_MASTER_PORT=7077
//这个Worker管理的Cpu和Core
>>export SPARK_WORKER_CORES=1
//在这个Worker上启动几个Worker进程
>>export SPARK_WORKER_INSTANCES=1
//一个worker节点可以使用的内存大小(我在vm里面,所以设置比较小)
>>export SPARK_WORKER_MEMORY=1g
3.2、把配置好的文件夹传到其他的节点
scp -r /root/soft/spark-1.6.1-bin-hadoop2.6 root@slave1:/root/soft/spark-1.6.1-bin-hadoop2.6
3.3、启动集群
进入/root/soft/spark-1.6.1-bin-hadoop2.6/(一定要进入到这个位置)
./sbin/start-all.sh
把这些配置完毕spark的配置工作就搞定了,为了验证集群确实起来了,在浏览器输入 http://master:8080/
如果看到了web界面说明集群配置完成
如果你没有配置免秘钥登录,则启动时需要输入密码,很麻烦下面介绍集群的免秘钥登录
1、进入到master的/root目录下
2、使用ls -a命令可以看到 .ssh隐藏目录
3、如果原来没有配置过就应该只有一个known_hosts文件
4、ssh-keygen -t rsa (生成秘钥使用的是rsa的方式)然后一路回车
5、执行完这个命令你会发现/root下多了两个文件
id_rsa
id_rsa.pub
其中id_rsa是master的私钥
id_rsa.pub是公钥,这个公钥后面要发送到slave节点
每当master需要登录slave时就把登录信息用私钥加密,然后slave再用公钥解密
如果可以解密slave就认为这个登陆者是master
6、此时需要把公钥拷贝到各个从节点上
ssh-copy-id slave1(这个也可以使用slave1的IP地址,当然拷贝到的时候需要输入密码)
然后去slave1的/root/.ssh下去看就可以发现多了authorized_keys这个文件
7、同样的把公钥copy到其他大的节点上
注意:这儿也要给master(自己当前的服务器)拷贝一份因为ssh登录时是远程登录,登录自己的机器时也是远程登录
8、验证 ssh slave1 你会看到不需要密码就登录到slave1上了