Tag: hadoop

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?

带有Docker的多节点Hadoop集群

我在基于Docker的环境中处于多节点Hadoop集群的规划阶段。 所以它应该基于一个轻量级易用的虚拟化系统。 当前体系结构(关于文档)包含1个主节点和3个从节点。 该主机使用HDFS文件系统和KVM进行虚拟化。 整个云由Cloudera Manager 。 这个群集上安装了几个Hadoop模块。 还有一个NodeJS数据上传服务。 这一次,我应该使架构的Docker基础。 我已经阅读了几个教程,并有一些意见,但也提出了一些问题。 答:您认为, https://github.com/Lewuathe/docker-hadoop-cluster是我的项目的良好基础? 我也发现了一个官方的形象 ,但它是单节点。 B.如果我想在一个容器中做这个,系统需求如何改变? 这将是很好的,因为这个架构应该在不同的位置工作,所以变化可以很容易地在这些位置之间转移。 这些所谓的克隆之间的同步将是重要的。 C.你有其他的想法,也许最好的做法?