cdapio / cdap-operator Goto Github PK
View Code? Open in Web Editor NEWCDAP Kubernetes Operator
Home Page: https://docs.cdap.io
License: Other
CDAP Kubernetes Operator
Home Page: https://docs.cdap.io
License: Other
Dear CDAP Team,
I'm running HDP cluster locally:
[root@gltest001-mgt-01 samples]# hadoop fs -ls hdfs://reflex-platform-gltest001/
Found 10 items
drwxrwxrwx - yarn hadoop 0 2019-06-11 09:47 hdfs://reflex-platform-gltest001/app-logs
drwxr-xr-x - hdfs hdfs 0 2019-06-11 09:48 hdfs://reflex-platform-gltest001/apps
drwxr-xr-x - yarn hadoop 0 2019-06-11 09:47 hdfs://reflex-platform-gltest001/ats
drwxr-xr-x - hdfs hdfs 0 2019-06-11 09:47 hdfs://reflex-platform-gltest001/hdp
drwxr-xr-x - mapred hdfs 0 2019-06-11 09:47 hdfs://reflex-platform-gltest001/mapred
drwxrwxrwx - mapred hadoop 0 2019-06-11 09:48 hdfs://reflex-platform-gltest001/mr-history
drwxr-xr-x - hdfs hdfs 0 2019-06-11 09:47 hdfs://reflex-platform-gltest001/ranger
drwxrwxrwx - spark hadoop 0 2019-06-13 07:19 hdfs://reflex-platform-gltest001/spark2-history
drwxrwxrwx - hdfs hdfs 0 2019-06-11 09:48 hdfs://reflex-platform-gltest001/tmp
drwxr-xr-x - hdfs hdfs 0 2019-06-11 09:49 hdfs://reflex-platform-gltest001/user
[root@gltest001-mgt-01 samples]#
Now when i deploy cdap_v1alpha1_cdapmaster.yaml, i'm getting ava.net.UnknownHostException: reflex-platform-gltest001.
2019-06-13 07:13:41,322 - INFO [main:i.c.c.s.d.s.j.DataSourceProvider@155] - Successfully loaded org.postgresql.Driver from /opt/cdap/master/ext/jdbc
2019-06-13 07:13:41,328 - INFO [main:i.c.c.s.d.s.j.DataSourceProvider@93] - Creating the DataSource with jdbc url: jdbc:postgresql://gltest001-mgt-01.gvs.ggn/postgres?user=postgres&password=postgres
2019-06-13 07:13:41,436 - ERROR [main:o.a.h.f.FileContext@469] - java.net.UnknownHostException: reflex-platform-gltest001
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at io.cdap.cdap.master.environment.k8s.AbstractServiceMain.main(AbstractServiceMain.java:114)
at io.cdap.cdap.master.environment.k8s.AppFabricServiceMain.main(AppFabricServiceMain.java:77)
Caused by: com.google.inject.ProvisionException: Unable to provision, see the following errors:
1) Error in custom provider, java.lang.RuntimeException: java.net.UnknownHostException: reflex-platform-gltest001
while locating io.cdap.cdap.common.guice.FileContextProvider
at io.cdap.cdap.common.guice.DFSLocationModule.configure(DFSLocationModule.java:44)
while locating org.apache.hadoop.fs.FileContext
while locating io.cdap.cdap.common.guice.DFSLocationModule$LocationFactoryProvider
at io.cdap.cdap.common.guice.DFSLocationModule.configure(DFSLocationModule.java:45)
while locating org.apache.twill.filesystem.LocationFactory
for parameter 2 at io.cdap.cdap.data2.datafabric.dataset.service.executor.DatasetAdminService.<init>(DatasetAdminService.java:69)
while locating io.cdap.cdap.data2.datafabric.dataset.service.executor.DatasetAdminService
for parameter 0 at io.cdap.cdap.data2.datafabric.dataset.service.executor.DatasetAdminOpHTTPHandler.<init>(DatasetAdminOpHTTPHandler.java:62)
while locating io.cdap.cdap.data2.datafabric.dataset.service.executor.DatasetAdminOpHTTPHandler
while locating io.cdap.http.HttpHandler annotated with @com.google.inject.multibindings.Element([email protected](value=dataset.executor),uniqueId=23, type=MULTIBINDER, keyType=)
at io.cdap.cdap.data.runtime.DataSetServiceModules$2$1.configure(DataSetServiceModules.java:132) (via modules: io.cdap.cdap.data.runtime.DataSetServiceModules$2 -> io.cdap.cdap.data.runtime.DataSetServiceModules$2$1 -> com.google.inject.multibindings.Multibinder$RealMultibinder)
while locating java.util.Set<io.cdap.http.HttpHandler> annotated with @com.google.inject.name.Named(value=dataset.executor)
for parameter 3 at io.cdap.cdap.data2.datafabric.dataset.service.executor.DatasetOpExecutorService.<init>(DatasetOpExecutorService.java:57)
at io.cdap.cdap.data.runtime.DataSetServiceModules$2$1.configure(DataSetServiceModules.java:137) (via modules: io.cdap.cdap.data.runtime.DataSetServiceModules$2 -> io.cdap.cdap.data.runtime.DataSetServiceModules$2$1)
Dear Group,
I could install CDAP-Operator. Please suggest what are the next steps to install cdap components like master-service, kafka, auth, router etc.
adminisatorsMBP:resources nitin.nanda$ kubectl get all -n system
NAME READY STATUS RESTARTS AGE
pod/cdap-controller-0 1/1 Running 0 19h
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/cdap-controller-service LoadBalancer 10.98.127.246 443:31367/TCP 23h
NAME READY AGE
statefulset.apps/cdap-controller 1/1 19h
adminisatorsMBP:resources nitin.nanda$
Hi Team,
I have followed https://cdap.atlassian.net/wiki/spaces/DOCS/pages/911179793/Installation+on+Kubernetes to install cdap in kubernetes (Google Kubernetes Engine)
However, getting the following error:
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
2021-03-23 10:12:13,015 - INFO [main:i.c.c.m.e.k.AbstractServiceMain@127] - Initializing master service class io.cdap.cdap.master.environment.k8s.MetadataServiceMain
2021-03-23 10:12:14,233 - DEBUG [main:i.c.c.c.g.DFSLocationModule$LocationFactoryProvider@76] - Location namespace is /cdap
2021-03-23 10:12:14,438 - WARN [main:o.a.h.u.NativeCodeLoader@62] - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
2021-03-23 10:12:14,532 - DEBUG [main:i.c.c.c.g.FileContextProvider@68] - Getting filesystem for user root
2021-03-23 10:12:15,863 - INFO [main:i.c.c.m.e.k.KubeMasterEnvironment@104] - Initializing Kubernetes environment
2021-03-23 10:12:16,387 - ERROR [main:i.c.c.c.r.DaemonMain@41] - Exception raised when calling init
io.kubernetes.client.ApiException: Forbidden
at io.kubernetes.client.ApiClient.handleResponse(ApiClient.java:882) ~[na:na]
at io.kubernetes.client.ApiClient.execute(ApiClient.java:798) ~[na:na]
at io.kubernetes.client.apis.CoreV1Api.readNamespacedPodWithHttpInfo(CoreV1Api.java:25009) ~[na:na]
at io.kubernetes.client.apis.CoreV1Api.readNamespacedPod(CoreV1Api.java:24991) ~[na:na]
at io.cdap.cdap.master.environment.k8s.KubeMasterEnvironment.createPodInfo(KubeMasterEnvironment.java:245) ~[na:na]
at io.cdap.cdap.master.environment.k8s.KubeMasterEnvironment.initialize(KubeMasterEnvironment.java:114) ~[na:na]
at io.cdap.cdap.master.environment.k8s.AbstractServiceMain.init(AbstractServiceMain.java:154) [io.cdap.cdap.cdap-app-fabric-6.5.0-SNAPSHOT.jar:na]
at io.cdap.cdap.common.runtime.DaemonMain.doMain(DaemonMain.java:39) ~[io.cdap.cdap.cdap-common-6.5.0-SNAPSHOT.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_282]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_282]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_282]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_282]
at io.cdap.cdap.master.environment.k8s.AbstractServiceMain.main(AbstractServiceMain.java:121) [io.cdap.cdap.cdap-app-fabric-6.5.0-SNAPSHOT.jar:na]
at io.cdap.cdap.master.environment.k8s.MetadataServiceMain.main(MetadataServiceMain.java:70) [io.cdap.cdap.cdap-master-6.5.0-SNAPSHOT.jar:na]
2021-03-23 10:12:16,398 - ERROR [main:i.c.c.c.r.DaemonMain@45] - Exception raised when calling destroy
io.kubernetes.client.ApiException: Forbidden
at io.kubernetes.client.ApiClient.handleResponse(ApiClient.java:882) ~[na:na]
at io.kubernetes.client.ApiClient.execute(ApiClient.java:798) ~[na:na]
at io.kubernetes.client.apis.CoreV1Api.readNamespacedPodWithHttpInfo(CoreV1Api.java:25009) ~[na:na]
at io.kubernetes.client.apis.CoreV1Api.readNamespacedPod(CoreV1Api.java:24991) ~[na:na]
at io.cdap.cdap.master.environment.k8s.KubeMasterEnvironment.createPodInfo(KubeMasterEnvironment.java:245) ~[na:na]
at io.cdap.cdap.master.environment.k8s.KubeMasterEnvironment.initialize(KubeMasterEnvironment.java:114) ~[na:na]
at io.cdap.cdap.master.environment.k8s.AbstractServiceMain.init(AbstractServiceMain.java:154) [io.cdap.cdap.cdap-app-fabric-6.5.0-SNAPSHOT.jar:na]
at io.cdap.cdap.common.runtime.DaemonMain.doMain(DaemonMain.java:39) ~[io.cdap.cdap.cdap-common-6.5.0-SNAPSHOT.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_282]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_282]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_282]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_282]
at io.cdap.cdap.master.environment.k8s.AbstractServiceMain.main(AbstractServiceMain.java:121) [io.cdap.cdap.cdap-app-fabric-6.5.0-SNAPSHOT.jar:na]
at io.cdap.cdap.master.environment.k8s.MetadataServiceMain.main(MetadataServiceMain.java:70) [io.cdap.cdap.cdap-master-6.5.0-SNAPSHOT.jar:na]
I have tried give cluster role admin role to the service account, still getting Forbidden error. Can you please help me to figure out the issue?
Regards,
I set up by the web page (https://medium.com/cdapio/cdap-in-kubernetes-deployment-guide-7c0777dbc3a6 ). I used cdap-operator release/2.0.
CDAP main page was opend correctly.
Pipeline job saving and preview test was done correctly.
I tried deploying and running. I met next error message.
java.lang.RuntimeException: Unable to create Kubernetes resource while attempting to start program.
at io.cdap.cdap.k8s.runtime.KubeTwillPreparer.start(KubeTwillPreparer.java:328) ~[na:na]
at io.cdap.cdap.internal.app.runtime.distributed.DistributedProgramRunner$1.call(DistributedProgramRunner.java:354) ~[na:na]
at io.cdap.cdap.internal.app.runtime.distributed.DistributedProgramRunner$1.call(DistributedProgramRunner.java:252) ~[na:na]
at io.cdap.cdap.security.impersonation.ImpersonationUtils$1.run(ImpersonationUtils.java:47) ~[na:na]
at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_252]
at javax.security.auth.Subject.doAs(Subject.java:422) ~[na:1.8.0_252]
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1893) ~[hadoop-common-2.9.2.jar:na]
at io.cdap.cdap.security.impersonation.ImpersonationUtils.doAs(ImpersonationUtils.java:44) ~[na:na]
at io.cdap.cdap.security.impersonation.DefaultImpersonator.doAs(DefaultImpersonator.java:74) ~[na:na]
at io.cdap.cdap.security.impersonation.DefaultImpersonator.doAs(DefaultImpersonator.java:63) ~[na:na]
at io.cdap.cdap.internal.app.runtime.distributed.DistributedProgramRunner.run(DistributedProgramRunner.java:366) ~[na:na]
at io.cdap.cdap.app.runtime.AbstractProgramRuntimeService.lambda$run$2(AbstractProgramRuntimeService.java:180) ~[na:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_252]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_252]
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_252]
Caused by: io.kubernetes.client.ApiException: Unprocessable Entity
at io.kubernetes.client.ApiClient.handleResponse(ApiClient.java:882) ~[na:na]
at io.kubernetes.client.ApiClient.execute(ApiClient.java:798) ~[na:na]
at io.kubernetes.client.apis.CoreV1Api.createNamespacedConfigMapWithHttpInfo(CoreV1Api.java:7548) ~[na:na]
at io.kubernetes.client.apis.CoreV1Api.createNamespacedConfigMap(CoreV1Api.java:7530) ~[na:na]
at io.cdap.cdap.k8s.runtime.KubeTwillPreparer.createConfigMap(KubeTwillPreparer.java:588) ~[na:na]
at io.cdap.cdap.k8s.runtime.KubeTwillPreparer.start(KubeTwillPreparer.java:324) ~[na:na]
... 14 common frames omitted
Are there anybody who know the reason?
Dear Group,
Thanks for the operator
Can you provide me the way how to install cdap on Kubernetes version 2.0(tags)
the readme file provides the steps of deployement version 1.0
I got the following error when I make install
go: creating new go.mod: module tmp
go: finding sigs.k8s.io v0.2.4
go: finding sigs.k8s.io/controller-tools/cmd/controller-gen v0.2.4
go: finding sigs.k8s.io/controller-tools/cmd v0.2.4
# runtime/internal/sys
/usr/local/go/src/runtime/internal/sys/intrinsics_common.go:28:5: ntz8tab redeclared in this block
previous declaration at /usr/local/go/src/runtime/internal/sys/intrinsics.go:58:5
/usr/local/go/src/runtime/internal/sys/intrinsics_common.go:108:7: deBruijn64 redeclared in this block
previous declaration at /usr/local/go/src/runtime/internal/sys/intrinsics.go:11:20
# runtime/internal/atomic
/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:18:6: Load redeclared in this block
previous declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:16:24
/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:24:6: Loadp redeclared in this block
previous declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:22:32
/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:30:6: Load64 redeclared in this block
previous declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:28:26
/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:36:6: LoadAcq redeclared in this block
previous declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:34:27
/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:41:6: Xadd redeclared in this block
previous declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:39:37
/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:44:6: Xadd64 redeclared in this block
previous declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:42:39
/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:47:6: Xadduintptr redeclared in this block
previous declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:45:47
/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:50:6: Xchg redeclared in this block
previous declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:48:36
/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:53:6: Xchg64 redeclared in this block
previous declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:51:38
/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:56:6: Xchguintptr redeclared in this block
previous declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:54:45
/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:56:6: too many errors
Makefile:69: recipe for target 'controller-gen' failed
make: *** [controller-gen] Error 2
thanks
Please add a LICENSE file. Thanks!
cdap-operator/controllers/version_update.go
Line 393 in 21cf8d0
I'm wonder why cdap only allows integer in the image tag.
Is it any reason for this?
Is is OK when I change this logic to allow string in the image tag?
Thank you :)
cdap-operator/controllers/spec.go
Line 51 in 21cf8d0
I have a label automatically added to the cdap resource with a number as its value, it looks like:
kapp.k14s.io/app=1583512484380481917
This breaks the cdap-deployment.yaml
and cdap-sts.yaml
templates, because label values aren't quoted, and may be interpreted as a number (instead of a string). I'd image the same would happen for truthy/falsy values.
Here's an example error message from the operator:
E0310 17:46:06.200716 1 genericreconciler.go:51] Failed: [*v1alpha1.CDAPMaster/default/cdap] gathering expected resources. templates/cdap-sts.yaml:v1.StatefulSet.ObjectMeta: v1.ObjectMeta.Labels: ReadStr
ing: expects " or n, but found 1, error found in #10 byte of ...|.io/app":15835124843|..., bigger context ...|urce-namespace":"default","kapp.k14s.io/app":1583512484380481917,"kapp.k14s.io/association":"v1.|..
.
2020/03/10 17:46:06 *v1alpha1.CDAPMaster/default/cdap(cmpnt:*cdapmaster.Messaging) } reconciling component
E0310 17:46:06.200746 1 genericreconciler.go:114] error reconciling *v1alpha1.CDAPMaster/default/cdap. templates/cdap-sts.yaml:v1.StatefulSet.ObjectMeta: v1.ObjectMeta.Labels: ReadString: expects " or n,
but found 1, error found in #10 byte of ...|.io/app":15835124843|..., bigger context ...|urce-namespace":"default","kapp.k14s.io/app":1583512484380481917,"kapp.k14s.io/association":"v1.|...
I think most (all?) values in these templates should be quoted, to avoid these types of issues. At least the label values should be.
Happy to put in a PR for this, but wanted feedback first. I'd like to go through and quote everything that has foreign data in it.
CDAP operator version : v2.0.2-rc0
CDAP version : 6.3.0
Kubernetes version :
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.3", GitCommit:"1e11e4a2108024935ecfcb2912226cedeafd99df", GitTreeState:"clean", BuildDate:"2020-10-14T12:50:19Z", GoVersion:"go1.15.2", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.7", GitCommit:"b4455102ef392bf7d594ef96b97a4caa79d729d9", GitTreeState:"clean", BuildDate:"2020-06-17T11:32:20Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}
I have harcoded a helm chart -> cdap.zip
when i deploy it from local folder -> helm upgrade --create-namespace --install -n default test ./cdap
NAME | READY | STATUS | RESTARTS | AGE |
---|---|---|---|---|
cdap-test-appfabric-0 | 0/1 | CrashLoopBackOff | 7 | 17m |
cdap-test-logs-0 | 0/1 | CrashLoopBackOff | 7 | 17m |
cdap-test-messaging-0 | 0/1 | CrashLoopBackOff | 7 | 17m |
cdap-test-metadata-7b98ffd649-47tp2 | 0/1 | CrashLoopBackOff | 7 | 17m |
cdap-test-metrics-0 | 0/1 | CrashLoopBackOff | 7 | 17m |
cdap-test-preview-0 | 0/1 | CrashLoopBackOff | 7 | 17m |
cdap-test-router-5fcdc6457c-2vgnv | 0/1 | CrashLoopBackOff | 7 | 17m |
cdap-test-runtime-0 | 0/1 | CrashLoopBackOff | 7 | 17m |
cdap-test-userinterface-574456c9dd-jkmq9 | 1/1 | Running | 0 | 17m |
elasticsearch-master-0 | 1/1 | Running | 0 | 17m |
test-hadoop-58665cf7c4-4xmkv | 1/1 | Running | 0 | 17m |
test-postgresql-0 | 1/1 | Running | 0 | 17m |
k logs --follow cdap-test-router-5fcdc6457c-2vgnv -n test-namespace
2020-11-19 02:05:46,381 - INFO [main:i.c.c.m.e.k.AbstractServiceMain@124] - Initializing master service class io.cdap.cdap.master.environment.k8s.RouterServiceMain
2020-11-19 02:05:49,646 - INFO [main:i.c.c.m.e.k.KubeMasterEnvironment@100] - Initializing Kubernetes environment
2020-11-19 02:05:54,731 - ERROR [main:i.c.c.c.r.DaemonMain@41] - Exception raised when calling init
java.lang.RuntimeException: Exception raised when initializing master environment for k8s
at io.cdap.cdap.master.environment.k8s.AbstractServiceMain.init(AbstractServiceMain.java:159) [io.cdap.cdap.cdap-app-fabric-6.3.0-SNAPSHOT.jar:na]
at io.cdap.cdap.common.runtime.DaemonMain.doMain(DaemonMain.java:39) ~[io.cdap.cdap.cdap-common-6.3.0-SNAPSHOT.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_252]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_252]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_252]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_252]
at io.cdap.cdap.master.environment.k8s.AbstractServiceMain.main(AbstractServiceMain.java:118) [io.cdap.cdap.cdap-app-fabric-6.3.0-SNAPSHOT.jar:na]
at io.cdap.cdap.master.environment.k8s.RouterServiceMain.main(RouterServiceMain.java:48) [io.cdap.cdap.cdap-master-6.3.0-SNAPSHOT.jar:na]
Caused by: io.kubernetes.client.ApiException: Not Found
at io.kubernetes.client.ApiClient.handleResponse(ApiClient.java:882) ~[na:na]
at io.kubernetes.client.ApiClient.execute(ApiClient.java:798) ~[na:na]
at io.kubernetes.client.apis.CoreV1Api.readNamespacedPodWithHttpInfo(CoreV1Api.java:25009) ~[na:na]
at io.kubernetes.client.apis.CoreV1Api.readNamespacedPod(CoreV1Api.java:24991) ~[na:na]
at io.cdap.cdap.master.environment.k8s.KubeMasterEnvironment.getPodInfo(KubeMasterEnvironment.java:218) ~[na:na]
at io.cdap.cdap.master.environment.k8s.KubeMasterEnvironment.initialize(KubeMasterEnvironment.java:111) ~[na:na]
at io.cdap.cdap.master.environment.k8s.AbstractServiceMain.init(AbstractServiceMain.java:157) [io.cdap.cdap.cdap-app-fabric-6.3.0-SNAPSHOT.jar:na]
... 7 common frames omitted
2020-11-19 02:05:54,818 - ERROR [main:i.c.c.c.r.DaemonMain@45] - Exception raised when calling destroy
java.lang.RuntimeException: Exception raised when initializing master environment for k8s
at io.cdap.cdap.master.environment.k8s.AbstractServiceMain.init(AbstractServiceMain.java:159) [io.cdap.cdap.cdap-app-fabric-6.3.0-SNAPSHOT.jar:na]
at io.cdap.cdap.common.runtime.DaemonMain.doMain(DaemonMain.java:39) ~[io.cdap.cdap.cdap-common-6.3.0-SNAPSHOT.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_252]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_252]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_252]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_252]
at io.cdap.cdap.master.environment.k8s.AbstractServiceMain.main(AbstractServiceMain.java:118) [io.cdap.cdap.cdap-app-fabric-6.3.0-SNAPSHOT.jar:na]
at io.cdap.cdap.master.environment.k8s.RouterServiceMain.main(RouterServiceMain.java:48) [io.cdap.cdap.cdap-master-6.3.0-SNAPSHOT.jar:na]
Caused by: io.kubernetes.client.ApiException: Not Found
at io.kubernetes.client.ApiClient.handleResponse(ApiClient.java:882) ~[na:na]
at io.kubernetes.client.ApiClient.execute(ApiClient.java:798) ~[na:na]
at io.kubernetes.client.apis.CoreV1Api.readNamespacedPodWithHttpInfo(CoreV1Api.java:25009) ~[na:na]
at io.kubernetes.client.apis.CoreV1Api.readNamespacedPod(CoreV1Api.java:24991) ~[na:na]
at io.cdap.cdap.master.environment.k8s.KubeMasterEnvironment.getPodInfo(KubeMasterEnvironment.java:218) ~[na:na]
at io.cdap.cdap.master.environment.k8s.KubeMasterEnvironment.initialize(KubeMasterEnvironment.java:111) ~[na:na]
at io.cdap.cdap.master.environment.k8s.AbstractServiceMain.init(AbstractServiceMain.java:157) [io.cdap.cdap.cdap-app-fabric-6.3.0-SNAPSHOT.jar:na]
... 7 common frames omitted
Hi
Thanks for the kubernates operator
We are trying to install CDAP on openshift environment and we used cdap-operator release/1.0 branch
we have been able to install operator on openshift and its working fine ,however weare trying to install cdap using realease/1.0/config/sample/ yaml file but it getting error
2020/04/30 04:28:29 genericreconciler.go:356: *v1alpha1.CDAPMaster/cdap-test/master-1(cmpnt:*controllers.ConfigMapHandler) } reconciling component
| E0430 04:28:29.837811 1 genericreconciler.go:115] error reconciling *v1alpha1.CDAPMaster/cdap-test/master-1. [configmaps "cdap-master-1-cconf" is forbidden: cannot set blockOwnerDeletion in this case because cannot find RESTMapping for APIVersion cdap.cdap.io/v1alpha1 Kind *v1alpha1.CDAPMaster: no matches for kind "*v1alpha1.CDAPMaster" in version "cdap.cdap.io/v1alpha1", configmaps "cdap-master-1-hconf" is forbidden: cannot set blockOwnerDeletion in this case because cannot find RESTMapping for APIVersion cdap.cdap.io/v1alpha1 Kind *v1alpha1.CDAPMaster: no matches for kind "*v1alpha1.CDAPMaster" in version "cdap.cdap.io/v1alpha1", configmaps "cdap-master-1-sysappconf" is forbidden: cannot set blockOwnerDeletion in this case because cannot find RESTMapping for APIVersion cdap.cdap.io/v1alpha1 Kind *v1alpha1.CDAPMaster: no matches for kind "*v1alpha1.CDAPMaster" in version "cdap.cdap.io/v1alpha1"]
any idea ?
Thanks
Dear Group,
I'm trying to deploy CDAP-Operator over Minikube(v1.14). While 'make deploy' it throws below error.
Please suggest if i'm missing anything.
administrators-MacBook-Pro:cdap-operator nitin.nanda$ make run
go generate ./pkg/... ./cmd/...
go fmt ./pkg/... ./cmd/...
go vet ./pkg/... ./cmd/...
go run ./cmd/manager/main.go
{"level":"info","ts":1558673662.087148,"logger":"entrypoint","msg":"setting up client for manager"}
{"level":"info","ts":1558673662.088832,"logger":"entrypoint","msg":"setting up manager"}
{"level":"info","ts":1558673662.152404,"logger":"entrypoint","msg":"Registering Components."}
{"level":"info","ts":1558673662.1524348,"logger":"entrypoint","msg":"setting up scheme"}
{"level":"info","ts":1558673662.15255,"logger":"entrypoint","msg":"Setting up controller"}
{"level":"info","ts":1558673662.152698,"logger":"kubebuilder.controller","msg":"Starting EventSource","controller":"cdapmaster-ctrl","source":"kind source: /, Kind="}
{"level":"info","ts":1558673662.152912,"logger":"entrypoint","msg":"setting up webhooks"}
{"level":"info","ts":1558673662.1529238,"logger":"entrypoint","msg":"Starting the Cmd."}
{"level":"info","ts":1558673662.257994,"logger":"kubebuilder.controller","msg":"Starting Controller","controller":"cdapmaster-ctrl"}
{"level":"info","ts":1558673662.361709,"logger":"kubebuilder.controller","msg":"Starting workers","controller":"cdapmaster-ctrl","worker count":1}
administrators-MacBook-Pro:cdap-operator nitin.nanda$ make deploy
go run vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go all
CRD manifests generated under '/Users/nitin.nanda/go/src/cdap.io/cdap-operator/config/crds'
RBAC manifests generated under '/Users/nitin.nanda/go/src/cdap.io/cdap-operator/config/rbac'
kubectl apply -f config/crds
customresourcedefinition.apiextensions.k8s.io/cdapmasters.cdap.cdap.io configured
kustomize build config/default | kubectl apply -f -
Error: rawResources failed to read Resources: id '"apps_v1_StatefulSet|system|~P|controller-manager|~S"' already used
error: no objects passed to apply
make: *** [deploy] Error 1
'administrators-MacBook-Pro:cdap-operator nitin.nanda$ kubectl get all -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system pod/coredns-fb8b8dccf-kb6cn 1/1 Running 1 25h
kube-system pod/coredns-fb8b8dccf-nw6ns 1/1 Running 1 25h
kube-system pod/etcd-minikube 1/1 Running 0 25h
kube-system pod/kube-addon-manager-minikube 1/1 Running 0 25h
kube-system pod/kube-apiserver-minikube 1/1 Running 0 25h
kube-system pod/kube-controller-manager-minikube 1/1 Running 0 25h
kube-system pod/kube-proxy-d2xc9 1/1 Running 0 25h
kube-system pod/kube-scheduler-minikube 1/1 Running 0 25h
kube-system pod/storage-provisioner 1/1 Running 1 25h
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
default service/kubernetes ClusterIP 10.96.0.1 443/TCP 25h
kube-system service/kube-dns ClusterIP 10.96.0.10 53/UDP,53/TCP,9153/TCP 25h
NAMESPACE NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
kube-system daemonset.apps/kube-proxy 1 1 1 1 1 25h
NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE
kube-system deployment.apps/coredns 2/2 2 2 25h
NAMESPACE NAME DESIRED CURRENT READY AGE
kube-system replicaset.apps/coredns-fb8b8dccf 2 2 2 25h
administrators-MacBook-Pro:cdap-operator nitin.nanda$
When running cdap-operator locally (using minikube), I'd like to pull a custom UserInterface image from a private AWS ECR registry.
When writing my CDAPMaster configuration, I am unable to see any options to pass through either an ImagePullSecrets
setting or any other settings for my ECR credentials.
I attempted to use the minikube registry-creds addon, but it was not honored.
I received the same error each time trying to pull the UserInterface image, which was "no basic auth credentials".
I would like to be able to develop locally and pull images from my ECR registry using ImagePullSecrets
and/or the minikube registry-creds add-on.
I was able to get around the issue by roughly following this Kubernetes guidance. Specifically, I had to do the following:
"credsStore": "desktop"
line in ~/.docker/config.json
aws ecr get-login-password --region <my-region> | docker login --username AWS --password-stdin <my-account-number>.dkr.ecr.<my-region>.amazonaws.com
~/.docker/config.json
file~/.docker/config.json
into my Minikube's home folder by running scp -i ~/.minikube/machines/minikube/id_rsa ~/.docker/config.json docker@$(minikube ip):/home/config.json
minikube ssh
, switching into that home directory, and running sudo cp config.json /var/lib/kubelet/config.json
(note use of sudo
as the docker user does not have write permissions under /var/lib -- that's why I couldn't SCP directly into that location)That allowed minikube to pull my image from ECR and lead to a successful run. However, I'd like to use a more simple and declarative approach.
Getting below exceptions while trying to access gs bucket from K8S cluster outside GCP. Kindly please suggest what changes are needed in core-site.xml.
Caused by: java.io.IOException: Error getting access token from metadata server at: http://169.254.169.254/computeMetadata/v1/instance/service-accounts/default/token
at com.google.cloud.hadoop.repackaged.gcs.com.google.cloud.hadoop.util.CredentialFactory.getCredentialFromMetadataServiceAccount(CredentialFactory.java:236)
at com.google.cloud.hadoop.repackaged.gcs.com.google.cloud.hadoop.util.CredentialConfiguration.getCredential(CredentialConfiguration.java:91)
at com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystemBase.getCredential(GoogleHadoopFileSystemBase.java:1613)
at com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystemBase.createGcsFs(GoogleHadoopFileSystemBase.java:1699)
at com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystemBase.configure(GoogleHadoopFileSystemBase.java:1658)
at com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystemBase.initialize(GoogleHadoopFileSystemBase.java:683)
at com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystemBase.initialize(GoogleHadoopFileSystemBase.java:646)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:3242)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:121)
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:3291)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:3259)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:470)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:223)
at io.cdap.cdap.common.guice.FileContextProvider.createFileContext(FileContextProvider.java:86)
... 86 more
Caused by: java.net.NoRouteToHostException: No route to host (Host unreachable)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)```
Similar issue as : #47
CDAP operator version : v2.0.2-rc0
CDAP version : 6.3.0
Kubernetes version :
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.3", GitCommit:"1e11e4a2108024935ecfcb2912226cedeafd99df", GitTreeState:"clean", BuildDate:"2020-10-14T12:50:19Z", GoVersion:"go1.15.2", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.7", GitCommit:"b4455102ef392bf7d594ef96b97a4caa79d729d9", GitTreeState:"clean", BuildDate:"2020-06-17T11:32:20Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}
When i use the "native compute profile" on any pipeline it fails with io.kubernetes.client.ApiException: Unprocessable Entity
in appfabric container logs.
Is this related to hadoop user not set ?
I am using a hadoop container ( sequenceiq/hadoop-docker:2.7.1 ) like written in the -> blog post
Am i missing something ?
Stackstrace :
2020-11-19 11:30:34,642 - INFO [sys-app-management-service:i.c.c.i.s.SystemAppManagementService@109] - System app config file /opt/cdap/master/system-app-config/..2020_11_19_11_26_26.773026893 does not exist.
2020-11-19 11:30:38,394 - WARN [program.status:i.c.c.i.a.r.d.DistributedProgramRuntimeService@172] - Twill RunId does not exist for the program program:system.pipeline.-SNAPSHOT.service.studio, runId a3966da1-2a5a-11eb-a9ee-4e9d09a2764f
2020-11-19 11:30:39,338 - INFO [program-start-0:i.c.c.i.a.r.d.DistributedProgramRunner@494] - Starting Service Program 'studio' with Arguments [logical.start.time=1605785434485]
2020-11-19 11:30:39,340 - INFO [program-start-0:i.c.c.i.a.r.d.DistributedProgramRunner$1@299] - Starting program:system.pipeline.-SNAPSHOT.service.studio with debugging enabled: false, logback: file:/etc/cdap/conf/logback-container.xml
2020-11-19 11:30:39,670 - INFO [program-start-0:i.c.c.k.r.KubeTwillPreparer@520] - Created deployment cdap-cdap-service-system-pipeline-studio-a193e088-e3b0-4fdf-a6c1-75278007d1af in Kubernetes
2020-11-19 11:30:39,742 - INFO [program-start-0:i.c.c.i.a.r.d.AbstractTwillProgramController$1@69] - Twill program running: program_run:system.pipeline.-SNAPSHOT.service.studio.a3966da1-2a5a-11eb-a9ee-4e9d09a2764f, twill runId: a193e088-e3b0-4fdf-a6c1-75278007d1af
2020-11-19 11:31:32,700 - INFO [appfabric-executor-18:i.c.c.i.a.s.ProgramLifecycleService@515] - Attempt to run Workflow program DataPipelineWorkflow as user root
2020-11-19 11:31:36,138 - WARN [program.status:i.c.c.i.a.r.d.DistributedProgramRuntimeService@172] - Twill RunId does not exist for the program program:default.read_and_write_hdfs_v1.-SNAPSHOT.workflow.DataPipelineWorkflow, runId c64388b2-2a5a-11eb-a074-4e9d09a2764f
2020-11-19 11:31:53,755 - INFO [program-start-0:i.c.c.i.a.r.d.DistributedProgramRunner@494] - Starting Workflow Program 'DataPipelineWorkflow' with Arguments [logical.start.time=1605785492667]
2020-11-19 11:31:53,759 - INFO [program-start-0:i.c.c.i.a.r.d.DistributedProgramRunner$1@299] - Starting program:default.read_and_write_hdfs_v1.-SNAPSHOT.workflow.DataPipelineWorkflow with debugging enabled: false, logback: file:/etc/cdap/conf/logback-container.xml
2020-11-19 11:31:54,837 - ERROR [program-start-0:i.c.c.a.r.AbstractProgramRuntimeService@184] - Exception while trying to run program
java.lang.RuntimeException: Unable to create Kubernetes resource while attempting to start program.
at io.cdap.cdap.k8s.runtime.KubeTwillPreparer.start(KubeTwillPreparer.java:328) ~[na:na]
at io.cdap.cdap.internal.app.runtime.distributed.DistributedProgramRunner$1.call(DistributedProgramRunner.java:354) ~[na:na]
at io.cdap.cdap.internal.app.runtime.distributed.DistributedProgramRunner$1.call(DistributedProgramRunner.java:252) ~[na:na]
at io.cdap.cdap.security.impersonation.ImpersonationUtils$1.run(ImpersonationUtils.java:47) ~[na:na]
at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_252]
at javax.security.auth.Subject.doAs(Subject.java:422) ~[na:1.8.0_252]
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1893) ~[hadoop-common-2.9.2.jar:na]
at io.cdap.cdap.security.impersonation.ImpersonationUtils.doAs(ImpersonationUtils.java:44) ~[na:na]
at io.cdap.cdap.security.impersonation.DefaultImpersonator.doAs(DefaultImpersonator.java:74) ~[na:na]
at io.cdap.cdap.security.impersonation.DefaultImpersonator.doAs(DefaultImpersonator.java:63) ~[na:na]
at io.cdap.cdap.internal.app.runtime.distributed.DistributedProgramRunner.run(DistributedProgramRunner.java:366) ~[na:na]
at io.cdap.cdap.app.runtime.AbstractProgramRuntimeService.lambda$run$2(AbstractProgramRuntimeService.java:180) ~[na:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_252]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_252]
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_252]
Caused by: io.kubernetes.client.ApiException: Unprocessable Entity
at io.kubernetes.client.ApiClient.handleResponse(ApiClient.java:882) ~[na:na]
at io.kubernetes.client.ApiClient.execute(ApiClient.java:798) ~[na:na]
at io.kubernetes.client.apis.CoreV1Api.createNamespacedConfigMapWithHttpInfo(CoreV1Api.java:7548) ~[na:na]
at io.kubernetes.client.apis.CoreV1Api.createNamespacedConfigMap(CoreV1Api.java:7530) ~[na:na]
at io.cdap.cdap.k8s.runtime.KubeTwillPreparer.createConfigMap(KubeTwillPreparer.java:588) ~[na:na]
at io.cdap.cdap.k8s.runtime.KubeTwillPreparer.start(KubeTwillPreparer.java:324) ~[na:na]
... 14 common frames omitted
My master cdap config :
apiVersion: cdap.cdap.io/v1alpha1
kind: CDAPMaster
metadata:
name: {{ .Release.Name }}
namespace: {{.Release.Namespace}}
spec:
runtime: {}
locationURI: hdfs://{{ .Release.Name }}-hadoop:9000
serviceAccountName: cdap
router:
replicas: 2
userInterface:
replicas: 2
securitySecret: {{ .Release.Name }}
image: {{.Values.cdap.baseContainer}}
userInterfaceImage: {{.Values.cdap.baseContainer}}
config:
master.environment.k8s.namespace: {{ .Release.Namespace }}
enable.preview: "true"
data.storage.implementation: postgresql
data.storage.sql.jdbc.connection.url: jdbc:postgresql://{{.Release.Name}}-postgresql:5432/cdap
data.storage.sql.jdbc.driver.name: org.postgresql.Driver
metadata.storage.implementation: elastic
metadata.elasticsearch.cluster.hosts: elasticsearch-master
hdfs.user: root
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.