diff --git a/docs/engine-usage/repl.md b/docs/engine-usage/repl.md new file mode 100644 index 00000000000..a2f54a5347b --- /dev/null +++ b/docs/engine-usage/repl.md @@ -0,0 +1,108 @@ +--- +title: Repl Engine +sidebar_position: 15 +--- + +# 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](./overview.md) + +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](../deployment/install-engineconn.md) + +### 2.2 Upload and load engine plugins + +Upload the engine plug-in package in 2.1 to the engine directory of the server + +```bash +${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 +```bash +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. + +```sql +#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` + +```shell + 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 +``` + +### 3.2 Submit `scala` tasks through `Linkis-cli` + +```shell + 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](../user-guide/linkiscli-manual.md) + +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 |