专栏首页Hadoop实操0517-如何在CDH5中使用单用户模式

0517-如何在CDH5中使用单用户模式

我们一般在安装CDH时,都是使用root或具有sudo权限的用户安装的,如果大家有注意会发现用于管理每台主机上的Hadoop进程的Cloudera Manager Agent服务(cloudera-scm-agent)是以root用户身份运行的。但是在有些企业,运维部门有严格的要求,需要CDH使用自己的用户来管理即不能随便使用root,比如要求cloudera-scm-agent服务以其他用户进行启停和管理。我们一般在安装CDH时,都是使用root或具有sudo权限的用户安装的,如果大家有注意会发现用于管理每台主机上的Hadoop进程的Cloudera Manager Agent服务(cloudera-scm-agent)是以root用户身份运行的。但是在有些企业,运维部门有严格的要求,需要CDH使用自己的用户来管理即不能随便使用root,比如要求cloudera-scm-agent服务以其他用户进行启停和管理。我们一般在安装CDH时,都是使用root或具有sudo权限的用户安装的,如果大家有注意会发现用于管理每台主机上的Hadoop进程的Cloudera Manager Agent服务(cloudera-scm-agent)是以root用户身份运行的。但是在有些企业,运维部门有严格的要求,需要CDH使用自己的用户来管理即不能随便使用root,比如要求cloudera-scm-agent服务以其他用户进行启停和管理。我们一般在安装CDH时,都是使用root或具有sudo权限的用户安装的,如果大家有注意会发现用于管理每台主机上的Hadoop进程的Cloudera Manager Agent服务(cloudera-scm-agent)是以root用户身份运行的。但是在有些企业,运维部门有严格的要求,需要CDH使用自己的用户来管理即不能随便使用root,比如要求cloudera-scm-agent服务以其他用户进行启停和管理。我们一般在安装CDH时,都是使用root或具有sudo权限的用户安装的,如果大家有注意会发现用于管理每台主机上的Hadoop进程的Cloudera Manager Agent服务(cloudera-scm-agent)是以root用户身份运行的。但是在有些企业,运维部门有严格的要求,需要CDH使用自己的用户来管理即不能随便使用root,比如要求cloudera-scm-agent服务以其他用户进行启停和管理。我们一般在安装CDH时,都是使用root或具有sudo权限的用户安装的,如果大家有注意会发现用于管理每台主机上的Hadoop进程的Cloudera Manager Agent服务(cloudera-scm-agent)是以root用户身份运行的。但是在有些企业,运维部门有严格的要求,需要CDH使用自己的用户来管理即不能随便使用root,比如要求cloudera-scm-agent服务以其他用户进行启停和管理。

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

Fayson的github: https://github.com/fayson/cdhproject

提示:代码块部分可以左右滑动查看噢

我们一般在安装CDH时,都是使用root或具有sudo权限的用户安装的,如果大家有注意会发现用于管理每台主机上的Hadoop进程的Cloudera Manager Agent服务(cloudera-scm-agent)是以root用户身份运行的。但是在有些企业,运维部门有严格的要求,需要CDH使用自己的用户来管理即不能随便使用root,比如要求cloudera-scm-agent服务以其他用户进行启停和管理。

从Cloudera Manager 5.3开始Cloudera提供了single user mode,来满足这种要求。在单用户模式下,Cloudera Manager Agent和所有由Cloudera Manager管理的服务进程都可以由配置的用户来启动。单用户模式优先考虑Hadoop与系统其余进程之间的隔离,而不是Hadoop进程之间的隔离。

对于Cloudera Manager的部署,单用户模式是全局的,适用于由该Cloudera Manager管理的所有集群。

默认情况下,单用户是cloudera-scm,本文后面描述的的配置步骤默认使用该用户。当然也执行配置为其他用户,本文后面的内容也会有描述。

1

限制

1.不能在标准的多用户模式和单用户模式之间进行自动切换。

注意:在CM的配置页面Administration > Settings有一个Single user mode的复选框,一旦CDH安装完毕,勾选或不勾选该复选框并不能启用或者禁用单用户模式。

2.单用户模式支持CDH5.2或更高版本。

3.NFS Gateway不支持单用户模式。

4.Cloudera Navigator的数据加密组件不支持单用户模式。

5.Kudu不支持单用户模式。

2

配置自定义单用户

在单用户模式下,如果不想使用默认的用户名cloudera-scm,想配置自定义的用户,执行以下步骤,这里假设要配置的自定义用户名为fayson:

1.配置fayson用户对以下目录有写权限:

/var/log/cloudera-scm-agent/
/var/lib/cloudera-scm-agent/

2.Cloudera Manager将parcel文件都保存到/opt/cloudera,默认该目录的属组用户是cloudera-scm。可以执行以下步骤二选一。

  • 配置fayson对/opt/cloudera目录有写权限。
  • 更换Parcel的默认目录,然后配置fayson用户的写权限。

