Tag: hadoop

Hadoop集群分布在不同的子networking(Docker + Flannel)

我想在使用Docker的多裸机群集中安装Hadoop 2.3.0。 我有一个主容器和一个从容器(在第一个设置中)。 当Master和Slave容器在同一个主机(因此,相同的Flannel子网)时,Hadoop可以正常工作。 但是,如果主和从属于不同的裸机节点(因此,不同的绒布子网),它根本不起作用(我得到一个连接拒绝错误)。 这两个容器都可以ping通并相互通信,所以没有连接问题。 出于某种原因,hadoop似乎需要集群中的所有节点都在同一个子网中。 有没有办法避开这个? 谢谢

在Docker容器上使用Hadoop和Spark

我想为我的工作使用大数据分析。 我已经实现了所有在容器中创build容器的docker东西。 我是大数据新手,但是我已经知道在Hadoop上使用Hadoop for HDFS和使用Spark而不是MapReduce本身是网站和应用程序在速度问题上的最好方式(是吗?)。 这将在我的Docker容器上工作吗? 如果有人能够指引我学习更多东西,这将是非常有帮助的。

Cloudera Docker的图像…一切都出错了

我正在用El Capitan OS运行16 GB Macbook Pro。 我使用了安装cloudera docker镜像 docker pull cloudera/quickstart:latest docker run –privileged=true –hostname=quickstart.cloudera -t -i 9f3ab06c7554 /usr/bin/docker-quickstart 图像启动良好,我可以看到大多数服务启动 Started Hadoop historyserver: [ OK ] starting nodemanager, logging to /var/log/hadoop-yarn/yarn-yarn-nodemanager-quickstart.cloudera.out Started Hadoop nodemanager: [ OK ] starting resourcemanager, logging to /var/log/hadoop-yarn/yarn-yarn-resourcemanager-quickstart.cloudera.out Started Hadoop resourcemanager: [ OK ] starting master, logging to /var/log/hbase/hbase-hbase-master-quickstart.cloudera.out Started HBase […]

Docker容器中的Hadoop更快/值得吗?

我有一个基于Hadoop的环境。 我在这个系统中使用了Flume , Hue和Cassandra 。 现在Docker有一个很大的炒作,所以想研究一下Docker在这种情况下的优缺点。 我认为它应该更便携,但可以使用Cloudera Manager进行设置,只需点击几下鼠标即可。 这可能是更快或为什么值得吗? 有什么好处? 也许应该只有多节点Cassandra集群dockerized?

Hadoop“无法为您的平台加载本地Hadoop库”错误docker火花?

我正在使用docker-spark 。 启动spark-shell ,输出: 15/05/21 04:28:22 DEBUG NativeCodeLoader: Failed to load native-hadoop with error: java.lang.UnsatisfiedLinkError:no hadoop in java.library.path 15/05/21 04:28:22 DEBUG NativeCodeLoader: java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib 这个spark container的环境variables是: bash-4.1# export declare -x BOOTSTRAP="/etc/bootstrap.sh" declare -x HADOOP_COMMON_HOME="/usr/local/hadoop" declare -x HADOOP_CONF_DIR="/usr/local/hadoop/etc/hadoop" declare -x HADOOP_HDFS_HOME="/usr/local/hadoop" declare -x HADOOP_MAPRED_HOME="/usr/local/hadoop" declare -x HADOOP_PREFIX="/usr/local/hadoop" declare -x HADOOP_YARN_HOME="/usr/local/hadoop" declare -x HOME="/" declare -x HOSTNAME="sandbox" declare […]

牧场主模板 – Hadoop主机名中的非法字符

我们使用hadoop + yarn的rancher模板,但hadoop似乎无法处理使用容器名称作为主机名(例如, hadoop_namenode-primary_1 )。 Caused by: java.net.URISyntaxException: Illegal character in hostname at index 13: http://hadoop_datanode_1:50075/webhdfs/v1/skystore/tmp/devtest_onedir/2016_08_19_02_35_35_32f7/header.json?op=CREATE&user.name=hdfs&namenoderpcaddress=10.42.14.252:8020&overwrite=true 我做错了还是有一些解决方法? 正如我所看到的,问题是由于容器名称作为主机名造成的,而牧场主使用下划线创build容器。 不知道如何解决它,但…

在Cloudera Docker QuickStart上访问Hue

