本教程将指导你通过以下两种模式安装和配置 CarbonData:
其次是 :
Hadoop HDFS 和 Yarn 需要安装和运行。
Spark 需要在所有的集群节点上安装并且运行。
CarbonData 用户需要有权限访问 HDFS.
编译 CarbonData 工程,并且从 ./assembly/target/scala-2.1x/carbondata_xxx.jar
路径获取 assembly jar。
将 ./assembly/target/scala-2.1x/carbondata_xxx.jar
文件复制到 $SPARK_HOME/carbonlib
目录。
注意: 如果 $SPARK_HOME
路径下不存在 carbonlib 文件夹,请事先创建它。
将 carbonlib 文件夹路径添加到 Spark classpath 中。 (编辑 $SPARK_HOME/conf/spark-env.sh
文件,然后修改 SPARK_CLASSPATH
属性,将 $SPARK_HOME/carbonlib/*
追加到现有值的后面)
从 CarbonData repository 复制 ./conf/carbon.properties.template
文件到 $SPARK_HOME/conf/
文件夹下面,并将它重命名为 carbon.properties
。
在集群上的所有节点重复执行步骤2到步骤5
在 Spark 集群的主节点的 $SPARK_HOME/conf/spark-defaults.conf
文件中配置下表提到的属性。
-Dcarbon.properties.filepath = $SPARK_HOME/conf/carbon.properties
-Dcarbon.properties.filepath = $SPARK_HOME/conf/carbon.properties
$SPARK_HOME/conf/carbon.properties
文件中:./spark-shell --master spark://HOSTNAME:PORT --total-executor-cores 2
--executor-memory 2G
注意: 确保您拥有相关的权限。
开始使用 CarbonData 请参见 : 快速开始, CarbonData 数据管理
本节将介绍如何在 Spark on YARN 模式的集群上安装和配置 CarbonData。
以下步骤仅针对于 Driver 程序所在的节点. (Driver 节点就是启动 SparkContext 的节点)
编译 CarbonData 工程,并且从 ./assembly/target/scala-2.1x/carbondata_xxx.jar
路径获取 assembly jar。最后将这个 jar 复制到 $SPARK_HOME/carbonlib
文件夹。
注意: 如果 $SPARK_HOME
路径下不存在 carbonlib 文件夹,请事先创建它。
从 CarbonData repository 复制 ./conf/carbon.properties.template
文件到 $SPARK_HOME/conf/
文件夹下面,并将它重命名为 carbon.properties
。
压缩 carbonlib 文件夹的内容到tar.gz
文件中,并将这个压缩文件移到 carbonlib 文件夹下面。
cd $SPARK_HOME
tar -zcvf carbondata.tar.gz carbonlib/
mv carbondata.tar.gz carbonlib/
$SPARK_HOME/conf/spark-defaults.conf
文件中配置下表提到的属性。$SPARK_HOME/conf/carbon.properties
$SPARK_HOME/carbonlib/carbondata.tar.gz
-Dcarbon.properties.filepath = carbon.properties
carbondata.tar.gz/carbonlib/*
$SPARK_HOME/carbonlib/*
-Dcarbon.properties.filepath = $SPARK_HOME/conf/carbon.properties
$SPARK_HOME/conf/carbon.properties
文件中: ./bin/spark-shell --master yarn-client --driver-memory 1g
--executor-cores 2 --executor-memory 2G
注意: 确保您拥有相关的权限。
开始使用 CarbonData 请参见: 快速开始, CarbonData 数据管理
a. cd $SPARK_HOME
b. 运行下面的命令来启动 CarbonData thrift server.
./bin/spark-submit
--class org.apache.carbondata.spark.thriftserver.CarbonThriftServer
$SPARK_HOME/carbonlib/$CARBON_ASSEMBLY_JAR <carbon_store_path>
$SPARK_HOME/carbonlib/
文件夹下面 CarbonData assembly jar 的文件名。hdfs://<host_name>:port/user/hive/warehouse/carbon.store
注意: 从 Spark 1.6 开始,默认情况下,Thrift 服务器是以多会话模式(multi-session mode)运行。这意味着每个 JDBC/ODBC 连接都拥有自己的 SQL 配置和临时函数注册信息。但是缓存表仍然可以共享。
如果你希望以单会话模式(single-session mode)运行 Thrift 服务器并共享所有 SQL 配置和临时函数注册信息,请将 spark.sql.hive.thriftServer.singleSession
属性设置成 true
。
你可以在 spark-defaults.conf
文件里面设置,也可以通过 --conf
传递给 spark-submit.sh
:
./bin/spark-submit
--conf spark.sql.hive.thriftServer.singleSession=true
--class org.apache.carbondata.spark.thriftserver.CarbonThriftServer
$SPARK_HOME/carbonlib/$CARBON_ASSEMBLY_JAR <carbon_store_path>
但是 在单会话模式下,如果一个用户从一个连接改变数据库,其他连接的数据库也会改变。
示例
./bin/spark-submit
--class org.apache.carbondata.spark.thriftserver.CarbonThriftServer
$SPARK_HOME/carbonlib
/carbondata_2.xx-x.x.x-SNAPSHOT-shade-hadoop2.7.2.jar
hdfs://<host_name>:port/user/hive/warehouse/carbon.store
./bin/spark-submit
--class org.apache.carbondata.spark.thriftserver.CarbonThriftServer
--num-executors 3 --driver-memory 20g --executor-memory 250g
--executor-cores 32
/srv/OSCON/BigData/HACluster/install/spark/sparkJdbc/lib
/carbondata_2.xx-x.x.x-SNAPSHOT-shade-hadoop2.7.2.jar
hdfs://<host_name>:port/user/hive/warehouse/carbon.store
cd $SPARK_HOME
./sbin/start-thriftserver.sh
./bin/beeline -u jdbc:hive2://<thriftserver_host>:port
Example
./bin/beeline -u jdbc:hive2://10.10.10.10:10000