Spark集群配置

来源:互联网 发布:zepto.js 点击事件 编辑:程序博客网 时间:2024/06/05 06:43

Spark配置

1.所需环境:

1.      Ubuntu

2.      Hadoop

3.      Scala                                        下载地址:http://www.scala-lang.org/download/2.10.4.html

4.      JDK

5.      ssh

2.前期准备工作

确保spark集群中所有机器能够互相访问,都在同一个网段内,直接修改六台机器的hosts文件

sudo gedit /etc/hosts


实际IP根据实际情况修改(第二列要与下面所述的slaves文件相同)

 

 

3.修改环境变量

修改环境变量打开终端输入命令sudo gedit /etc/profile   添加JDK,HADOOP,SCALA,SPARK环境变量进去

export JAVA_HOME=/usr/java/jdk

export HADOOP_HOME=/opt/Hadoop

export SPARK_HOME=/usr/spark

export SCALA_HOME=/usr/scala-2.11.4

export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

exportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/sbin:${SCALA_HOME}/bin:${SPARK_HOME}/bin:$PATH

 

为了能使虚机启动后环境变量就直接可用,我将jdk和hadoop直接配置到~/.bashrc文件中

export JAVA_HOME=/usr/java/jdk

export SCALA_HOME=/usr/scala-2.11.4

export SPARK_HOME=/usr/spark

export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

exportPATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:/usr/local/hadoop/hadoop-2.5.2/bin:$SCALA_HOME/bin:$SPARK_HOME/bin

 

4.安装和配置scala

先去scala和spark的官网下载scala-2.11.4.tgz、spark-1.2.0-bin-hadoop2.4.tgz

安装scala

创建目录

mkdir /usr/ scala-2.11.4

在新建的目录中解压scala

tar zxvf scala-2.11.4.tgz

将scala添加到环境变量中,

sudo gedit  ~/.bashrc

 

添加如下内容

export SCALA_HOME=/usr/scala-2.11.4

export PATH=$PATH:$SCALA_HOME/bin

使用source命令是~/.bashrc生效

source ~/.bashrc

 

测试scala是否安装成功

scala –version

如出现以下提示则便是安装成功

 

5.配置spark

5.1 安装spark

将下载好的spark-1.2.0-bin-hadoop2.4.tgz解压到/usr/spark文件夹中

在环境变量中添加spark路径

 

export SPARK_HOME=/usr /spark

export PATH=$PATH:$SCALA_HOME/bin:$SPARK_HOME/bin

 

如果要把jdk和hadoop也一起加入的话,那最后结果为

export JAVA_HOME=/usr/java/jdk

export SCALA_HOME=/usr/scala-2.11.4

export SPARK_HOME=/usr/spark

export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:/usr/local/hadoop/hadoop-2.5.2/bin:$SCALA_HOME/bin:$SPARK_HOME/bin

使用source命令使文件生效

source ~/.bashrc

 

5.2 配置spark

配置spark-en.sh文件

在spark安装目录下的conf文件夹下修改spark-env.sh文件(如果不存在此文件则复制同目录下的spark-env.sh.template文件并修改文件名称为spark-env.sh)

cd /usr/spark/conf

cp spark-env.sh.template spark-env.sh

修改此文件,在文件末尾添加以下内容

export JAVA_HOME=/usr/java/jdk                                                          

###java安装目录

export SCALA_HOME=/usr/scala-2.11.4                                               

###scala安装目录

export SPARK_MASTER_IP=192.168.52.128                                        

###集群中master机器IP

export SPARK_WORKER_MEMORY=2g                                                  

###指定的worker节点能够最大分配给Excutors的内存大小

export HADOOP_CONF_DIR=/opt/hadoop/etc/Hadoop

###hadoop集群的配置文件目录

 

配置slaves文件(如果没有复制slaves.template文件并修改文件名称为slaves)

将worker节点的全部添加进去(我的有6个节点)

master

slave1

slave2

slave3

slave4

slave5

保存退出,这样master中spark就安装完成了,所有slave节点和maser一样的设置

 

6.设置master对slave机器免密码SSH登录

6.1 SSH的安装

执行sudoapt-get install ssh命令等待SSH安装完成

6.2 生成公钥

在master机上执行命令

cd ~/.ssh

ssh-keygen –t rsa

