2017-05-08 21 views
0

내가 카산드라에서 간단한 뺄셈 기능을 만들려고 할 때 다음과 같은 오류를 가져 오기 :docker 인스턴스에서 사용자 정의 함수를 활성화하는 방법 cassandra?

user defined functions are disabled in cassandra.yaml set enable user defined functions=true 

내가 true로 설정하는 방법을 알아낼 수 없습니다. 이걸 어디로 가야합니까? 나는 더 어렵게 만드는 카산드라의 도커 인스턴스를 실행 중입니다.

답변

1

Dockerfile에서 cassandra.yaml 파일을 수정해야합니다. 원본 카산드라 이미지의 확장자로 별도의 레이어를 만들 수 있습니다 (here).

당신이 카산드라 3 사용하는 가정하면, 당신은 패키지 설치에서 설치 한 것으로, 그 위치는 다음과 같습니다 (등 타르,) 다른 설치 옵션에 대한

/etc/cassandra/cassandra.yaml 

다른 가능한 위치는 here를 설명되어 있습니다. this Docker 이미지를 실행하는 경우 /etc/cassandra에서 찾을 수 있습니다.

설치 경로를 알아 내면 sed를 사용하여 파일을 바꿀 수 있습니다. Docker의 RUN 명령으로 실행하십시오.

RUN sed -i -r 's/enable_user_defined_functions=false/enable_user_defined_functions=true/' /etc/cassandra/cassandra.yaml 

그런 다음 노드를 다시 시작하십시오.

+0

에드몬 감사합니다! – J4ce

+0

아래 명령을 사용해야했습니다. 'RUN sed -i -r/enable_user_defined_functions : 거짓/enable_user_defined_functions : true/'/ etc/cassandra/cassandra.yaml' – Ravi