1)进入Administration > Settings > Parcels

2)设置Local Parcel Repository Path参数为自定义目录

3)点击Save Changes

3.为fayson用户在/etc/security/limits.d/fayson.conf中创建进程限制配置文件:

fayson soft nofile 32768
fayson soft nproc 65536
fayson hard nofile 1048576
fayson hard nproc unlimited
fayson hard memlock unlimited
fayson soft memlock unlimited

3

通过向导安装Agent和CDH之前的配置

在将集群配置为在单用户模式下运行之前,必须在集群中的所有主机上执行以下步骤:

1.为单用户配置免密的sudo访问权限。如果用户不存在,你需要先创建这个用户。可以运行以下命令来配置sudoers group来实现:

usermod -a -G sudo cloudera-scm

你也可以通过运行命令visudo在打开的文件中加入以下内容:

%cloudera-scm ALL=(ALL) NOPASSWD: ALL

2.还需要保证运行sudo时包含路径/usr/sbin,按以下步骤进行配置:

  • 编辑/etc/sudoers文件或者执行visudo命令
  • 在配置文件中增加以下内容:
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin

3.在设置Agent之前为su设置每个用户限制。

  • 编辑文件/etc/pam.d/su
  • 取消注释
session required pam_limits.so

4.依赖于Tomcat的角色,你需要为其创建以下目录,并确保cloudera-scm用户有写入权限:

  • HDFS(HttpFS角色) - /var/lib/hadoop-httpfs
  • Oozie Server - /var/lib/oozie
  • Sqoop 2 Server - /var/lib/sqoop2
  • Solr Server - /var/lib/solr

5.Cloudera建议你创建cloudera-scm用户拥有的前缀目录(例如/cm),在该目录下将放置所有其他服务目录。在单用户模式下,Cloudera Manager Agent在前缀目录下会创建具有正确权限的其他子目录。如果主机上有其他卷会用作数据目录,Cloudera建议在每个卷上创建一个目录(例如,/data0/cm/data1/cm),cloudera-scm用户对这些目录都需配置写权限。

4

通过向导安装Agent和CDH时的配置

通过Cloudera Manager的向导安装第一个集群时,你可以选择单用户模式。这样可以将Agent配置为使用cloudera-scm用户来运行。

你需要确保cloudera-scm对所有已配置的目录都有写权限。只要cloudera-scm用户对父目录有权限,子目录不存在也没关系。

在标准审核配置页面的下一步,其他路径配置页面会显示将会在集群中创建的服务的所有可配置路径。cloudera-scm用户对这些目录也必须有写权限。一般来说,需要修改的默认目录一般分为两类:

1./var下的目录 - 主要是不同服务的logrundata目录。

2.每个卷上的数据目录 - 主要是比如HDFS,MapReduce,YARN和Impala会用到的所有数据盘上的目录。

5

控制对sudo命令的访问

要符合安全要求,你可能需要控制对Cloudera Manager Agents运行的sudo命令的访问。你可以通过创建Cloudera Manager Agent运行的sudo命令的“白名单”来控制访问,也可以覆盖sudo命令,以便调用拒绝某些操作的自定义脚本。

Cloudera Manager Agents使用sudo进行以下常规操作:

1.在进行升级并更新Parcel时运行update-alternatives命令。

2.增加新的角色和服务时需要sudo权限来使用chownchmod命令。

3.当使用Linux Control Groups进行资源管理和为cm_processes挂载临时目录到tmpfs时,执行mountunmount命令。

4.需要从/proc/etc目录以及特定分发的网络配置文件中读取文件,搜集诊断包时。

6

sudo命令的白名单

需要将以下命令列入cloudera-scm-agent服务运行用户的白名单,可以是默认用户cloudera-scm,也可以是自定义用户。具体参考Linux的suoders的使用。

1.常规操作

  • cat
  • chmod
  • chown
  • cp
  • find
  • mkdir
  • mount
  • rm
  • umount
  • update-alternatives

2.搜集诊断包命令

  • bash
  • cat
  • date
  • df
  • dmesg
  • grep
  • hostname
  • ls
  • netstat
  • ps
  • rpm
  • uname
  • chkconfig
  • ethtool
  • ifconfig
  • iptables
  • lsmod
  • lspci
  • lvdisplay
  • service
  • sysctl
  • curl
  • dig
  • host
  • lsb_release
  • lscpu
  • nslookup
  • ntpstat
  • python
  • sar
  • top
  • uptime
  • vmstat
  • dmidecode
  • lsof
  • ntpq

7

覆盖sudo命令

你可以覆盖sudo命令,以便调用自定义脚本。此脚本可以拒绝某些操作。

1.编辑集群所有主机上的/etc/cloudera-scm-agent/config.ini文件,并添加以下内容:

sudo_command=path_to_script

