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 |