因为要配置免密码登录,一直点回车就好


         执行cp~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

         执行完成后应该就能免密码登录本机了,输入

         sshlocalhost进行测试

         出现以下提示则表示成功

        

     6.3 把生成的公钥传到slave机中

scp~/.ssh/id_rsa.pub slave1:/root/.ssh/authorized_keys

         (我的ubuntu系统全部设置的root用户登录所以拷贝到/root/.ssh/authorized_keys下,如果是其他用户则相应修改为/home/用户名/.ssh/authorized_keys)

         输入slave1的root用户密码,点回车

        

         此时master机已经可以免密码登录slave1机器了

        

         (第一次登录会提示(yes/no)输入yes点回车即可)

         相同的方法把生成的公钥传到其他slave机器中

scp~/.ssh/id_rsa.pub slave2:/root/.ssh/authorized_keys

scp~/.ssh/id_rsa.pub slave3:/root/.ssh/authorized_keys

scp~/.ssh/id_rsa.pub slave4:/root/.ssh/authorized_keys

scp~/.ssh/id_rsa.pub slave5:/root/.ssh/authorized_keys

 

测试:

sshslave1

sshslave2

……

(测试完一台slave机器准备测试下一台时要用exit命令退出登录)

 

7.测试

在master机中执行

配置完成后即可启动spark集群了

首先CD至hadoop目录下的sbin文件夹中

cd /opt/hadoop/sbin

启动hdfs

./start-dfs.sh


其次CD至spark目录下的sbin文件夹中

cd /usr/spark/sbin

         启动spark集群

./start-all.sh

启动完成后可在浏览器内出入地址master8080进行查看worker状态

成功后页面会有6个workers的ID

 

master50070查看dfs状态

停止spark集群

8.其他注意问题(所遇错误)

 

8.1 设置SSH免密码登录slave机器的root用户是提示Permission denied, please try again.

说明是机器权限问题,在要登录的slave机器上执行vi /etc/ssh/sshd_config命令修改一下内容

UsePrivilegeSeparation no

PermitRootLogin yes

PermitEmptyPasswords no(如果前边有#则去掉)

重启SSH服务servicessh restart

 

8.2 启动spark集群后进web查看只有master节点或者缺少节点

 

考虑是不是某一台机器的hostname问题

在逐台机器上执行命令vi/etc/hostname命令查看机器的hostname,根据spark下conf文件夹下的slaves文件中的内容中修改为相应hostname,重启机器生效

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 人进监狱之前信用卡没还怎么办 荒野行动资源文件下载卡住了怎么办 荒野行动绑定的手机号停机了怎么办 不小心误点了爱奇艺扣款了怎么办 和别人吵架别人先骂你怎么办 自己人被带到了缅甸黑社会了怎么办 绝地求生忘记复制钥匙激活码怎么办 绝地求生买的钥匙激活码丢了怎么办 蓝河奶粉宝宝吃了不长肉怎么办 苹果ios版本太低激活不了怎么办 脸上被油烫伤了 起了水泡怎么办 皮肤被油烫伤起来个水泡怎么办 去泰国旅游没来得及兑换泰铢怎么办 游戏和安卓 不和 出现黑屏怎么办 邻居把垃圾放在楼梯口不丢怎么办 58热敏小票打印机口松了怎么办 王鹏的眼睛今天起疙瘩了怎么办 背包带子老从肩膀滑下来怎么办 绝地求生用手机流量更新不成怎么办 手机拍的视频在电脑上放不了怎么办 炉石传说手机点登陆游戏闪退怎么办 车到信号屏蔽区一键启动不了怎么办 王者荣耀战队活跃度满了怎么办 win10你的账户已被停用怎么办 电脑一键还原后一直黑屏怎么办? 被打了狂犬疫苗的狗咬伤怎么办 美版苹果7系统坏了怎么办 韩服的球球大作战网络不稳定怎么办 球球大作战号删了找不回来怎么办 队友传足球球的时候接不到怎么办 魅族手机中病毒锁机了怎么办? vbs打开是和文本文档一样怎么办 把电脑注册表删了电脑动不了怎么办 注册表删一项后电脑启动不了怎么办 解压过的过的软件安装包损坏怎么办 手机中病毒自动发短信扣费怎么办 苹果手机中的高德地图打不开怎么办 大晚上挂了别人的车怎么办 手机不兼容高版本微信怎么办 绝地求生右下角小地图变大了怎么办 杯孕当月做了C丁怎么办