IgniteRDD学习笔记(三)安装和部署

来源:互联网 发布:linux修改主机名命令 编辑:程序博客网 时间:2024/04/28 03:26

共享的部署意味着IgniteNodes独立于Spark程序和存储状态甚至sparkJob结束后。

集群部署:

IgniteNodes应该在每个Spark worker nodes里部署,

支持环境:


NameValue

JDK

Oracle JDK 7 and above

OS

Linux (any flavor),
Mac OSX (10.6 and up)
Windows (XP and up),
Windows Server (2008 and up)

Network

No restrictions (10G recommended)

Installation:

1):https://ignite.apache.org/ 下载ApacheIgnite的zip包;

2):解压到安装文件夹;

3):配置IGNITE_HOME 环境变量;

通过默认配置文件启动节点bin/ignite.sh,节点之间会自动发现彼此,ignite.sh启动通过默认配置文件config/default-config.xml. 

default-config.xml

<bean class="org.apache.ignite.configuration.IgniteConfiguration">  ...  <property name="discoverySpi">    <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">      <property name="ipFinder">        <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">          <property name="addresses">            <list>              <value>节点1IP:47500..47509</value>
<pre name="code" class="html"><span style="white-space:pre"></span>       <value>节点2IP:47500..47509</value>
<value>节点3IP:47500..47509</value>

<span style="white-space:pre"></span>...            </list>          </property>        </bean>      </property>    </bean>  </property></bean>


通过配置文件来启动节点

$ bin/ignite.sh examples/config/example-cache.xml


部署完毕后通过ignite.sh 脚本在每个sparkworker上启动每个node。

Spark动态类加载器没有实现getResource方法,所以无法访问外部jar.

Java日志记录器使用应用程序类装入器(不是上下文类加载器)加载日志处理程序,使用Java日志时导致ClassNotFoundException.

有一个方法可以解决这个问题(需要在spark所有节点配置,master,worker和driver nodes)

$SPARK_HOME/conf/spark-env.sh  若这个文件不存在,则用 $SPARK_HOMR/conf/spark-env.sh.template  创建一个。

在spark-env.sh最后加上下面的代码

# Optionally set IGNITE_HOME here.# IGNITE_HOME=/path/to/igniteIGNITE_LIBS="${IGNITE_HOME}/libs/*"for file in ${IGNITE_HOME}/libs/*do    if [ -d ${file} ] && [ "${file}" != "${IGNITE_HOME}"/libs/optional ]; then        IGNITE_LIBS=${IGNITE_LIBS}:${file}/*    fidoneexport SPARK_CLASSPATH=$IGNITE_LIBS

现在可以启动/bin/spark-shell输入下面的代码导入ignite包了:

scala> import org.apache.ignite.configuration._import org.apache.ignite.configuration._



0 0