Как получить URL-адрес и порт Sqoop для сервера в Horton Sandbox

Я использую клиент sqoop. И не знаю, по какому URL я должен инициализировать объект SqoopClient. Я запускаю horton Sandbox, который предварительно сконфигурирован всем. Я не знаю, что работает сервер sqoop или нет. И если он работает, я не знаю порт. И если он не работает, как я могу запустить его в Sandbox.

Я читаю учебник, приведенный на этой странице: http://devslogics.blogspot.in/2013/09/sqoop-java-client.html

Эти две строки предназначены для инициализации с помощью url.

String url = "http://192.168.56.102:12000/sqoop/"; 
 SqoopClient client = new SqoopClient(url);

Вот мой полный код -

//Here I am using a table Persons, with columns PersonID and LastName
import org.apache.sqoop.client.SqoopClient;
import org.apache.sqoop.model.MConnection;
import org.apache.sqoop.model.MConnectionForms;
import org.apache.sqoop.model.MJob;
import org.apache.sqoop.model.MJobForms;
import org.apache.sqoop.model.MSubmission;
import org.apache.sqoop.validation.Status;

/**
 * @author devan
 * @date 19-Sep-2013
 * @mail [removed_email]
 */

public class SqoopImport {
 public static void main(String[] args) {


 String connectionString = "jdbc:mysql://localhost:3316/dw_db";
 String username = "openmrs";
 String password = "ePM2zeKZOzrL";
 String schemaName = "dw_db";
 String tableName = "dw_table";
 String columns = "locale,name"; //comma seperated column names
 String partitionColumn = "locale";
 String outputDirectory = "/output/Persons";
 String url = "http://192.168.56.102:12000/sqoop/";


 SqoopClient client = new SqoopClient(url);
 //client.setServerUrl(newUrl);
 //Dummy connection object
 MConnection newCon = client.newConnection(1);

 //Get connection and framework forms. Set name for connection
 MConnectionForms conForms = newCon.getConnectorPart();
 MConnectionForms frameworkForms = newCon.getFrameworkPart();
 newCon.setName("MyConnection");

 //Set connection forms values
 conForms.getStringInput("connection.connectionString").setValue(connectionString);
 conForms.getStringInput("connection.jdbcDriver").setValue("com.mysql.jdbc.Driver");
 conForms.getStringInput("connection.username").setValue(username);
 conForms.getStringInput("connection.password").setValue(password);

 frameworkForms.getIntegerInput("security.maxConnections").setValue(0);

 Status status = client.createConnection(newCon);
 if(status.canProceed()) {
 System.out.println("Created. New Connection ID : " +newCon.getPersistenceId());
 } else {
 System.out.println("Check for status and forms error ");
 }

 //Creating dummy job object
 MJob newjob = client.newJob(newCon.getPersistenceId(), org.apache.sqoop.model.MJob.Type.IMPORT);
 MJobForms connectorForm = newjob.getConnectorPart();
 MJobForms frameworkForm = newjob.getFrameworkPart();

 newjob.setName("ImportJob");
 //Database configuration
 connectorForm.getStringInput("table.schemaName").setValue(schemaName);
 //Input either table name or sql
 connectorForm.getStringInput("table.tableName").setValue(tableName);
 //connectorForm.getStringInput("table.sql").setValue("select id,name from table where ${CONDITIONS}");


 connectorForm.getStringInput("table.columns").setValue(columns);
 connectorForm.getStringInput("table.partitionColumn").setValue(partitionColumn);

 //Set boundary value only if required
 //connectorForm.getStringInput("table.boundaryQuery").setValue("");

 //Output configurations
 frameworkForm.getEnumInput("output.storageType").setValue("HDFS");
 frameworkForm.getEnumInput("output.outputFormat").setValue("TEXT_FILE");//Other option: SEQUENCE_FILE / TEXT_FILE
 frameworkForm.getStringInput("output.outputDirectory").setValue(outputDirectory);
 //Job resources
 frameworkForm.getIntegerInput("throttling.extractors").setValue(1);
 frameworkForm.getIntegerInput("throttling.loaders").setValue(1);

 status = client.createJob(newjob);
 if(status.canProceed()) {
 System.out.println("New Job ID: "+ newjob.getPersistenceId());
 } else {
 System.out.println("Check for status and forms error ");
 }
 //Now Submit the Job
 MSubmission submission = client.startSubmission(newjob.getPersistenceId());
 System.out.println("Status : " + submission.getStatus());

 }


}
2 ответа

Параметр "Работа в режиме сервера" недоступен для Sqoop1. Он доступен только для Sqoop2. Убедитесь, что вы используете Sqoop2.

См. Эту ссылку, чтобы узнать, как запустить сервер sqoop


Для проверки списка служб, запущенных на любой Linux-машине, попробуйте следующее:

netstat -tulpn

В этом списке перечислены все службы.

Чтобы получить конкретную услугу или порт, вы можете присвоить имя порта grep этой командой.

Например: netstat -tulpn |grep 8080

Список всех запущенных сервисов

netstat -tulpn |grep LISTEN

Надеюсь, это будет полезно

licensed under cc by-sa 3.0 with attribution.