sprak 环境搭建的坑

1,/etc/hosts下的ip master/slave 的对照

    /etc/sysconfig/network 配置:

     NETWORKING=yes
   HOSTNAME=master

    以及spark/conf/spark-env.sh 及 slave文件的相关配置

    如果不bind ip和master名字,那就直接--master spark://ip:port来指定master

 

2, 最大的坑是一定要scala一定要配置为2.10.版本,之前配置为2.11.各种出错,心累啊啊啊啊

3,IDEA上spark搭建,用于本地调试:http://zhidao.baidu.com/link?url=1BZPWt5SrrtN38El2gFoE0oam5Drk5uepCMna2RmKiiSK0o49z3WofU7o7hGMJoWzHfD36bfJsUXbyIi9Zu7TtsFY3O-XhADK-UWSBo60Ja

 

http://debugo.com/idea-spark/

4,至于其他的,看牛人博客 http://www.cnblogs.com/shishanyuan/p/4700615.html

5,其他坑:http://greemranqq.iteye.com/blog/2241277

6,spark学习干货:(坚持都看完)

理解RDD:http://itindex.net/detail/51871-spark-rdd-模型

pyspark : http://blog.jobbole.com/86232/  

            from pyspark import  SparkContext

 

 

  

 

转载于:https://www.cnblogs.com/fkissx/p/5418918.html

<think> 我们正在讨论大数据环境下数据仓库的搭建。根据之前的对话历史,用户已经得到了一个从0到1搭建数据仓库的系统化方案,包含六个阶段。现在用户明确表示想要获取关于“大数据数据仓库环境搭建方法”的详细信息,特别是环境搭建部分。 结合引用内容: - 引用[1]强调互联网领域的数据仓库建设需要结合新技术体系和业务场景灵活调整,快速响应需求[^1]。 - 引用[2]说明大数据领域数据仓库是集中式系统,集成异构数据源,支持复杂查询和分析[^2]。 - 引用[5]提到数据湖作为存储架构的一部分,并指出数据湖需要完善的数据治理工具[^5]。 用户的问题聚焦在“环境搭建”环节,因此我们需要重点展开第二阶段(环境搭建)的内容,同时关联其他阶段中与环境搭建相关的技术选型和架构设计。 具体回答策略: 1. 明确环境搭建在整体方案中的位置:它是架构设计后的实施第一步。 2. 分步骤详解搭建方法,结合开源栈(Hadoop生态)和云原生两种主流方案。 3. 强调大数据特性:分布式存储、计算引擎集成、容器化部署等。 4. 补充实际案例(如电商场景)增强实用性。 5. 添加避指南(如小文件问题、网络配置)作为经验补充。 特别注意引用标记: - 技术选型参考Kimball模型[^1][^3] - 数据分层概念引用经典定义[^2] - 容器化部署引用行业实践趋势[^4] </think> 以下基于大数据体系的数据仓库环境搭建方法,结合引用内容和行业实践,分步骤详细说明: ### 一、基础架构选型(核心决策) 1. **存储层选择** - **开源方案**:HDFS + Hive(低成本,适合私有化部署) ```bash # HDFS基础配置示例 hdfs-site.xml: <property> <name>dfs.replication</name> <value>3</value> # 数据副本数 </property> ``` - **云原生方案**:Amazon S3 + Redshift(弹性扩展,运维成本低)[^5] - **选型依据**:数据量级 > 10TB 时优先云方案;敏感数据需私有化部署[^1] 2. **计算引擎集成** | 场景 | 引擎选择 | 配置要点 | |------------|------------------|-----------------------------| | 离线批处理 | Spark on YARN | executor内存分配:$\text{总内存} \times 0.8$ | | 实时计算 | Flink + Kafka | checkpoint间隔 ≤ 1分钟 | | 交互查询 | Presto/Impala | 内存 > 128GB(TB级查询) | --- ### 二、容器化环境搭建(以Docker为例) 1. **Hadoop集群部署** ```bash # 部署NameNode(元数据管理) docker run -d --name namenode \ -p 9870:9870 -p 8020:8020 \ -v /data/hdfs/namenode:/hadoop/dfs/name \ apache/hadoop:3.3.4 hdfs namenode # 部署DataNode(数据存储) docker run -d --name datanode1 \ --link namenode \ -v /data/hdfs/datanode1:/hadoop/dfs/data \ apache/hadoop:3.3.4 hdfs datanode ``` 2. **数据同步组件配置** - **MySQL → HDFS同步**(使用DataX) ```json // job.json { "job": { "content": [{ "reader": { "name": "mysqlreader", "parameter": { "username": "etl_user", "password": "****", "connection": [{ "jdbcUrl": ["jdbc:mysql://master_db:3306/order_system"], "querySql": ["SELECT * FROM orders WHERE dt='${bizdate}'"] // 增量同步关键[^2] }] }}}]}} ``` --- ### 三、关键组件集成 1. **元数据管理** - 安装Apache Atlas捕获血缘关系 ```bash # Atlas集成Hive atlas-application.properties: atlas.hook.hive.synchronous=true atlas.hook.hive.numRetries=3 ``` 2. **调度系统** - DolphinScheduler配置Spark任务 ```shell # 任务节点定义 task_type="SPARK" spark_options="--executor-memory 4g --total-executor-cores 8" main_jar="hdfs:///jobs/etl_main.jar" ``` --- ### 四、大数据环境专项优化 1. **存储优化** - 分区策略:按日期分层分区 `dt=20240101/hour=08` - 小文件合并: ```sql ALTER TABLE dwd_orders CONCATENATE; -- Hive小文件合并 ``` 2. **计算加速** - **向量化引擎**:启用ORC+Tez ```sql SET hive.vectorized.execution.enabled=true; SET hive.execution.engine=tez; -- 查询速度提升3-5倍[^4] ``` 3. **资源隔离** ```mermaid graph LR YARN_Cluster-->|队列A| ETL_Job(离线ETL) YARN_Cluster-->|队列B| ADHOC_Query(即席查询) YARN_Cluster-->|队列C| RealTime_Stream(实时计算) ``` --- ### 五、避指南 1. **分区设计误区** - 错误示例:按用户ID分区(导致10万+小分区) - 正确做法:按时间+业务键组合分区(如 `dt/category_id`) 2. **资源死锁预防** - 设置Spark动态分配: ```ini spark.dynamicAllocation.enabled=true spark.shuffle.service.enabled=true # 避免Executor僵局[^1] ``` 3. **数据湖协同** - 原始数据存数据湖(S3/HDFS),加工后入数仓 - 使用Hive ACID保障数据一致性[^5]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值