2.在所有主机上重启Cloudera Manager Agent

service cloudera-scm-agent restart

如果要确定需要覆盖的命令,可以参考典型的Cloudera Manager Agent会执行的命令。

Cloudera Manager Agent在单个主机上为新服务启用角色时运行的命令:

/bin/cat /proc/cgroups
/bin/chmod -R ugo+r /etc/accumulo/*
/bin/chmod -R ugo+r /etc/hadoop/*
/bin/chmod -R ugo+r /etc/hbase/*
/bin/chmod -R ugo+r /etc/hive/*
/bin/chmod -R ugo+r /etc/solr/*
/bin/chmod -R ugo+r /etc/spark/*
/bin/chmod -R ugo+r /etc/sqoop/*
/bin/chmod 0644 /cldr/app/coolapp/var/run/cloudera-scm-agent/process/*/topology.map
/bin/chmod 0755 /cldr/app/coolapp/opt/parcels/CDH*/lib/hue/desktop
/bin/chmod 0755 /cldr/app/coolapp/var/run/cloudera-scm-agent/process/*/topology.py
/bin/chmod 4754 /cldr/app/coolapp/opt/parcels/CDH*/lib/hadoop-0.20-mapreduce/sbin/Linux/task-controller
/bin/chmod 6050 /cldr/app/coolapp/opt/parcels/CDH*/lib/hadoop-yarn/bin/container-executor
/bin/chown -R cloudera-scm:cloudera-scm /tmp/*
/bin/chown coolapp:coolapp /etc/hadoop/*/topology.map
/bin/chown coolapp:coolapp /etc/hadoop/*/topology.py
/bin/chown coolapp:coolapp /cldr/app/coolapp/var/run/coolapp-agent/process/*/topology.map
/bin/chown coolapp:coolapp /cldr/app/coolapp/var/run/coolapp-agent/process/*/topology.py
/bin/chown root /etc/accumulo/*
/bin/chown root /etc/hadoop/*
/bin/chown root /etc/hbase/*
/bin/chown root /etc/hive/*
/bin/chown root /etc/solr/*
/bin/chown root /etc/spark/*
/bin/chown root /etc/sqoop/*
/bin/chown root /cldr/app/coolapp/opt/parcels/CDH*/lib/hadoop-0.20-mapreduce/sbin/Linux/task-controller
/bin/chown root /cldr/app/coolapp/opt/parcels/CDH*/lib/hadoop-yarn/bin/container-executor
/bin/cp -a /cldr/app/coolapp/var/run/cloudera-scm-agent/process/*/accumulo-conf /etc/accumulo/*
/bin/cp -a /cldr/app/coolapp/var/run/cloudera-scm-agent/process/*/hadoop-conf /etc/hadoop/*
/bin/cp -a /cldr/app/coolapp/var/run/cloudera-scm-agent/process/*/yarn-conf /etc/hadoop/*
/bin/cp -a /cldr/app/coolapp/var/run/cloudera-scm-agent/process/*/hadoop-conf /etc/hadoop/*
/bin/cp -a /cldr/app/coolapp/var/run/cloudera-scm-agent/process/*/yarn-conf /etc/hadoop/*
/bin/cp -a /cldr/app/coolapp/var/run/cloudera-scm-agent/process/*/hadoop-conf /etc/hadoop/*
/bin/cp -a /cldr/app/coolapp/var/run/cloudera-scm-agent/process/*/hadoop-conf /etc/hadoop/*
/bin/cp -a /cldr/app/coolapp/var/run/cloudera-scm-agent/process/*/hbase-conf /etc/hbase/*
/bin/cp -a /cldr/app/coolapp/var/run/cloudera-scm-agent/process/*/hbase-conf /etc/hbase/*
/bin/cp -a /cldr/app/coolapp/var/run/cloudera-scm-agent/process/*/hive-conf /etc/hive/*
/bin/cp -a /cldr/app/coolapp/var/run/cloudera-scm-agent/process/*/hive-conf /etc/hive/*
/bin/cp -a /cldr/app/coolapp/var/run/cloudera-scm-agent/process/*/solr-conf /etc/solr/*
/bin/cp -a /cldr/app/coolapp/var/run/cloudera-scm-agent/process/*/solr-conf /etc/solr/*
/bin/cp -a /cldr/app/coolapp/var/run/cloudera-scm-agent/process/*/spark-conf /etc/spark/*
/bin/cp -a /cldr/app/coolapp/var/run/cloudera-scm-agent/process/*/spark-conf /etc/spark/*
/bin/cp -a /cldr/app/coolapp/var/run/cloudera-scm-agent/process/*/sqoop-conf /etc/sqoop/*
/bin/cp -a /cldr/app/coolapp/var/run/cloudera-scm-agent/process/*/sqoop-conf /etc/sqoop/*
/bin/cp -p /cldr/app/coolapp/var/run/cloudera-scm-agent/process/*/topology.map /etc/hadoop/*/topology.map
/bin/cp -p /cldr/app/coolapp/var/run/cloudera-scm-agent/process/*/topology.py /etc/hadoop/*/topology.py
/bin/mkdir -p /etc/accumulo
/bin/mkdir -p /etc/flume-ng
/bin/mkdir -p /etc/hadoop
/bin/mkdir -p /etc/hadoop-httpfs
/bin/mkdir -p /etc/hadoop-kms
/bin/mkdir -p /etc/hbase
/bin/mkdir -p /etc/hbase-solr
/bin/mkdir -p /etc/hive
/bin/mkdir -p /etc/hive-hcatalog
/bin/mkdir -p /etc/hive-webhcat
/bin/mkdir -p /etc/hue
/bin/mkdir -p /etc/impala
/bin/mkdir -p /etc/llama
/bin/mkdir -p /etc/mahout
/bin/mkdir -p /etc/oozie
/bin/mkdir -p /etc/pig
/bin/mkdir -p /etc/sentry
/bin/mkdir -p /etc/solr
/bin/mkdir -p /etc/spark
/bin/mkdir -p /etc/sqoop
/bin/mkdir -p /etc/sqoop2
/bin/mkdir -p /etc/zookeeper
/bin/mount -t cgroup -o blkio cm_cgroups /tmp/*
/bin/mount -t cgroup -o cpu cm_cgroups /tmp/*
/bin/mount -t cgroup -o cpuacct cm_cgroups /tmp/*
/bin/mount -t cgroup -o memory cm_cgroups /tmp/*
/bin/mount -t tmpfs cm_processes /cldr/app/coolapp/var/run/cloudera-scm-agent/process -o mode
/bin/rm
/bin/rm -rf /etc/accumulo/*
/bin/rm -rf /etc/hadoop/*
/bin/rm -rf /etc/hbase/*
/bin/rm -rf /etc/hive/*
/bin/rm -rf /etc/solr/*
/bin/rm -rf /etc/spark/*
/bin/rm -rf /etc/sqoop/*
/bin/umount /tmp/*
/usr/sbin/update-alternatives --admindir /var/lib/alternatives --altdir /etc/alternatives --display ip6tables.x86_64
/usr/sbin/update-alternatives --admindir /var/lib/alternatives --altdir /etc/alternatives --display iptables.x86_64
/usr/sbin/update-alternatives --admindir /var/lib/alternatives --altdir /etc/alternatives --display mta
/usr/sbin/update-alternatives --admindir /var/lib/alternatives --altdir /etc/alternatives --display print
/usr/sbin/update-alternatives --auto accumulo-conf
/usr/sbin/update-alternatives --auto hadoop-conf
/usr/sbin/update-alternatives --auto hbase-conf
/usr/sbin/update-alternatives --auto hive-conf
/usr/sbin/update-alternatives --auto solr-conf
/usr/sbin/update-alternatives --auto spark-conf
/usr/sbin/update-alternatives --auto sqoop-conf
/usr/sbin/update-alternatives --install /etc/accumulo/conf accumulo-conf /etc/accumulo/* 51
/usr/sbin/update-alternatives --install /etc/flume-ng/conf flume-ng-conf /cldr/app/coolapp/opt/parcels/CDH*/etc/flume-ng/conf.empty 10
/usr/sbin/update-alternatives --install /etc/hadoop-httpfs/conf hadoop-httpfs-conf /cldr/app/coolapp/opt/parcels/CDH*/etc/hadoop-httpfs/conf.empty 10
/usr/sbin/update-alternatives --install /etc/hadoop-kms/conf hadoop-kms-conf /cldr/app/coolapp/opt/parcels/CDH*/etc/hadoop-kms/conf.dist 10
/usr/sbin/update-alternatives --install /etc/hadoop/conf hadoop-conf /etc/hadoop/* 90
/usr/sbin/update-alternatives --install /etc/hadoop/conf hadoop-conf /etc/hadoop/* 91
/usr/sbin/update-alternatives --install /etc/hadoop/conf hadoop-conf /etc/hadoop/* 92
/usr/sbin/update-alternatives --install /etc/hadoop/conf hadoop-conf /cldr/app/coolapp/opt/parcels/CDH*/etc/hadoop/conf.empty 10
/usr/sbin/update-alternatives --install /etc/hbase-solr/conf hbase-solr-conf /cldr/app/coolapp/opt/parcels/CDH*/etc/hbase-solr/conf.dist 10
/usr/sbin/update-alternatives --install /etc/hbase/conf hbase-conf /etc/hbase/* 90
/usr/sbin/update-alternatives --install /etc/hbase/conf hbase-conf /cldr/app/coolapp/opt/parcels/CDH*/etc/hbase/conf.dist 10
/usr/sbin/update-alternatives --install /etc/hive-hcatalog/conf hive-hcatalog-conf /cldr/app/coolapp/opt/parcels/CDH*/etc/hive-hcatalog/conf.dist 10
/usr/sbin/update-alternatives --install /etc/hive-webhcat/conf hive-webhcat-conf /cldr/app/coolapp/opt/parcels/CDH*/etc/hive-webhcat/conf.dist 10
/usr/sbin/update-alternatives --install /etc/hive/conf hive-conf /etc/hive/* 90
/usr/sbin/update-alternatives --install /etc/hive/conf hive-conf /cldr/app/coolapp/opt/parcels/CDH*/etc/hive/conf.dist 10
/usr/sbin/update-alternatives --install /etc/hue/conf hue-conf /cldr/app/coolapp/opt/parcels/CDH*/etc/hue/conf.empty 10
/usr/sbin/update-alternatives --install /etc/impala/conf impala-conf /cldr/app/coolapp/opt/parcels/CDH*/etc/impala/conf.dist 10
/usr/sbin/update-alternatives --install /etc/llama/conf llama-conf /cldr/app/coolapp/opt/parcels/CDH*/etc/llama/conf.dist 10
/usr/sbin/update-alternatives --install /etc/mahout/conf mahout-conf /cldr/app/coolapp/opt/parcels/CDH*/etc/mahout/conf.dist 10
/usr/sbin/update-alternatives --install /etc/oozie/conf oozie-conf /cldr/app/coolapp/opt/parcels/CDH*/etc/oozie/conf.dist 10
/usr/sbin/update-alternatives --install /etc/pig/conf pig-conf /cldr/app/coolapp/opt/parcels/CDH*/etc/pig/conf.dist 10
/usr/sbin/update-alternatives --install /etc/sentry/conf sentry-conf /cldr/app/coolapp/opt/parcels/CDH*/etc/sentry/conf.dist 10
/usr/sbin/update-alternatives --install /etc/solr/conf solr-conf /etc/solr/* 90
/usr/sbin/update-alternatives --install /etc/solr/conf solr-conf /cldr/app/coolapp/opt/parcels/CDH*/etc/solr/conf.dist 10
/usr/sbin/update-alternatives --install /etc/spark/conf spark-conf /etc/spark/* 51
/usr/sbin/update-alternatives --install /etc/spark/conf spark-conf /cldr/app/coolapp/opt/parcels/CDH*/etc/spark/conf.dist 10
/usr/sbin/update-alternatives --install /etc/sqoop/conf sqoop-conf /etc/sqoop/* 50
/usr/sbin/update-alternatives --install /etc/sqoop/conf sqoop-conf /cldr/app/coolapp/opt/parcels/CDH*/etc/sqoop/conf.dist 10
/usr/sbin/update-alternatives --install /etc/sqoop2/conf sqoop2-conf /cldr/app/coolapp/opt/parcels/CDH*/etc/sqoop2/conf.dist 10
/usr/sbin/update-alternatives --install /etc/zookeeper/conf zookeeper-conf /cldr/app/coolapp/opt/parcels/CDH*/etc/zookeeper/conf.dist 10
/usr/sbin/update-alternatives --install /usr/bin/accumulo accumulo /cldr/app/coolapp/opt/parcels/ACCUMULO-1.6.0-1.cdh5.1.0.p0.51/bin/accumulo 10
/usr/sbin/update-alternatives --install /usr/bin/accumulo-tool accumulo-tool /cldr/app/coolapp/opt/parcels/ACCUMULO-1.6.0-1.cdh5.1.0.p0.51/bin/accumulo-tool 10
/usr/sbin/update-alternatives --install /usr/bin/avro-tools avro-tools /cldr/app/coolapp/opt/parcels/CDH*/bin/avro-tools 10
/usr/sbin/update-alternatives --install /usr/bin/beeline beeline /cldr/app/coolapp/opt/parcels/CDH*/bin/beeline 10
/usr/sbin/update-alternatives --install /usr/bin/catalogd catalogd /cldr/app/coolapp/opt/parcels/CDH*/bin/catalogd 10
/usr/sbin/update-alternatives --install /usr/bin/cli_mt cli_mt /cldr/app/coolapp/opt/parcels/CDH*/bin/cli_mt 10
/usr/sbin/update-alternatives --install /usr/bin/cli_st cli_st /cldr/app/coolapp/opt/parcels/CDH*/bin/cli_st 10
/usr/sbin/update-alternatives --install /usr/bin/flume-ng flume-ng /cldr/app/coolapp/opt/parcels/CDH*/bin/flume-ng 10
/usr/sbin/update-alternatives --install /usr/bin/hadoop hadoop /cldr/app/coolapp/opt/parcels/CDH*/bin/hadoop 10
/usr/sbin/update-alternatives --install /usr/bin/hadoop-0.20 hadoop-0.20 /cldr/app/coolapp/opt/parcels/CDH*/bin/hadoop-0.20 10
/usr/sbin/update-alternatives --install /usr/bin/hadoop-fuse-dfs hadoop-fuse-dfs /cldr/app/coolapp/opt/parcels/CDH*/bin/hadoop-fuse-dfs 10
/usr/sbin/update-alternatives --install /usr/bin/hbase hbase /cldr/app/coolapp/opt/parcels/CDH*/bin/hbase 10
/usr/sbin/update-alternatives --install /usr/bin/hbase-indexer hbase-indexer /cldr/app/coolapp/opt/parcels/CDH*/bin/hbase-indexer 10
/usr/sbin/update-alternatives --install /usr/bin/hcat hcat /cldr/app/coolapp/opt/parcels/CDH*/bin/hcat 10
/usr/sbin/update-alternatives --install /usr/bin/hdfs hdfs /cldr/app/coolapp/opt/parcels/CDH*/bin/hdfs 10
/usr/sbin/update-alternatives --install /usr/bin/hive hive /cldr/app/coolapp/opt/parcels/CDH*/bin/hive 10
/usr/sbin/update-alternatives --install /usr/bin/hiveserver2 hiveserver2 /cldr/app/coolapp/opt/parcels/CDH*/bin/hiveserver2 10
/usr/sbin/update-alternatives --install /usr/bin/impala-shell impala-shell /cldr/app/coolapp/opt/parcels/CDH*/bin/impala-shell 10
/usr/sbin/update-alternatives --install /usr/bin/impalad impalad /cldr/app/coolapp/opt/parcels/CDH*/bin/impalad 10
/usr/sbin/update-alternatives --install /usr/bin/kite-dataset kite-dataset /cldr/app/coolapp/opt/parcels/CDH*/bin/kite-dataset 10
/usr/sbin/update-alternatives --install /usr/bin/llama llama /cldr/app/coolapp/opt/parcels/CDH*/bin/llama 10
/usr/sbin/update-alternatives --install /usr/bin/llamaadmin llamaadmin /cldr/app/coolapp/opt/parcels/CDH*/bin/llamaadmin 10
/usr/sbin/update-alternatives --install /usr/bin/load_gen load_gen /cldr/app/coolapp/opt/parcels/CDH*/bin/load_gen 10
/usr/sbin/update-alternatives --install /usr/bin/mahout mahout /cldr/app/coolapp/opt/parcels/CDH*/bin/mahout 10
/usr/sbin/update-alternatives --install /usr/bin/mapred mapred /cldr/app/coolapp/opt/parcels/CDH*/bin/mapred 10
/usr/sbin/update-alternatives --install /usr/bin/oozie oozie /cldr/app/coolapp/opt/parcels/CDH*/bin/oozie 10
/usr/sbin/update-alternatives --install /usr/bin/pig pig /cldr/app/coolapp/opt/parcels/CDH*/bin/pig 10
/usr/sbin/update-alternatives --install /usr/bin/pyspark pyspark /cldr/app/coolapp/opt/parcels/CDH*/bin/pyspark 10
/usr/sbin/update-alternatives --install /usr/bin/sentry sentry /cldr/app/coolapp/opt/parcels/CDH*/bin/sentry 10
/usr/sbin/update-alternatives --install /usr/bin/solrctl solrctl /cldr/app/coolapp/opt/parcels/CDH*/bin/solrctl 10
/usr/sbin/update-alternatives --install /usr/bin/spark-executor spark-executor /cldr/app/coolapp/opt/parcels/CDH*/bin/spark-executor 10
/usr/sbin/update-alternatives --install /usr/bin/spark-shell spark-shell /cldr/app/coolapp/opt/parcels/CDH*/bin/spark-shell 10
/usr/sbin/update-alternatives --install /usr/bin/spark-submit spark-submit /cldr/app/coolapp/opt/parcels/CDH*/bin/spark-submit 10
/usr/sbin/update-alternatives --install /usr/bin/sqoop sqoop /cldr/app/coolapp/opt/parcels/CDH*/bin/sqoop 10
/usr/sbin/update-alternatives --install /usr/bin/sqoop-codegen sqoop-codegen /cldr/app/coolapp/opt/parcels/CDH*/bin/sqoop-codegen 10
/usr/sbin/update-alternatives --install /usr/bin/sqoop-create-hive-table sqoop-create-hive-table /cldr/app/coolapp/opt/parcels/CDH*/bin/sqoop-create-hive-table 10
/usr/sbin/update-alternatives --install /usr/bin/sqoop-eval sqoop-eval /cldr/app/coolapp/opt/parcels/CDH*/bin/sqoop-eval 10
/usr/sbin/update-alternatives --install /usr/bin/sqoop-export sqoop-export /cldr/app/coolapp/opt/parcels/CDH*/bin/sqoop-export 10
/usr/sbin/update-alternatives --install /usr/bin/sqoop-help sqoop-help /cldr/app/coolapp/opt/parcels/CDH*/bin/sqoop-help 10
/usr/sbin/update-alternatives --install /usr/bin/sqoop-import sqoop-import /cldr/app/coolapp/opt/parcels/CDH*/bin/sqoop-import 10
/usr/sbin/update-alternatives --install /usr/bin/sqoop-import-all-tables sqoop-import-all-tables /cldr/app/coolapp/opt/parcels/CDH*/bin/sqoop-import-all-tables 10
/usr/sbin/update-alternatives --install /usr/bin/sqoop-job sqoop-job /cldr/app/coolapp/opt/parcels/CDH*/bin/sqoop-job 10
/usr/sbin/update-alternatives --install /usr/bin/sqoop-list-databases sqoop-list-databases /cldr/app/coolapp/opt/parcels/CDH*/bin/sqoop-list-databases 10
/usr/sbin/update-alternatives --install /usr/bin/sqoop-list-tables sqoop-list-tables /cldr/app/coolapp/opt/parcels/CDH*/bin/sqoop-list-tables 10
/usr/sbin/update-alternatives --install /usr/bin/sqoop-merge sqoop-merge /cldr/app/coolapp/opt/parcels/CDH*/bin/sqoop-merge 10
/usr/sbin/update-alternatives --install /usr/bin/sqoop-metastore sqoop-metastore /cldr/app/coolapp/opt/parcels/CDH*/bin/sqoop-metastore 10
/usr/sbin/update-alternatives --install /usr/bin/sqoop-version sqoop-version /cldr/app/coolapp/opt/parcels/CDH*/bin/sqoop-version 10
/usr/sbin/update-alternatives --install /usr/bin/sqoop2 sqoop2 /cldr/app/coolapp/opt/parcels/CDH*/bin/sqoop2 10
/usr/sbin/update-alternatives --install /usr/bin/statestored statestored /cldr/app/coolapp/opt/parcels/CDH*/bin/statestored 10
/usr/sbin/update-alternatives --install /usr/bin/whirr whirr /cldr/app/coolapp/opt/parcels/CDH*/bin/whirr 10
/usr/sbin/update-alternatives --install /usr/bin/yarn yarn /cldr/app/coolapp/opt/parcels/CDH*/bin/yarn 10
/usr/sbin/update-alternatives --install /usr/bin/zookeeper-client zookeeper-client /cldr/app/coolapp/opt/parcels/CDH*/bin/zookeeper-client 10
/usr/sbin/update-alternatives --install /usr/bin/zookeeper-server zookeeper-server /cldr/app/coolapp/opt/parcels/CDH*/bin/zookeeper-server 10
/usr/sbin/update-alternatives --install /usr/bin/zookeeper-server-cleanup zookeeper-server-cleanup /cldr/app/coolapp/opt/parcels/CDH*/bin/zookeeper-server-cleanup 10
/usr/sbin/update-alternatives --install /usr/bin/zookeeper-server-initialize zookeeper-server-initialize /cldr/app/coolapp/opt/parcels/CDH*/bin/zookeeper-server-initialize 10
/usr/sbin/update-alternatives --install /usr/bin/bigtop-detect-javahome bigtop-detect-javahome /cldr/app/coolapp/opt/parcels/CDH*/bin/bigtop-detect-javahome 10
/usr/sbin/update-alternatives --install /usr/bin/impala-collect-minidumps impala-collect-minidumps /cldr/app/coolapp/opt/parcels/CDH*/bin impala-collect-minidumps 10
/usr/sbin/update-alternatives --install /usr/bin/parquet-tools parquet-tools /cldr/app/coolapp/opt/parcels/CDH*/bin/parquet-tools 10
/usr/sbin/update-alternatives --remove accumulo-conf /etc/accumulo/*
/usr/sbin/update-alternatives --remove hadoop-conf /etc/hadoop/*
/usr/sbin/update-alternatives --remove hbase-conf /etc/hbase/*
/usr/sbin/update-alternatives --remove hive-conf /etc/hive/*
/usr/sbin/update-alternatives --remove solr-conf /etc/solr/*
/usr/sbin/update-alternatives --remove spark-conf /etc/spark/*
/usr/sbin/update-alternatives --remove sqoop-conf /etc/sqoop/*

创建诊断包时由Cloudera Manager Agent运行的命令:

/bin/bash -c cd ..; find -maxdepth
/bin/bash -c for x in /etc/security/limits.d/*;
/bin/bash -c PATH
/bin/cat /etc/apt/sources.list
/bin/cat /etc/host.conf
/bin/cat /etc/hostname
/bin/cat /etc/hosts
/bin/cat /etc/issue
/bin/cat /etc/krb5.conf
/bin/cat /etc/nsswitch.conf
/bin/cat /etc/redhat-release
/bin/cat /etc/resolv.conf
/bin/cat /etc/security/limits.conf
/bin/cat /etc/suse-release
/bin/cat /etc/sysconfig/network
/bin/cat /etc/sysconfig/network/ifcfg-eth0
/bin/cat /etc/sysconfig/network-scripts/ifcfg-eth0
/bin/cat /etc/sysconfig/selinux
/bin/cat /proc/cpuinfo
/bin/cat /proc/diskstats
/bin/cat /proc/interrupts
/bin/cat /proc/meminfo
/bin/cat /proc/mounts
/bin/cat /proc/partitions
/bin/cat /proc/swaps
/bin/cat /proc/sys/vm/swappiness
/bin/cat /proc/vmstat
/bin/cat /var/kerberos/krb5kdc/kadm5.acl
/bin/cat /var/kerberos/krb5kdc/kdc.conf
/bin/cat /var/log/kern.log
/bin/cat /var/log/messages
/bin/date
/bin/df -i
/bin/df -k
/bin/dmesg
/bin/grep -r . /sys/kernel/mm
/bin/hostname --fqdn
/bin/ls /etc/yum.repos.d
/bin/netstat -s
/bin/ps aux
/bin/rpm -qa
/bin/uname -a
/bin/uname -r
/sbin/chkconfig --list
/sbin/ethtool eth0
/sbin/ethtool -S eth0
/sbin/ifconfig -a
/sbin/iptables -L -v -n
/sbin/lsmod
/sbin/lspci
/sbin/lvdisplay
/sbin/service --status-all
/sbin/sysctl -A
/usr/bin/curl -m 1 http://169.254.169.254/2011-01-01/meta-data/instance-type
/usr/bin/dig any test-1.ent.cloudera.com
/usr/bin/host -v -t A test-1.ent.cloudera.com
/usr/bin/lsb_release -a
/usr/bin/lscpu
/usr/bin/nslookup -query
/usr/bin/ntpstat
/usr/bin/python -c import socket; print socket.getfqdn();
/usr/bin/sar -A
/usr/bin/top -b -n 1
/usr/bin/uptime
/usr/bin/vmstat
/usr/sbin/dmidecode
/usr/sbin/lsof -n -P
/usr/sbin/ntpq -pn

8

总结

1.本文主要描述了,如果你不想使用root用户运行cloudera-scm-agent服务,可以选择CDH5提供的单用户模式,默认用户是cloudera-scm。

2.如果你的集群有开启Kerberos,步骤会更复杂一些,具体参考文末给出的官方文档链接。

3.编写本文的主要目的是为了告诉大家如果安装CDH时,不选用root用户来管理Cloudera Manager Agent服务会有多么复杂,请及时知难而退。另外CDH6开始,该模式也已经被取消了,想用也没机会了。

原文参考:

https://www.cloudera.com/documentation/enterprise/5-16-x/topics/install_singleuser_reqts.html

提示:代码块部分可以左右滑动查看噢

为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

本文分享自微信公众号 - Hadoop实操(gh_c4c535955d0f),作者:Fayson

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-01-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 0639-6.1.1-Spark读取由Impala创建的Parquet文件异常分析

    2.通过CDH提供的parquet tool进行分析,参考《0631-6.2-如何确认一个Parquet文件是否被压缩》。

    Fayson
  • 如何在Kerberos环境下的CDH集群部署Spark2.1的Thrift及spark-sql客户端

    Fayson
  • Cloudera Agent服务异常分析

    在Cloudera Manager的主机列表界面查看cdh05.fayson.com节点显示异常,节点上一次检测时间超过15s

    Fayson
  • -bash: ls: command not found或者-bash: cd: command not found解决办法

    执行   source   /etc/profile生效之后就可以正常使用Linux命令了

    王小婷
  • python: bin函数

    JNingWei
  • 类型提升

    当容量小的的数据类型的变量与容量大的数据类型做运算时,结果自动提升为容量大的数据。

    DataScience
  • virtualenv各python版本的虚拟环境创建及常用命令说明

    然后确定系统中Python的安装位置,比如我的位置在/usr/bin/下 创建py2环境

    Ewdager
  • 甲骨文又“食言”了,将斥资11.6亿美元收购云服务商Aconex

    “并购狂人”甲骨文又开始买买买了! 据路透社报道,澳大利亚面向全球建筑业的云解决方案供应商Aconex周一宣布,已收到美国软件巨头甲骨文发出的15.6亿澳元(约...

    企鹅号小编
  • 机器学习8:集成学习--LightGBM

    LightGBM相关知识模块:Histogram VS pre-sorted,leaf-wiseVS level-wise,特征并行和数据并行,顺序访问梯度,...

    用户5473628
  • 10.11 如何使用git?

    域名中有连字符也是可以的,git-scm中就有一个连字符,不影响它的专业性和受欢迎程度。

    李艺

扫码关注云+社区

领取腾讯云代金券