小编lea*_*man的帖子

Spark Standalone集群中的工作者,执行者和核心是什么?

我阅读了Cluster Mode Overview,但仍然无法理解Spark Standalone集群中的不同进程和并行性.

工作者是否是JVM进程?我跑了bin\start-slave.sh,发现它产生了工人,实际上是一个JVM.

根据上面的链接,执行程序是为运行任务的工作节点上的应用程序启动的进程.Executor也是一个JVM.

这些是我的问题:

  1. 执行者是每个应用程序.那么工人的角色是什么?它是否与执行人协调并将结果传达给司机?或者司机是否与执行人直接对话?如果是这样,那么工人的目的是什么呢?

  2. 如何控制应用程序的执行程序数量?3.可以在执行程序内并行执行任务吗?如果是这样,如何配置执行程序的线程数?

  3. 工作者,执行者和执行者核心(--total-executor-cores)之间的关系是什么?

  4. 每个节点拥有更多工人意味着什么?

更新

让我们举个例子来更好地理解.

示例1: 具有5个工作节点的独立群集(每个节点具有8个核心)当我使用默认设置启动应用程序时.

示例2 与示例1相同的集群配置,但我运行具有以下设置的应用程序--executor-cores 10 --total-executor-cores 10.

示例3 与示例1相同的集群配置,但我运行具有以下设置的应用程序--executor-cores 10 --total-executor-cores 50.

示例4 与示例1相同的集群配置,但我运行具有以下设置的应用程序--executor-cores 50 --total-executor-cores 50.

示例5 与示例1相同的集群配置,但我运行具有以下设置的应用程序--executor-cores 50 --total-executor-cores 10.

在每个例子中,有多少执行者?每个执行程序有多少个线程?多少个核心?如何根据申请决定执行人数.它总是与工人数量相同吗?

distributed-computing apache-spark

198
推荐指数
2
解决办法
7万
查看次数

CAP定理 - 可用性和分区容差

当我尝试理解CAP中的"可用性"(A)和"分区容差"(P)时,我发现很难理解各篇文章中的解释.

我觉得A和P可以在一起(我知道事实并非如此,这就是我无法理解的原因!).

用简单的术语解释,A和P是什么以及它们之间的区别?

database consistency nosql availability

171
推荐指数
5
解决办法
5万
查看次数

用于检查shell脚本是否正在运行的Linux命令

如果进程说aa.sh正在运行,那么找到的linux命令是什么?ps命令似乎不起作用,它不显示shell脚本名称.

请指教.

linux shell

26
推荐指数
5
解决办法
12万
查看次数

datanode,regionserver在Hbase-hadoop集成中的作用

根据我的理解,行被插入到HBase表中,并被存储为不同区域服务器中的区域.因此,区域服务器存储数据

类似地,就Hadoop而言,数据存储在hadoop集群中存在的数据节点中.

假设我在Hadoop 1.1.1之上配置了HBase 0.90.6,如​​下所示

2个节点 - 主站和从站

  1. 主节点充当,
    • Hadoop - Namenode,Secondary Namenode,作业跟踪器,数据节点,任务跟踪器
    • HBase - Master,RegionServer和zookeeper.
  2. 从节点充当,
    • Hadoop datanode和任务跟踪器
    • HBase区域服务器

根据我的陈述,如果表数据存储在区域服务器中; 那么数据节点和区域服务器的作用是什么?

hadoop hbase

18
推荐指数
1
解决办法
2万
查看次数

Blockchain和HyperLedger Fabric的区别

当我试图理解区块链技术时,我遇到了HyperLedger Fabric.根据文档,它是区块链技术的实现.

那是什么意思?块链只是一个概念和HyperLedger Fabric,这个概念的实现?

更新: 超级分层结构在哪里存储交易?我知道它是一个p2p体系结构,每个对等体都有一个事务副本,但通常这些事务是一个不断增长的集合.每个同行都有成长交易的副本吗?我还不清楚这一点.社区是否推荐任何数据库?

blockchain hyperledger-fabric

16
推荐指数
3
解决办法
4895
查看次数

Ubuntu 12.0.4上的CouchDB LTS:停止并重新启动

我正在根据特定要求评估CouchDB,我是CouchDB的新手.

我已经使用软件包安装安装了Couch DB,它已在安装时启动并收听端口5984.

现在我想停下来重启.我尝试了各种选择,但没有一个可行.

选项1

sudo服务couchdb停止(这根本不停止)

sudo netstat -lpn显示一个进程正在侦听5984

选项2

sudo -i -u couchdb /etc/init.d/couchdb start

这是提示我不知道的密码(ofcourse).

