Updated on 2022-11-18 GMT+08:00

Compiling and Running an Application with the Client Installed

Scenario

The Hadoop distributed file system (HDFS) application can run in the Linux operating system (OS) with the HDFS client installed. After the application code has been developed, you can upload the jar packages to the prepared Linux client operating environment and run the application.

Prerequisite

  • The HDFS client has been installed.
  • When the host where the Linux OS runs is not a node of the cluster, you are required to set the mapping between the host name and IP address in the hosts file of the node where the client is installed. The host name must be correctly mapped to the IP address.

Procedure

  1. Go to the local root directory of the sample project, copy the required configuration file to the conf folder of the local project, and run the following command in Windows CLI to compress the package:

    mvn -s "{maven_setting_path}" clean package

    • In the preceding command, {maven_setting_path} is the path of the settings.xml file of the local Maven.
    • After the package is successfully packed, obtain the JAR package, for example, HDFSTest-XXX.jar, from the target subdirectory in the root directory of the project. The name of the JAR package varies according to the actual package.

  2. Upload the exported jarpackages to any directory in the running environment of the client, for example, /opt/client.
  3. Configure the environment variables:

    cd /opt/client

    source bigdata_env

  4. Specify a user to run the example. There are two ways to specify the user: add the environment variable HADOOP_USER_NAME and modify the code. If the code cannot be modified, run the following statement to add the environment variable:

    export HADOOP_USER_NAME=test

    The test user here is an example. To run the example code related to the Colocation operation, the user must be a member of the supergroup group.

  5. (Optional) To run SmallFS, in /opt/client/Yarn/config/core-site.xml, change the fs.defaultFS from hdfs://hacluster to sfs://hacluster.
  6. Run the following commands to execute the jar packages.

    hadoop jar HDFSTest-XXX.jar com.huawei.bigdata.hdfs.examples.HdfsExample

    hadoop jar HDFSTest-XXX.jar com.huawei.bigdata.hdfs.examples.ColocationExample

    When com.huawei.bigdata.hdfs.examples.ColocationExample is run, the HDFSparameter fs.defaultFS cannot be set to viewfs://ClusterX.