Winutils Exe Hadoop S

Posted on admin
Winutils

We would like to show you a description here but the site won’t allow us.

Hadoop

This Jira tracks the effort to improve the interaction between Hadoop and Windows Server. Move away from an external process (winutils.exe) for native code:. Replace by native Java APIs (e.g., symlinks);.

Exe

Winutils.exe Hadoop 2.7 Download

Replace by something like JNI or so;. Fix the build system to fully leverage cmake instead of msbuild;. Possible other improvements;. Memory and handle leaks. I did a quick investigation of the performance of WinUtils in YARN. In average NM calls 4.76 times per second and 65.51 per container.

Requests Requests/sec Requests/min Requests/container Sum WinUtils 135354 4.761 286.160 65.51 WinUtils Execute -help 4148 0.145 8.769 2.007 WinUtils Execute -ls 2842 0.0999 6.008 1.37 WinUtils Execute -systeminfo 9153 0.321 19.35 4.43 WinUtils Execute -symlink 115096 4.048 243.33 57.37 WinUtils Execute -task isAlive 4115 0.144 8.699 2.05 Interval: 7 hours, 53 minutes and 48 seconds Each execution of WinUtils does around 140 IO ops, of which 130 are DDL ops. This means 666.58 IO ops/second due to WinUtils. We should start considering to remove WinUtils from Hadoop and creating a JNI interface.

Container isolation requirements The container executor must access the local files and directories needed by the container such as jars, configuration files, log files, shared objects etc. Although it is launched by the NodeManager, the container should not have access to the NodeManager private files and configuration.

Container running applications submitted by different users should be isolated and unable to access each other files and directories. Similar requirements apply to other system non-file securable objects like named pipes, critical sections, LPC queues, shared memory etc. Windows Secure Container Executor (WSCE) The Windows environment secure container executor is the WindowsSecureContainerExecutor. It uses the Windows S4U infrastructure to launch the container as the YARN application user. The WSCE requires the presense of the hadoopwinutilsvc service.

This services is hosted by%HADOOPHOME% bin winutils.exe started with the service command line argument. This service offers some privileged operations that require LocalSystem authority so that the NM is not required to run the entire JVM and all the NM code in an elevated context. The NM interacts with the hadoopwintulsvc service by means of Local RPC (LRPC) via calls JNI to the RCP client hosted in hadoop.dll. Yarn.nodemanager.windows-secure-container-executor.impersonate.allowed HadoopUsers yarn.nodemanager.windows-secure-container-executor.impersonate.denied HadoopServices,Administrators yarn.nodemanager.windows-secure-container-executor.allowed nodemanager yarn.nodemanager.windows-secure-container-executor.local-dirs nm-local-dir, nm-log-dirs yarn.nodemanager.windows-secure-container-executor.job-name nodemanager-job-name yarn.nodemanager.windows-secure-container-executor.allowed should contain the name of the service account running the nodemanager. This user will be allowed to access the hadoopwintuilsvc functions. Yarn.nodemanager.windows-secure-container-executor.impersonate.allowed should contain the users that are allowed to create containers in the cluster. These users will be allowed to be impersonated by hadoopwinutilsvc.

Winutils Spark

Yarn.nodemanager.windows-secure-container-executor.impersonate.denied should contain users that are explicitly forbidden from creating containers. Hadoopwinutilsvc will refuse to impersonate these users. Yarn.nodemanager.windows-secure-container-executor.local-dirs should contain the nodemanager local dirs. Hadoopwinutilsvc will allow only file operations under these directories. This should contain the same values as $yarn.nodemanager.local-dirs, $yarn.nodemanager.log-dirs but note that hadoopwinutilsvc XML configuration processing does not do substitutions so the value must be the final value. All paths must be absolute and no environment variable substitution will be performed. The paths are compared LOCALINVARIANT case insensitive string comparison, the file path validated must start with one of the paths listed in local-dirs configuration.

Install Winutils

Use comma as path separator:, yarn.nodemanager.windows-secure-container-executor.job-name should contain an Windows NT job name that all containers should be added to. This configuration is optional. If not set, the container is not added to a global NodeManager job.

Normally this should be set to the job that the NM is assigned to, so that killing the NM kills also all containers. Hadoopwinutilsvc will not attempt to create this job, the job must exists when the container is launched. If the value is set and the job does not exists, container launch will fail with error 2 The system cannot find the file specified. Note that this global NM job is not related to the container job, which always gets created for each container and is named after the container ID. This setting controls a global job that spans all containers and the parent NM, and as such it requires nested jobs. Nested jobs are available only post Windows 8 and Windows Server 2012.