Hadoop

hadoop集群的规划和搭建

时光总嘲笑我的痴心妄想 提交于 2020-12-29 02:34:39
1.操作系统版本:CentOS 6 CM版本:CM5.x CDH版本:CDH5.x 2.安装操作系统,对系统盘做 RAID1; 配置静态IP、hostname信息:vim /etc/sysconfig/network-scripts/ifcfg-eth0 并配置所有节点的静态DNS解析: vim /etc/hosts 若启用集群的Kerberos认证功能,则一定要配置集群的DNS域名,可以是假域名:vim /etc/sysconfig/network, /etc/hosts处主机名也要加带域名的主机名,如: 192.168.0.3 sb-node1.example.com sb-node1 如果机器配置有双网卡,可以做双网卡绑定 关闭并禁用iptables: service iptables stop chkconfig iptables off 关闭SELinux echo "SELINUX=disabled" > /etc/sysconfig/selinux 重启网络服务 /etc/init.d/network restart 启用nscd(DNS缓存) yum install -y nscd service nscd start chkconfig nscd on 修改transparent_hugepage参数,这个参数默认值可能会导致CDH性能下降 #在/etc/rc

Hive: Sum over a specified group (HiveQL)

五迷三道 提交于 2020-12-28 07:45:40
问题 I have a table: key product_code cost 1 UK 20 1 US 10 1 EU 5 2 UK 3 2 EU 6 I would like to find the sum of all products for each group of "key" and append to each row. For example for key = 1, find the sum of costs of all products (20+10+5=35) and then append result to all rows which correspond to the key = 1. So end result: key product_code cost total_costs 1 UK 20 35 1 US 10 35 1 EU 5 35 2 UK 3 9 2 EU 6 9 I would prefer to do this without using a sub-join as this would be inefficient. My

[亲身实践]pyspark读取hive中的表的两种方式

☆樱花仙子☆ 提交于 2020-12-26 15:06:06
1.window上无法连接到hive,linux上能连接到hive(推荐 法二 ) 法一 (1)把/opt/soft/hive110/conf/hive-site.xml复制到/opt/soft/spark234/conf/hive-site.xml hive-site.xml不用改变任何东西 (2)把mysql的驱动包复制到/opt/soft/spark234/jar下面 (3)开始启动pyspark [root@joy sbin] # ./start-all.sh starting org . apache . spark . deploy . master . Master , logging to / opt / soft / spark234 / logs / spark - root - org . apache . spark . deploy . master . Master - 1 - joy . out localhost: starting org . apache . spark . deploy . worker . Worker , logging to / opt / soft / spark234 / logs / spark - root - org . apache . spark . deploy . worker . Worker - 1

ipython is not recognized as an internal or external command (pyspark)

删除回忆录丶 提交于 2020-12-26 07:44:47
问题 I have installed spark the release: spark-2.2.0-bin-hadoop2.7 . I'm using Windows 10 OS My java version 1.8.0_144 I have set my environment variables: SPARK_HOME D:\spark-2.2.0-bin-hadoop2.7 HADOOP_HOME D:\Hadoop ( where I put bin\winutils.exe ) PYSPARK_DRIVER_PYTHON ipython PYSPARK_DRIVER_PYTHON_OPTS notebook Path is D:\spark-2.2.0-bin-hadoop2.7\bin When I launch pyspark from command line I have this error: ipython is not recognized as an internal or external command I tried also to set

Spark-Streaming

