我阅读了Cluster Mode Overview,但仍然无法理解Spark Standalone集群中的不同进程和并行性.
工作者是否是JVM进程?我跑了bin\start-slave.sh,发现它产生了工人,实际上是一个JVM.
根据上面的链接,执行程序是为运行任务的工作节点上的应用程序启动的进程.Executor也是一个JVM.
这些是我的问题:
执行者是每个应用程序.那么工人的角色是什么?它是否与执行人协调并将结果传达给司机?或者司机是否与执行人直接对话?如果是这样,那么工人的目的是什么呢?
如何控制应用程序的执行程序数量?3.可以在执行程序内并行执行任务吗?如果是这样,如何配置执行程序的线程数?
工作者,执行者和执行者核心(--total-executor-cores)之间的关系是什么?
每个节点拥有更多工人意味着什么?
更新
让我们举个例子来更好地理解.
示例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.
在每个例子中,有多少执行者?每个执行程序有多少个线程?多少个核心?如何根据申请决定执行人数.它总是与工人数量相同吗?
当我尝试理解CAP中的"可用性"(A)和"分区容差"(P)时,我发现很难理解各篇文章中的解释.
我觉得A和P可以在一起(我知道事实并非如此,这就是我无法理解的原因!).
用简单的术语解释,A和P是什么以及它们之间的区别?
如果进程说aa.sh正在运行,那么找到的linux命令是什么?ps命令似乎不起作用,它不显示shell脚本名称.
请指教.
根据我的理解,行被插入到HBase表中,并被存储为不同区域服务器中的区域.因此,区域服务器存储数据
类似地,就Hadoop而言,数据存储在hadoop集群中存在的数据节点中.
假设我在Hadoop 1.1.1之上配置了HBase 0.90.6,如下所示
2个节点 - 主站和从站
根据我的陈述,如果表数据存储在区域服务器中; 那么数据节点和区域服务器的作用是什么?
当我试图理解区块链技术时,我遇到了HyperLedger Fabric.根据文档,它是区块链技术的实现.
那是什么意思?块链只是一个概念和HyperLedger Fabric,这个概念的实现?
更新: 超级分层结构在哪里存储交易?我知道它是一个p2p体系结构,每个对等体都有一个事务副本,但通常这些事务是一个不断增长的集合.每个同行都有成长交易的副本吗?我还不清楚这一点.社区是否推荐任何数据库?
我正在根据特定要求评估CouchDB,我是CouchDB的新手.
我已经使用软件包安装安装了Couch DB,它已在安装时启动并收听端口5984.
现在我想停下来重启.我尝试了各种选择,但没有一个可行.
选项1
sudo服务couchdb停止(这根本不停止)
sudo netstat -lpn显示一个进程正在侦听5984
选项2
sudo -i -u couchdb /etc/init.d/couchdb start
这是提示我不知道的密码(ofcourse).
我知道在安装时会创建一个名为couchdb的新用户. 这个用户的默认密码是什么?
据我所知,当hive表在一列上聚类时,它会执行该bulkted列的哈希函数,然后将该行数据放入其中一个桶中.并且每个桶都有一个文件,即如果有32个桶,则hdfs中有32个文件.
在多个列上进行聚簇是什么意思?例如,假设该表具有CLUSTERED BY(大陆,国家)INTO 32 BUCKETS.
如果有多个列,如何执行散列函数?
将生成多少个文件?这还是32吗?
我的要求是
- 将数据从Oracle移动到HDFS
- 处理HDFS上的数据
- 将处理后的数据移至Teradata.
还需要每15分钟进行一次整个处理.源数据的量可以接近50GB,并且处理的数据也可以是相同的.
在网上搜索了很多,我发现了
- ORAOOP将数据从Oracle移动到HDFS(使用shell脚本编写代码并安排它以所需的时间间隔运行).
- 通过Custom MapReduce或Hive或PIG进行大规模处理.
- SQOOP - 用于将数据从HDFS移动到Teradata的Teradata Connector(再次使用带有代码的shell脚本然后安排它).
这是一个正确的选择,这是否适用于所需的时间段(请注意,这不是每日批次左右)?
我发现的其他选项如下
- STORM(用于实时数据处理).但我无法找到开箱即用的oracle Spout或Teradata螺栓.
- 任何开源ETL工具,如Talend或Pentaho.
请分享您对这些选项的想法以及任何其他可能性.
我一直在努力在Ubuntu 12.04.1 LTS版本上安装Oracle 11g Express Edition.
我已按照以下步骤操作:
从Oracle 网站下载了11g快递版
在组dba下创建了一个新用户'oracle'.使用此步骤执行以下步骤.
解压缩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)创建/sbin/chkconfig文件并添加此处指定的条目
创建/etc/sysctl.d/60-oracle.conf并添加了上面相同链接中指定的条目.
以下步骤:
ln -s /usr/bin/awk /bin/awkmkdir /var/lock/subsys touch /var/lock/subsys/listenersudo dpkg --install oracle-xe_11.2.0-2_amd64.deb (步骤3中生成的.deb)
sudo /etc/init.d/oracle-xe configure (保留默认值)
在~/.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)以下步骤:
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)sudo service oracle-xe start (我在这一步中没有看到任何问题) …
我知道fsimage在启动时被加载到内存中,并且由于性能原因,任何进一步的事务都被添加到编辑日志而不是fsimage.
重新启动namenode时,内存中的fsimage将被刷新.为了提高效率,辅助名称节点会定期执行检查点来更新fsimage,以便更快地恢复名称节点恢复.这一切都很好.
但有一点我无法理解这一点,让我们说一个文件已经存在,关于这个文件的信息是在内存中的fsimage中.现在我将此文件移动到其他位置,该位置在编辑日志中更新.现在,当我尝试列出旧文件路径时,它会抱怨它不存在或者其他什么.
这是否意味着namenode也会查看编辑日志,这与内存中fsimage的目的相矛盾?或者它是如何知道文件位置已经改变的?
hadoop ×4
oracle ×2
apache-spark ×1
apache-storm ×1
availability ×1
blockchain ×1
buckets ×1
consistency ×1
couchdb ×1
database ×1
hbase ×1
hive ×1
installation ×1
linux ×1
memory ×1
metadata ×1
nosql ×1
shell ×1
teradata ×1
ubuntu-12.04 ×1