我已经使用docker根据这里给出的指示安装了cloudera快速入门。 https://blog.cloudera.com/blog/2015/12/docker-is-the-new-quickstart-option-for-apache-hadoop-and-cloudera/ docker run –privileged=true –hostname=quickstart.cloudera -p 7180 -p 8888 -t -i 9f3ab06c7554 /usr/bin/docker-quickstart 您可以看到我正在执行-p 7180和-p 8888端口映射。 当容器启动成功时。 我看到色调服务启动失败。 但我使用sudo service hue restart手动运行它,并显示确定。 现在我跑了 /home/cloudera/cloudera-manager –express –force 这个命令是成功的我有一个消息连接到CM使用http://cloudera.quickstart:7180 现在在我的主机上,我做了docker-machine env default ,我可以看到输出 export DOCKER_TLS_VERIFY="1" export DOCKER_HOST="tcp://192.168.99.100:2376" export DOCKER_CERT_PATH="/Users/abhishek.srivastava/.docker/machine/machines/default" export DOCKER_MACHINE_NAME="default" 现在在主机上的浏览器中,我做了 http://192.168.99.100:7180 http://192.168.99.100:8888 http://quickstart.cloudera:7180 http://quickstart.cloudera:8888 但一切都无法连接到任何页面。 所以即使在做端口转发之后……我无法从主机访问cloudera manager或HUE UI。 我正在使用OSX。 我也进入了virtualboxpipe理器用户界面,并select了默认的虚拟机。 我进入设置 – >networking – […]

在Docker容器上运行hadoop集群

我想运行一个多节点的hadoop集群,其中每个节点都位于不同主机上的docker容器中。 这个图像 – https://github.com/sequenceiq/hadoop-docker很好地启动hadoop在伪分布式模式,什么是最简单的方法来修改这个每个节点在一个单独的ec2主机不同的容器?

通过zeppelin从docker-hadoop-spark-workbench访问hdfs

我已经安装了https://github.com/big-data-europe/docker-hadoop-spark-workbench 然后用docker-compose up 。 我浏览了git自述文件中提到的各种URL,并且都显示出来了。 然后我开始了一个本地apache zeppelin: ./bin/zeppelin.sh start 在zeppelin解释器设置中,我已经导航,然后启动解释器并更新主站点以指向安装了docker的本地群集 主:从local[*]更新为spark://localhost:8080 然后我在笔记本上运行下面的代码: import org.apache.hadoop.fs.{FileSystem,Path} FileSystem.get( sc.hadoopConfiguration ).listStatus( new Path("hdfs:///")).foreach( x => println(x.getPath )) 我在zeppelin日志中得到这个exception: INFO [2017-12-15 18:06:35,704] ({pool-2-thread-2} Paragraph.java[jobRun]:362) – run paragraph 20171212-200101_1553252595 using null org.apache.zeppelin.interpreter.LazyOpenInterpreter@32d09a20 WARN [2017-12-15 18:07:37,717] ({pool-2-thread-2} NotebookServer.java[afterStatusChange]:2064) – Job 20171212-200101_1553252595 is finished, status: ERROR, exception: null, result: %text java.lang.NullPointerException at org.apache.zeppelin.spark.Utils.invokeMethod(Utils.java:38) […]

如何在没有DNS的情况下运行HDFS群集

我正在构build一个本地HDFS开发环境(实际上是hadoop + mesos + zk + kafka)来简化Spark作业的开发并促进本地集成testing。 所有其他组件工作正常,但我有问题与HDFS。 当数据节点尝试连接到名称节点时,我得到一个DisallowedDataNodeException : org.apache.hadoop.hdfs.server.protocol.DisallowedDatanodeException: Datanode denied communication with namenode 与同一问题相关的大多数问题都归结为名称节点上的数据节点的名称parsing,通过etc/hosts文件或通过使用dns静态。 docker的静态parsing不是一个选项,因为我不知道名称节点容器创build时的数据节点。 我想避免创build和维护额外的DNS服务。 理想情况下,我想用–link特性来连接所有的东西。 有没有一种方法来configurationHDFS,使它只使用IP地址工作? 我发现这个属性,并设置为false,但它并没有诀窍: dfs.namenode.datanode.registration.ip-hostname-check (默认值:true) 有没有办法让多节点本地HDFS群集只使用IP地址而不使用DNS?