Spark:0.9版本
集群配置
spark-env.sh
export JAVA_HOME=
export SPARK_MASTER_IP=
export SPARK_WORKER_CORES=
export SPARK_WORKER_INSTANCES=
export SPARK_WORKER_MEMORY= // Q1:这里的memory与SPARK_MEM有什么区别呢: 这里是说一个worker node上可以用多少内存,下面那个是说启动的Application可以用多少内存
export SPARK_MASTER_PORT=
export SPARK_JAVA_OPTS="-verbose:gc -XX:-PrintGCDetails -XX:+PrintGCTimeStamps” //最后的参数在新版本中已经修正删除
slaves
xx.xx.xx.2
xx.xx.xx.3
xx.xx.xx.4
xx.xx.xx.5
集群启动
.../sbin/start-all.sh
如果使用HDFS的话需要启动DFS即可
/xx/hadoop-xx.yy/bin/start-dfs.sh
附上几条dfs的命令
hadoop fs -tail /xxx/xx
hadoop fs -ls /xxx/xxx
shell运行
• MASTER=local[4] ADD_JARS=code.jar ./spark-shell //如果是集群运行最好Master的书写完整,如果是local运行,可以省略,则默认是本地一个线程执行。需要依赖的外部jar包,如果没有可以不写ADD_JARS
• MASTER=spark://host:port
• 指定executor内存:export SPARK_MEM=25g //这句话可以加在./spark-shell 这个文件中执行,就可以省略这一步了,根据源码显示,如果这里不指定的话,默认是512M
//控制台或者代码中指定,为第一优先级,其次是配置文件中的指定,最后就是默认的512M了
代码
第一部分使用来自sogou lab的数据集 http://www.sogou.com/labs/dl/q.html
数据格式为
访问时间\t用户ID\t[查询词]\t该URL在返回结果中的排名\t用户点击的顺序号\t用户点击的URL