编辑: 达达恰西瓜 | 2014-08-08 |
17 Spark Standalone su spark cd /opt/spark sbin/start-all.sh 启动Worker ./sbin/start-slave.sh spark://IP:PORT 或./bin/spark-class org.apache.spark.deploy.worker.Worker spark://IP:PORT 测试 提交Application: bin/spark-submit --class org.hansight.spark.examples.SogouQTotal --master spark://HDP125:7077 /opt/ex Spark 运维实战
18 Spark Standalone 基于文件系统的单点恢复 此模式下虽然可以恢复,但需要人工参与.因此,适合对高可用要求不高的场景,如果 离线分析. 当Master挂掉后,手工启动Master仍然能继续执行原来的任务.当然,也可以继续提交 任务. 主机规划 HDP125作为Master节点,其余主机作为Worker节点. 关闭iptables 关闭正在运行的iptbables防火墙: service iptables stop 关闭开机自动启动iptables: chkconfig iptables off 关闭SElinux 关闭自在运行的SElinux: setenforce
0 修改配置文件,关闭开机自己启动SElinux: vi /etc/selinux/config SELINUX=disabled 配置主机名和映射: 注意:主机名只能用英文字母、数字、 - .不能使用下划线 _ ,会出现问题. Spark 运维实战
19 Spark Standalone 映射 Spark通过主机名来进行互相访问,通过修改/etc/hosts文件可配置本地主机名映射关系, 在hosts文件中添加计算机的名称和IP的对应关系,如在本机中添加master的主机(假设IP为172.16.219.125),在末尾添加内容为: 172.16.219.125 HDP125 所有主机都在/etc/hosts添加: 172.16.219.125 HDP125 172.16.219.126 HDP126 172.16.219.127 HDP127 172.16.219.128 HDP128 修改主机名 修改/etc/sysconfig/network文件,将主机名改为master. HOSTNAME=master 操作系统启动的时候,会读取该文件并设置主机名.因此,修改后不会立即生效.只有 当系统重启后,主机名便会生效. 也需要运行如下命令设置主机名,无须重启: hostname master 在所有主机上执行上面两步,并把master替换成相应主机名. 用户: 在所有主机上添加用户: groupadd spark useradd spark -g spark SSH无密码登录 Master到Worker节点需要配置SSH无密码登录. 在Master生成公私钥对: Spark 运维实战
20 Spark Standalone su spark ssh-keygen -t dsa -P '
'
-f ~/.ssh/id_dsa 在其它主机上创建~/.ssh文件夹: su spark mkdir ~/.ssh chmod
700 ~/.ssh 把公钥~/.ssh/dsa.pub发送到其它主机: scp ~/.ssh/dsa.pub spark@HDPXXX:~/.ssh/id_dsa.pub 测试是否成功: ssh HDPxxx 安装Java的JDK 解压: tar -zxvf jdk-7u51-linux-x64.tar.gz -C /opt ln -s /opt/jdk1.7.0_51 /opt/jdk 配置环境变量: #JDK setting export JAVA_HOME=/opt/jdk export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jar export PATH=$JAVA_HOME/bin:$PATH 安装配置Spark 解压与权限 tar -zxvf spark-1.1.0-bin-2.4.0.2.1.4.0-632.tgz -C /opt ln -s /opt/spark-1.1.0-bin-2.4.0.2.1.4.0-632 /opt/spark chown -R spark:spark /opt/spark* Spark 运维实战
21 Spark Standalone 配置worker vi conf/slaves HDP125 HDP126 HDP127 注:每行一个Worker 配置spark-env.sh cp conf/spark-env.sh.template conf/spark-env.sh vi conf/spark-env.sh export JAVA_HOME=/opt/jdk export SPARK_MASTER_IP=ES122 export SPARK_DAEMON_JAVA_OPTS= -Dspark.deploy.recoveryMode=FILESYSTEM -Dspark.deploy.recoveryDirector 可以为Master和Worker的CPU核心和内存大小进行定制. SPARK_MASTER_IP:设置Master的IP SPARK_DAEMON_MEMORY:设置Master和Worker守护进程内存大小 SPARK_WORKER_CORES:设置Spark应用在Worker中可以使用的CPU核数 SPARK_WORKER_MEMORY:设置Spark应用在Worker中可以使用的内存总量 SPARK_MASTER_WEBUI_PORT:设置Master的Web UI端口 SPARK_WORKER_WEBUI_PORT:设置Worker的Web UI端口 更多配置参考:Spark Standalone配置属性 SPARK_DAEMON_JAVA_OPTS配置项: System property Meaning spark.deploy.recoveryMode 设成FILESYSTEM来开启单节点恢复模式 ,(默认 值:NONE) spark.deploy.recoveryDirectory Spark存储恢复状态的目录,Master能够访问 配置SPARK_HOME环境变量 vi /etc/profile Spark 运维实战