我知道在安装时会创建一个名为couchdb的新用户. 这个用户的默认密码是什么?

couchdb

11
推荐指数
3
解决办法
2万
查看次数

Hive由多个列聚集

据我所知,当hive表在一列上聚类时,它会执行该bulkted列的哈希函数,然后将该行数据放入其中一个桶中.并且每个桶都有一个文件,即如果有32个桶,则hdfs中有32个文件.

在多个列上进行聚簇是什么意思?例如,假设该表具有CLUSTERED BY(大陆,国家)INTO 32 BUCKETS.

如果有多个列,如何执行散列函数?

将生成多少个文件?这还是32吗?

hadoop hive buckets

8
推荐指数
1
解决办法
7368
查看次数

将数据从oracle移动到HDFS,处理并从HDFS移动到Teradata

我的要求是

  1. 将数据从Oracle移动到HDFS
  2. 处理HDFS上的数据
  3. 将处理后的数据移至Teradata.

还需要每15分钟进行一次整个处理.源数据的量可以接近50GB,并且处理的数据也可以是相同的.

在网上搜索了很多,我发现了

  1. ORAOOP将数据从Oracle移动到HDFS(使用shell脚本编写代码并安排它以所需的时间间隔运行).
  2. 通过Custom MapReduce或Hive或PIG进行大规模处理.
  3. SQOOP - 用于将数据从HDFS移动到Teradata的Teradata Connector(再次使用带有代码的shell脚本然后安排它).

这是一个正确的选择,这是否适用于所需的时间段(请注意,这不是每日批次左右)?

我发现的其他选项如下

  1. STORM(用于实时数据处理).但我无法找到开箱即用的oracle Spout或Teradata螺栓.
  2. 任何开源ETL工具,如Talend或Pentaho.

请分享您对这些选项的想法以及任何其他可能性.

oracle hadoop teradata apache-storm

7
推荐指数
1
解决办法
1万
查看次数

在Ubuntu 12.04.1 LTS上安装Oracle Database 11g Express Edition

我一直在努力在Ubuntu 12.04.1 LTS版本上安装Oracle 11g Express Edition.

我已按照以下步骤操作:

  1. 从Oracle 网站下载了11g快递版

  2. 在组dba下创建了一个新用户'oracle'.使用此步骤执行以下步骤.

  3. 解压缩oracle-xe-11.2.0-1.0.x86_64.rpm.zip,然后将rpm转换为Ubuntu包

    sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm
    
    Run Code Online (Sandbox Code Playgroud)
  4. 创建/sbin/chkconfig文件并添加此处指定的条目

  5. 创建/etc/sysctl.d/60-oracle.conf并添加了上面相同链接中指定的条目.

  6. 以下步骤:

    • ln -s /usr/bin/awk /bin/awk
    • mkdir /var/lock/subsys
    • touch /var/lock/subsys/listener
  7. sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb (步骤3中生成的.deb)

  8. sudo /etc/init.d/oracle-xe configure (保留默认值)

  9. ~/.bashrc文件中设置以下env变量

    export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
    export ORACLE_SID=XE
    export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
    export ORACLE_BASE=/u01/app/oracle
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
    export PATH=$ORACLE_HOME/bin:$PATH
    
    Run Code Online (Sandbox Code Playgroud)
  10. 以下步骤:

    chown -R oracle:dba /var/tmp/.oracle
    chmod -R 755 /var/tmp/.oracle
    chown -R oracle:dba /tmp/.oracle
    chmod -R 755 /tmp/.oracle
    
    Run Code Online (Sandbox Code Playgroud)
  11. sudo service oracle-xe start (我在这一步中没有看到任何问题) …

oracle installation ubuntu-12.04

5
推荐指数
1
解决办法
2万
查看次数

Hadoop Namenode元数据 - fsimage和编辑日志

我知道fsimage在启动时被加载到内存中,并且由于性能原因,任何进一步的事务都被添加到编辑日志而不是fsimage.

重新启动namenode时,内存中的fsimage将被刷新.为了提高效率,辅助名称节点会定期执行检查点来更新fsimage,以便更快地恢复名称节点恢复.这一切都很好.

但有一点我无法理解这一点,让我们说一个文件已经存在,关于这个文件的信息是在内存中的fsimage中.现在我将此文件移动到其他位置,该位置在编辑日志中更新.现在,当我尝试列出旧文件路径时,它会抱怨它不存在或者其他什么.

这是否意味着namenode也会查看编辑日志,这与内存中fsimage的目的相矛盾?或者它是如何知道文件位置已经改变的?

memory hadoop metadata

5
推荐指数
1
解决办法
2万
查看次数