Repl engine usage documentation
This article mainly introduces the installation, use and configuration of the Repl
engine plugin in Linkis
.
1. Preliminary work
1.1 Engine Verification
It is strongly recommended that you check these environment variables for the executing user before executing Repl
tasks. The specific way is
sudo su - ${username}
echo ${JAVA_HOME}
2. Engine plugin installation
2.1 Engine plugin preparation non-default engine
Compile the engine plug-in separately (requires a maven
environment)
# compile
cd ${linkis_code_dir}/linkis-engineconn-plugins/repl/
mvn clean install
# The compiled engine plug-in package is located in the following directory
${linkis_code_dir}/linkis-engineconn-plugins/repl/target/out/
EngineConnPlugin engine plugin installation
2.2 Upload and load engine plugins
Upload the engine plug-in package in 2.1 to the engine directory of the server
${LINKIS_HOME}/lib/linkis-engineplugins
The directory structure after uploading is as follows
linkis-engineconn-plugins/
├── repl
│ ├── dist
│ │ └── 1
│ │ ├── conf
│ │ └── lib
│ └── plugin
│ └── 1
2.3 Engine refresh
2.3.1 Restart and refresh
Refresh the engine by restarting the linkis-cg-linkismanager
service
cd ${LINKIS_HOME}/sbin
sh linkis-daemon.sh restart cg-linkismanager
2.3.2 Check if the engine is refreshed successfully
You can check whether the last_update_time
of this table in the linkis_engine_conn_plugin_bml_resources
in the database is the time when the refresh is triggered.
#Login to the linkis database
select * from linkis_cg_engine_conn_plugin_bml_resources;
3. Use of Repl engine
3.1 Submit java
tasks through Linkis-cli
Single method
sh bin/linkis-cli -engineType repl-1 -code \
"import org.apache.commons.lang3.StringUtils;
public void sayHello() {
System.out.println(\"hello\");
System.out.println(StringUtils.isEmpty(\"hello\"));
}" \
-codeType repl -runtimeMap linkis.repl.type=java
Multiple methods
sh bin/linkis-cli -engineType repl-1 -code \
"import org.apache.commons.lang3.StringUtils;
public void sayHello() {
System.out.println(\"hello\");
System.out.println(StringUtils.isEmpty(\"hello\"));
}
public void sayHi() {
System.out.println(\"hi\");
System.out.println(StringUtils.isEmpty(\"hi\"));
}" \
-codeType repl -runtimeMap linkis.repl.type=java -runtimeMap linkis.repl.method.name=sayHi
3.2 Submit scala
tasks through Linkis-cli
sh bin/linkis-cli -engineType repl-1 -code \
"import org.apache.commons.io.FileUtils
import java.io.File
val x = 2 + 3;
println(x);
FileUtils.forceMkdir(new File(\"/tmp/linkis_repl_scala_test\"));" \
-codeType repl -runtimeMap linkis.repl.type=scala
More Linkis-Cli
command parameter reference: Linkis-Cli
usage
Repl engine supports connection parameters:
Configuration name | Remarks and default value | Is it necessary |
---|---|---|
linkis.repl.type | repl type, supports java and scala, default value: java | Optional |
linkis.repl.method.name | The name of the method to execute. The default value is null | Optional |