我已根据此处给出的说明使用docker安装了cloudera quickstart.
docker run --privileged=true --hostname=quickstart.cloudera -p 7180 -p 8888 -t -i 9f3ab06c7554 /usr/bin/docker-quickstart
Run Code Online (Sandbox Code Playgroud)
你可以看到我正在做-p 7180和-p 8888端口映射.
当容器成功启动时.我看到色调服务启动失败了.但我手动运行它sudo service hue restart,它显示确定.
现在我跑了
/home/cloudera/cloudera-manager --express --force
Run Code Online (Sandbox Code Playgroud)
这个命令成功我收到了一条消息,使用http://cloudera.quickstart:7180连接到CM
现在在我的主机上我做了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"
Run Code Online (Sandbox Code Playgroud)
现在我在主机上的浏览器中做了
http://192.168.99.100:7180
http://192.168.99.100:8888
http://quickstart.cloudera:7180
http://quickstart.cloudera:8888
Run Code Online (Sandbox Code Playgroud)
但一切都无法连接到任何页面.所以即使在进行端口转发之后......我也无法从主机访问cloudera管理器或HUE UI.
我正在使用OSX.
我还进入了虚拟机管理器UI并选择了默认的VM.我进入设置 - >网络 - >端口转发.并做了以下条目
但我仍然无法访问cloudera经理和HUE ....
我一直在玩Cloudera,我在开始工作之前定义了簇的数量,然后使用cloudera管理器确保一切都在运行.
我正在开发一个新项目,而不是使用hadoop使用消息队列来分配工作,但工作结果存储在HBase中.我可能会启动10个服务器来处理作业并存储到Hbase但是我想知道我以后是否决定添加更多的工作节点我可以轻松(读取:可编程)使它们自动连接到正在运行的集群,以便它们可以在本地添加集群HBase/HDFS?
这有可能吗?为了做到这一点,我需要学习什么?
我正在尝试在Cloudera的hadoop发行版上运行rhadoop(我不记得它的CDH3或4),并且遇到了一个问题:Rstudio服务器似乎无法识别我的全局变量.
在我的/etc/profile.d/r.sh文件中,我有:
export HADOOP_HOME=/usr/lib/hadoop
export HADOOP_CONF=/usr/hadoop/conf
export HADOOP_CMD=/usr/bin/hadoop
export HADOOP_STREAMING=/usr/lib/hadoop-mapreduce/
Run Code Online (Sandbox Code Playgroud)
当我从终端运行R时,我得到:
> Sys.getenv("HADOOP_CMD")
[1] "usr/bin/hadoop"
Run Code Online (Sandbox Code Playgroud)
但是当我运行Rstudio服务器时:
> Sys.getenv("HADOOP_CMD")
[1] ""
Run Code Online (Sandbox Code Playgroud)
结果,当我尝试运行rhdfs时:
> library("rJava", lib.loc="/home/cloudera/R/x86_64-redhat-linux-gnu-library/2.15")
> library("rhdfs", lib.loc="/home/cloudera/R/x86_64-redhat-linux-gnu-library/2.15")
Error : .onLoad failed in loadNamespace() for 'rhdfs', details:
call: fun(libname, pkgname)
error: Environment variable HADOOP_CMD must be set before loading package rhdfs
Error: package/namespace load failed for 'rhdfs'
Run Code Online (Sandbox Code Playgroud)
有没有人知道我应该把我的环境变量放在那个特定的r.sh文件中?
谢谢!
我在我正在玩的VM机器上使用Cloudera.不幸的是我在将数据复制到HDFS时遇到问题,我得到以下信息:
[cloudera@localhost ~]$ hadoop fs -mkdir input
mkdir: Permission denied: user=cloudera, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x
Run Code Online (Sandbox Code Playgroud)
我不太关心这个VM的安全性,无论如何我可以在HDFS上打开更多的安全性吗?
我正在使用Hadoop-2.4.0,我的系统配置是24核,96 GB RAM.
我正在使用以下配置
mapreduce.map.cpu.vcores=1
yarn.nodemanager.resource.cpu-vcores=10
yarn.scheduler.minimum-allocation-vcores=1
yarn.scheduler.maximum-allocation-vcores=4
yarn.app.mapreduce.am.resource.cpu-vcores=1
yarn.nodemanager.resource.memory-mb=88064
mapreduce.map.memory.mb=3072
mapreduce.map.java.opts=-Xmx2048m
Run Code Online (Sandbox Code Playgroud)
容量调度程序配置
queue.default.capacity=50
queue.default.maximum_capacity=100
yarn.scheduler.capacity.root.default.user-limit-factor=2
Run Code Online (Sandbox Code Playgroud)
有了上述配置,我预计每个节点纱线不会超过10个映射器,但它每个节点启动28个映射器.难道我做错了什么??
我在Spark中有一个简单的程序:
/* SimpleApp.scala */
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
object SimpleApp {
def main(args: Array[String]) {
val conf = new SparkConf().setMaster("spark://10.250.7.117:7077").setAppName("Simple Application").set("spark.cores.max","2")
val sc = new SparkContext(conf)
val ratingsFile = sc.textFile("hdfs://hostname:8020/user/hdfs/mydata/movieLens/ds_small/ratings.csv")
//first get the first 10 records
println("Getting the first 10 records: ")
ratingsFile.take(10)
//get the number of records in the movie ratings file
println("The number of records in the movie list are : ")
ratingsFile.count()
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试从spark-shell运行此程序时,即我登录到名称节点(Cloudera安装)并在spark-shell上顺序运行命令:
val ratingsFile = sc.textFile("hdfs://hostname:8020/user/hdfs/mydata/movieLens/ds_small/ratings.csv")
println("Getting the first 10 records: ") …Run Code Online (Sandbox Code Playgroud) 我从这里开始遵循安装过程,当我到达Inspect Role Assignments阶段时,我只看到一个托管主机:localhost.localdomain.
任何后续添加其他主机的尝试都会产生相同的结果:
我错过了什么?
更新:我不想回答我自己的问题所以我在这里写答案.
解决方案是如此明显,以至于我没有看到它并且在相当一段时间内没有解决问题,直到它在做一些检查时遇到了我.
将hostname在安装时提供被设置在/etc/hosts了IP 127.0.0.1和localhost.localdomain女巫被误导了Cloudera的设置和基本的所有主机具有相同的IP和主机名.
我已经重做了设置,hostname.domain.local现在hosts文件功能是一个单独的行,具有特定的IP和主机名,并且/etc/resolv.conf文件与行一致search domain.local.
即使您在这种不愉快的经历之后,我认为安装文档应该包含这些小细节,但是,这就像说明显的那样.
有没有人尝试/成功在没有Cloudera的情况下在Hadoop上安装Hue?
我已经到了能够可靠地重现带有hbase和hive的hadoop集群的地步,并且可以在大约15分钟内完成所有设置.我很想拥有Hue以及所有这一切,而无需返回并重新设置Cloudera.
我正在Cloudera集群上以YARN客户端模式启动分布式Spark应用程序.过了一段时间,我在Cloudera Manager上看到了一些错误.一些执行器断开连接,系统地发生这种情况.我想调试该问题,但YARN没有报告内部异常.
Exception from container-launch with container ID: container_1417503665765_0193_01_000003 and exit code: 1
ExitCodeException exitCode=1:
at org.apache.hadoop.util.Shell.runCommand(Shell.java:538)
at org.apache.hadoop.util.Shell.run(Shell.java:455)
at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:702)
at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:196)
at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:299)
at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:81)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud)
如何查看异常的堆栈跟踪?似乎YARN仅报告应用程序异常退出.有没有办法在YARN配置中查看spark executor日志?
我可以让Phoenix在独立的Apache Hbase上工作
(注意,这一切都适用于RHEL6.5上的Hbase 1.0.0)
对于Hbase的Cloudera风味,但是如果没有它抛出异常,我永远不会让它工作.(甚至尝试过RHEL7 minimal as as OS)
对于Hbase 1.0,Phoenix 4.4也会发生同样的事情.
hbase(main):001:0> version
1.0.0-cdh5.4.4, rUnknown, Mon Jul 6 16:59:55 PDT 2015
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪:
[ec2-user@ip-172-31-60-109 phoenix-4.5.0-HBase-1.0-bin]$ bin/sqlline.py localhost:2181:/hbase
Setting property: [isolation, TRANSACTION_READ_COMMITTED]
issuing: !connect jdbc:phoenix:localhost:2181:/hbase none none org.apache.phoenix.jdbc.PhoenixDriver
Connecting to jdbc:phoenix:localhost:2181:/hbase
15/08/06 03:10:25 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
15/08/06 03:10:26 WARN impl.MetricsConfig: Cannot locate configuration: tried hadoop-metrics2-phoenix.properties,hadoop-metrics2.properties
15/08/06 03:10:27 WARN ipc.CoprocessorRpcChannel: Call failed on IOException
org.apache.hadoop.hbase.DoNotRetryIOException: org.apache.hadoop.hbase.DoNotRetryIOException: SYSTEM.CATALOG: org.apache.hadoop.hbase.client.Scan.setRaw(Z)Lorg/apache/hadoop/hbase/client/Scan;
at …Run Code Online (Sandbox Code Playgroud)