China☆狼群 提交于 2020-12-26 04:29:34
监听文件流 创建文件 在log1.txt输入 A终端打开spark-shell,输入命令 此时监听端已打开 A终端创建新文件log2.txt I love Hadoop I love Spark Spark is slow A结果显示: spark监听套接字流 安装nc工具,并开启端口9999 nc -lk 9999 9999端口如果没打开tcp,需要使用farewall命令开启 编写监听程序 import org.apache.spark._ import org.apache.spark.streaming._ import org.apache.spark.storage.StorageLevel object NetworkWordCount { def main(args: Array[String]) { if (args.length < 2) { System.err.println("Usage: NetworkWordCount <hostname> <port>") System.exit(1) } StreamingExamples.setStreamingLogLevels() // Create the context with a 1 second batch size val sparkConf = new SparkConf()

Hive之执行计划分析(explain)

我只是一个虾纸丫 提交于 2020-12-25 20:04:32
Hive是通过把sql转换成对应mapreduce程序,然后提交到Hadoop上执行,查看具体的执行计划可以通过执行explain sql知晓 一条sql会被转化成由多个阶段组成的步骤,每个步骤有执行顺序和依赖关系,可以称之为有向无环图(DAG:Directed Acyclic Graph) 这些步骤可能包含:元数据的操作,文件系统的操作,map/reduce计算等 语法格式: EXPLAIN [EXTENDED|DEPENDENCY|AUTHORIZATION|LOCKS|VECTORIZATION] query explain输出内容包括: 抽象语法树 执行计划不同阶段的依赖关系 各个阶段的描述 extended输出更加详细的信息 denpendency输出依赖的数据源 authorization输出执行sql授权信息 locks 输出锁情况 vectorization相关 Adds detail to the EXPLAIN output showing why Map and Reduce work is not vectorized. Syntax: EXPLAIN VECTORIZATION [ONLY] [SUMMARY|OPERATOR|EXPRESSION|DETAIL] ONLY option suppresses most non-vectorization

bilibili大数据一面问题梳理

 ̄綄美尐妖づ 提交于 2020-12-25 14:27:28
Blibli一面 1:kfk 整体架构的三个概念(名词) 2:kfk broker里的名词 3:kfk 分区一个消费的慢,一个消费的快,这是什么原因,怎么分析呢 4:kfk的分区副本follower同步leader流程说明下 5:查看磁盘、网络IO,顺序读写、随机读写的方法 6:kfk 某主题10个分区,消费者组有11个消费者线程,那么第十一个线程会干什么 7:zero copy原理描述下 8:zero copy生效的场景是什么,kfk 生产进来一大批数据、今天不消费,明天消费,那么会用到zero copy吗 9:kfk map file的配置 10:kfk启动时加载的是什么文件 11:ISR列表缺失问题处理方法 12:内核级调优用过哪些? 13:hadoop HDFS 的组件罗列下 14:zkfc的作用 15:CAP理论描述下 16:journeyNode的作用 17:NN HA failOver流程概述下 18:HBASE、Kfk的CLOSE_WAIT现象有哪些 19:TCP、三次握手四次挥手 20:如何查看一个broker的流量数据流出?消费、生产端ip信息如何获取? 本文分享自微信公众号 - 小晨说数据(flink-spark)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。 来源:

Spark学习之Spark Streaming

淺唱寂寞╮ 提交于 2020-12-25 05:47:23
一、简介   许多应用需要即时处理收到的数据,例如用来实时追踪页面访问统计的应用、训练机器学习模型的应用,还有自动检测异常的应用。Spark Streaming 是 Spark 为这些应用而设计的模型。它允许用户使用一套和批处理非常接近的 API 来编写流式计算应用,这样就可以大量重用批处理应用的技术甚至代码。   和 Spark 基于 RDD 的概念很相似,Spark Streaming 使用离散化流(discretized stream)作为抽象表示,叫作 DStream。DStream 是随时间推移而收到的数据的序列。在内部,每个时间区间收到的数据都作为 RDD 存在,而 DStream 是由这些 RDD 所组成的序列(因此得名“离散化”)。DStream 可以从各种输入源创建,比如 Flume、Kafka 或者 HDFS。创建出来的 DStream 支持两种操作,一种是转化操作(transformation),会生成一个新的DStream,另一种是输出操作(output operation),可以把数据写入外部系统中。DStream提供了许多与 RDD 所支持的操作相类似的操作支持,还增加了与时间相关的新操作,比如滑动窗口。   和批处理程序不同,Spark Streaming 应用需要进行额外配置来保证 24/7 不间断工作。Spark Streaming 的检查点

YARN

旧时模样 提交于 2020-12-25 03:35:35
1. 什么是YARN Yet Another Resource Negotiator (另一种 资源 协调者),是一种新的Hadoop 资源 管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源 管理和调度 。 2. YARN架构 ResurceManager(RM) :一个纯粹的调度器,专门负责集群中可用资源的分配和管理。 Container :分配给具体应用的资源抽象表现形式,包括内存、cpu、disk NodeManager(NM) :负责节点本地资源的管理,包括启动应用程序的Container,监控它们的资源使用情况,并报告给RM App Master (ApplicationMaster(AM)) :特定框架库的一个实例,负责有RM协商资源,并和NM协调工作来执行和监控Container以及它们的资源消耗。AM也是以一个的Container身份运行。 客户端(Client) :是集群中一个能向RM提交应用的实例,并且指定了执行应用所需要的AM类型 3. 如何编写YARN应用程序 Client 初始化并启动一个YarnClient Configuration yarnConfig = new YarnConfiguration(getConf()); YarnClient client = YarnClient.createYarnClient(); client

大数据节点轮换

北城余情 提交于 2020-12-24 19:54:16
初始化脚本 curl -sL http://wuyou.run/scripts/system/centos7/init.sh | bash -s cdh-us-11 check项目 加入集群前检查: 时间,swap,内核参数是否修改 加入顺序:先 Add hosts to Cloudera Manager ,然后 Add hosts to cluster 磁盘 mkfs.ext4 /dev/sdb mkfs.ext4 /dev/sdc mkfs.ext4 /dev/sdd mkdir /mnt/{sdb,sdc,sdd}/ -p mount /dev/sdb /mnt/sdb mount /dev/sdc /mnt/sdc mount /dev/sdd /mnt/sdd echo never > /sys/kernel/mm/transparent_hugepage/defrag echo never > /sys/kernel/mm/transparent_hugepage/enabled mkdir /{sdb,sdc,sdd,sda4}/dfs/dn -p chown -R hdfs:hadoop {sdb,sdc,sdd,sda4}/ # 保存到 /etc/rc.local 坑 添加datanode节点不要修改默认目录方式,这样方式导致我原来的HDFS数据都不显示了