123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- #!/usr/bin/env bash
- # Licensed to the Apache Software Foundation (ASF) under one
- # or more contributor license agreements. See the NOTICE file
- # distributed with this work for additional information
- # regarding copyright ownership. The ASF licenses this file
- # to you under the Apache License, Version 2.0 (the
- # "License"); you may not use this file except in compliance
- # with the License. You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- ## @description install yarn
- ## @audience public
- ## @stability stable
- function install_yarn()
- {
- install_yarn_container_executor
- install_yarn_config
- }
- ## @description uninstall yarn
- ## @audience public
- ## @stability stable
- function uninstall_yarn()
- {
- rm -rf /etc/yarn/sbin/Linux-amd64-64/*
- rm -rf /etc/yarn/sbin/etc/hadoop/*
- }
- ## @description download yarn container executor
- ## @audience public
- ## @stability stable
- function download_yarn_container_executor()
- {
- # my download http server
- if [[ -n "$DOWNLOAD_HTTP" ]]; then
- MY_YARN_CONTAINER_EXECUTOR_PATH="${DOWNLOAD_HTTP}/downloads/hadoop/container-executor"
- else
- MY_YARN_CONTAINER_EXECUTOR_PATH=${YARN_CONTAINER_EXECUTOR_PATH}
- fi
- if [ ! -d "${DOWNLOAD_DIR}/hadoop" ]; then
- mkdir -p ${DOWNLOAD_DIR}/hadoop
- fi
- if [[ -f "${DOWNLOAD_DIR}/hadoop/container-executor" ]]; then
- echo "${DOWNLOAD_DIR}/hadoop/container-executor is exist."
- else
- if [[ -n "$DOWNLOAD_HTTP" ]]; then
- echo "download ${MY_YARN_CONTAINER_EXECUTOR_PATH} ..."
- wget -P ${DOWNLOAD_DIR}/hadoop ${MY_YARN_CONTAINER_EXECUTOR_PATH}
- else
- echo "copy ${MY_YARN_CONTAINER_EXECUTOR_PATH} ..."
- cp ${MY_YARN_CONTAINER_EXECUTOR_PATH} ${DOWNLOAD_DIR}/hadoop/
- fi
- fi
- }
- ## @description install yarn container executor
- ## @audience public
- ## @stability stable
- function install_yarn_container_executor()
- {
- echo "install yarn container executor file ..."
- download_yarn_container_executor
- if [ ! -d "/etc/yarn/sbin/Linux-amd64-64" ]; then
- mkdir -p /etc/yarn/sbin/Linux-amd64-64
- fi
- if [ -f "/etc/yarn/sbin/Linux-amd64-64/container-executor" ]; then
- rm /etc/yarn/sbin/Linux-amd64-64/container-executor
- fi
- cp -f ${DOWNLOAD_DIR}/hadoop/container-executor /etc/yarn/sbin/Linux-amd64-64
- sudo chmod 6755 /etc/yarn/sbin/Linux-amd64-64
- sudo chown :yarn /etc/yarn/sbin/Linux-amd64-64/container-executor
- sudo chmod 6050 /etc/yarn/sbin/Linux-amd64-64/container-executor
- }
- ## @description install yarn config
- ## @audience public
- ## @stability stable
- function install_yarn_config()
- {
- echo "install yarn config file ..."
- cp -R ${PACKAGE_DIR}/hadoop ${INSTALL_TEMP_DIR}/
- find="/"
- replace="\/"
- escape_yarn_nodemanager_local_dirs=${YARN_NODEMANAGER_LOCAL_DIRS//$find/$replace}
- escape_yarn_nodemanager_log_dirs=${YARN_NODEMANAGER_LOG_DIRS//$find/$replace}
- escape_yarn_hierarchy=${YARN_HIERARCHY//$find/$replace}
- sed -i "s/YARN_NODEMANAGER_LOCAL_DIRS_REPLACE/${escape_yarn_nodemanager_local_dirs}/g" $INSTALL_TEMP_DIR/hadoop/container-executor.cfg >>$LOG
- sed -i "s/YARN_NODEMANAGER_LOG_DIRS_REPLACE/${escape_yarn_nodemanager_log_dirs}/g" $INSTALL_TEMP_DIR/hadoop/container-executor.cfg >>$LOG
- sed -i "s/DOCKER_REGISTRY_REPLACE/${DOCKER_REGISTRY}/g" $INSTALL_TEMP_DIR/hadoop/container-executor.cfg >>$LOG
- sed -i "s/CALICO_NETWORK_NAME_REPLACE/${CALICO_NETWORK_NAME}/g" $INSTALL_TEMP_DIR/hadoop/container-executor.cfg >>$LOG
- sed -i "s/YARN_HIERARCHY_REPLACE/${escape_yarn_hierarchy}/g" $INSTALL_TEMP_DIR/hadoop/container-executor.cfg >>$LOG
- # Delete the ASF license comment in the container-executor.cfg file, otherwise it will cause a cfg format error.
- sed -i '1,16d' $INSTALL_TEMP_DIR/hadoop/container-executor.cfg
- if [ ! -d "/etc/yarn/sbin/etc/hadoop" ]; then
- mkdir -p /etc/yarn/sbin/etc/hadoop
- fi
- cp -f $INSTALL_TEMP_DIR/hadoop/container-executor.cfg /etc/yarn/sbin/etc/hadoop/
- }
|