spark集群安装与启动
- 前提:hadoop集群已正常运行
- 安装scala,修改环境变量,用scala -version指令查看是否正确安装
- 下载对应hadoop版本和scala版本的spark压缩包,并解压至目录/usr/local/spark
配置spark
cd /usr/local/spark/conf cp spark-env.sh.template spark-env.sh vim spark-env.sh
修改以下几项内容
export JAVA_HOME=/usr/lib/java/jdk1.7.0_79
export SCALA_HOME=/usr/lib/scala/scala-2.11.7
export SPARK_MASTER_IP=master的ip地址
export SPARK_WORKER_MEMORY=4g #spark的工作内存,不能超过机身内存。同一集群中不同节点内存不一样,可以进行修改,如8g内存的就改为8g
export HADOOP_CONF_DIR=/usr/local/hadoop-1.2.1/conf #hadoop的配置文件所在文件夹
再修改slaves文件
vim slaves
内容修改为
#填所有的计算节点的主机名,一行一个
master
slave1
slave2
按上述配置每一台机器。
5. 启动和关闭spark
cd /usr/local/spark/sbin
./start-all.sh
./stop-all.sh
6. spark web监控地址为master:8080
执行spark作业代码
cd /usr/local/spark/bin
./spark-submit --master spark://114.213.234.152:7077 --class SparkPi HelloScala.jar 100
spark-sql配置
- 前提:hadoop集群的hive已正常运行。假设hive的metastore为远程mysql数据库
切换到hive的安装目录,启动metastore服务
./bin/hive --service metastore &
spark的conf文件夹下新建一个hive-site.xml,内容如下:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>hive.metastore.uris</name> <value>thrift://master的ip地址:9083</value> </property> </configuration>
4.启动spark-sql
cd /usr/local/spark ./bin/spark-sql --master spark://114.213.234.152:7077
现在spark-sql就可以操作hive的数据了。