当前位置: 首页 > news >正文

Cloudera Manager集群(CDH6.2.0.1)完整搭建指南

目录

引子

下载所有安装包准备离线安装

大数据安装前的环境规划

基础环境准备

host名与ip绑定

各主机间设成免密登录

安装openjdk

各节点间关selinux关firewalld

然后使用以下命令在各个节点禁firewalld

普通用户(appadmin)sudo su提权时的免密

设置大数据集群的文件打开数

设置大数据使用系统最大物理内存

安装离线安装时的Yum源

先设nginx

开始设置离线Yum源

设置mysql

导入GPG key(如果没有这步操作,很可能cloudera服务安装失败)manager节点

安装CDH的Manager节点

对/opt/cloudera目录进行赋权

正式安装前的初始化数据库中的数据

CDH-6.2.0的正式安装

附录:如何干净的铲除大数据

在agent即一般节点上卸载大数据

在Server即Management节点上卸载大数据


引子

啊,大数据!

其实并不难,难的是你“愿不愿意学”。因此我们以一篇大数据的环境搭建来入门。

2005年,会在redhat 7上搭建oracle,搭完跑通,就能拿到5000块钱。因此,在那时流行着一句话:如何学linux?在linux上会装oracle了你就会linux了。

那么大数据的安装将是在linux上安装10几个乃至几十个oracle的工作量,涉及到的知识之广,分门别类。在此,我以一文将这些知识点全部串通起来,使得按照此文安装的人员可以迅速在1天内即完成大数据集群的安装以及了解到一些相关的原理。

下载所有安装包准备离线安装

 

请去以下网址下载cdh所有的离线安装包,推荐使用cdh yum离线安装方式。

https://archive.cloudera.com/cdh6/6.2.0/parcels/

此处,记得mysql一定要安装5.7.26及以上,这是基本。不要试图连线安装mysql,因为mysql的官方yum源太慢,一秒才20,30k的速度下载,你会等疯掉的。

把相关的下载包我们部部上传到主服务器,比如说:192.168.0.1的/home/appadmin目录下,建立一个cdh6.2.0,把所有这些文件全部放在这个目录下。

  • 所有rpm以及allkeys.asc和RPM-GPG-KEY-cloudera放在cloudera-repos-6.2.0目录下
  • 所有的.parcel以及CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha(可能没有,没有后面教你怎么生成)以及manifest.json放在parcel-6.2.0目录下
  • mysql的所有内容位于mysql5.7包下

大数据安装前的环境规划

全部使用centos7.4及以上,内存全部为:16gb,cpu:2c及以上即可,硬盘一定要使用ssd,每台200gb即可。

我们一共有5台主机:

  • 192.168.0.1
  • 192.168.0.2
  • 192.168.0.3
  • 192.168.0.4
  • 192.168.0.5

我们会在192.168.0.1上安装cloudera manager这个中央控制端,在其它各节点安装cloudera agent即子节点。为了充分利用资源,我们会在192.168.0.1上也安装一个agent(子节点)端。整体结构如下:

基础环境准备

host名与ip绑定

在每台机器上编辑/etc/hosts文件中列入

192.168.0.1 cdh01

 

192.168.0.2 cdh02

 

192.168.0.3 cdh03

 

192.168.0.4 cdh04

 

192.168.0.5 cdh05

各主机间设成免密登录

因为大数据安装是以离线方式,因此在实际安装时会从master即cdh01节点,把那个上g的parcel通过scp“下发”到每一台主机上。cdh群要求各主机间必须为root或者是非root但是需要免密登的帐户来执行这个过程。

显然,我们不可能在生产环境使用root帐号安装cdh群,因此我们会使用appadmin这个帐号,因此我们在每一台机器上都有appadmin这个帐号,它同时还必须为sudo提权资格用户。然后在5台机器间我们把appadmin设成免密登录。

第一步:在appadmin远程ssh已经登录的情况下执行下面这个命令

ssh-keygen -t rsa

提到提示后什么都不用管,直接回车+回车+回车,三个回车代表密码为空、密钥生成路径为默认,即在当前/home/appadmin/目录下会产生一个.ssh的目录,里面会有2个文件:

  1. id_rsa
  2. id_rsa.pub

第二步:生成authorized_keys文件

cat id_rsa.pub >> authorized_keys

id_rsa是公钥内容,它的意思就是把公钥内容全部写入一个新的文件叫authorized_keys文件,为什么一定要是authorized_keys这个名字呢?

那是因为在/etc/ssh/sshd_config中,有这么一行语句

 

它规定了你的免密登录时寻找的文件名是一个什么名字、在哪找到它?你也可以更改,不过如果你更改了这个文件记得一定要systemctl restart sshd才能生效。

第三步:在2号节点、3号节点、4号节点、5号节点重复以第一步到第二步,每个节点的.ssh目录内生成各自的authorized_keys文件

第四步:在2,3,4,5节点上分别执行以下的命令

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.1

它的作用是把本机自己的authorized_keys内的内容“追加”到目标服务器即master节点也是192.168.0.1的authorized_keys文件内容里,而不是覆盖,是追加进去。

因此,当2,3,4,5这四个节点运行完上述命令后,你在192.168.0.1的authorized_keys文件中会看到5条内容,如下sample所示:

第五步:把1号节点上这个authorized_keys远程拷贝到另外所有节点上并覆盖其它节点上的authorized_keys

scp authorized_keys 192.168.0.2:/home/appadmin/.ssh/

scp authorized_keys 192.168.0.3:/home/appadmin/.ssh/

scp authorized_keys 192.168.0.4:/home/appadmin/.ssh/

scp authorized_keys 192.168.0.5:/home/appadmin/.ssh/

截止这一步后,你在任意一台机器上做ssh appadmin@另一个机器的ip,你即可发觉,不需要再次输入密码了,那么,大数据集群节点间的免密登录宣告成功。

安装openjdk

yum install java-1.8.0-openjdk.x86_64

每一台参于cdh节点的机器,必须安装。

各节点间关selinux关firewalld

vi /etc/selinux/config

记得文件一定一定要长成下面这个样子,如果你打开文件这边是:enforcing,一定要把SELINUX=enforcing改成下面这个样,一定一定不要改错地方改到SELINUXTYPE上去啊,那边不要碰,碰错了,centos启动不了,然后你可以百度搜:改错 selinux SELINUXTYPE后怎么办,答案是:使用centos的紧急模式,然后自己使用修改centos的grub文件修复去搞定吧,蛮煅练人的!

然后使用以下命令在各个节点禁firewalld

systemctl disable firewalld

systemctl stop firewalld

普通用户(appadmin)sudo su提权时的免密

大数据在安装时,如果你是普通用户,安装时会使用sudo su提权root,但是此时因为是在图形化界面安装,因此你不可能每次sudo su时有机会输入你的密码,那么我们就一次性把sudo su提权时也做成免密即可,你可以使用以下命令:

echo "appadmin ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/appadmin

sudo chmod 0440 /etc/sudoers.d/appadmin

然后你sudo su一下,发现直接就可以切换到了root权限了。分别在每台centos下运行。

设置大数据集群的文件打开数

默认centos打开文件数为1024,为了修改这个值,在每一个节点上,你需要做三步。

第1步:

echo 'vm.swappiness=10'>> /etc/sysctl.conf

sysctl -p

第二步:

vi /etc/security/limits.d/20-nproc.conf

然后把文件内容改成:

*          soft    nproc     409600

root       soft    nproc     unlimited

第三步:

vi /etc/security/limits.conf

在最后加入以下几行

* hard nofile 655350

* soft nofile 655350

三步执行后,重启每一个节点。

设置大数据使用系统最大物理内存

在每台机器上运行

echo never > /sys/kernel/mm/transparent_hugepage/defrag

echo never > /sys/kernel/mm/transparent_hugepage/enabled

你也可以直接把这两条语句,写入/etc/rc.local,让服务器在启动时可以自动执行上述两条语句。

重启。

安装离线安装时的Yum源

我们的大数据会采用基于rpm的离线安装,因此我们需要设置离线安装yum源

先设nginx

如果你的nginx没有安装请使用如下命令安装

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

yum install -y nginx

安装后请使用以下命令设成nginix开机自启动

systemctl enable nginx

systemctl start nginx

设置nginx配置

 

我们在Server段内加入如下配置

location /cloudera-repos/ {

    autoindex on;

    autoindex_exact_size off;

    autoindex_localtime on;

}

它的意思就是我们会在nginx下挂一个虚拟目录,此虚拟目录允许“目录”浏览,因为nginx默认是不允许目录浏览的,这是owasp top10安全规范,我们这边也只是临时开启。因此这边的autoindex on;就代表开启了nginx的目录允许浏览权限。

然后我们在nginx的web根目录一般为/usr/share/nginx/html下再建立一个目录叫:cloudera-repos,全路径看起来是长成这个样的:/usr/share/nginx/html/cloudera-repos。

然后我们把/home/appadmin/cdh6.2.0/cloudera-repos-6.2.0内的所有东西全部copy到/usr/share/nginx/html/cloudera-repos。为了方便我们再运行一下这条命令

chmod 777 /usr/share/nginx/html/cloudera-repos/*

全部设完后使用以下命令重启nginx服务,如果一切服务启动正常那么我们可以继续到下一步了。

systemctl restart nginx

然后我们使用浏览器访问:http://192.168.0.1/cloudera-repos/,可以看到这个页面即宣告此步成功

如果你的nginx用的是1.1.8及以下的版本,上述nginx的conf文件中你需要这样设

location /cloudera-repos/ {

alias /opt/cdh6.2.0/cloudera-repos/

autoindex on;

}

这边的alias代表,你的cloudera-repos目录不在/usr/share/nginx/html目录下,可以外挂在其它目录下。

开始设置离线Yum源

vi /etc/yum.repos.d/cloudera-manager.repo

然后输入以下内容

[cloudera-manager]

name = Cloudera Manager, Version

baseurl=http://192.168.0.1/cloudera-repos/

gpgcheck=1

[cloudera-repo]

name=cloudera-repo

baseurl=http://192.168.0.1/cloudera-repos/

enabled=1

gpgcheck=0

把我们上传的cloudera-repos-6.2.0里的所有内容copy 到/usr/share/nginx/html/cloudera-repos里,并运行以下命令,建立yum源

createrepo .

然后输入以下命令,进行Yum源的clean

yum clean all && yum makecache

必须在每一台大数据节点上设置Yum源。

设置mysql

cdh群有自己的群的元信息,为全元信息是记录在mysql中的,因此我们必须安装整套的mysql5.7.26+版本。

先查询centos是否自带了mariadb,如果有,一定记得卸掉。

rpm -qa | grep -i mariadb

假设我们看到这样的信息

mariadb-libs-5.5.52-1.el7.x86_64

然后我们使用下面命令来卸掉它

rpm -e mariadb-libs-5.5.52-1.el7.x86_64

然后我们把mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar使用tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar解压。

解压后你会得到一堆的rpm,在解压目录下我们运行

 

安装时它会安装所有的mysql依赖,尤其是mysql-lib-python这些依赖包都是cdh在运行时依赖的。因此不要仅仅安装mysql-community-server这个东西,而是一定要安装mysql-bundle这个大包。

装完后:

systemctl enable mysqld

systemctl start mysqld

然后我们修改/etc/my.cnf文件,把下面这一堆东东全部覆盖进去

[mysqld]

 

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

 

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

 

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

character-set-server=utf8mb4

collation_server               =utf8mb4_bin

log-bin-trust-function-creators=1

#only need when try to use 5.6 in 5.7mysql

#innodb_large_prefix            = on

explicit_defaults_for_timestamp=0

#log_bin_trust_function_creators=1

lower_case_table_names         =1

event_scheduler                =ON

#########################security setting#########################

local_infile                   = 0

secure_auth                    = 1

max_allowed_packet = 128M

max_connect_errors=1000

wait_timeout                   =1200

interactive_timeout            =1200

sql_mode                      ='NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

skip-name-resolve

sysdate_is_now                 = 1

default_time_zone              = '+08:00'

#########################cache setting#########################

max_prepared_stmt_count        = 1048576

thread_cache_size              = 500

table_definition_cache         = 4096

table_open_cache               = 2000

table_open_cache_instances     = 16

back_log                       =3000

query_cache_type               = 0

query_cache_size               = 32M

max_connections                = 4000

max_user_connections           = 4000

#########################log setting#########################

slow_query_log=on

slow_query_log_file=/var/log/mysql_slow.log

log_queries_not_using_indexes=1

log_slow_admin_statements=1

log_slow_slave_statements=1

log_throttle_queries_not_using_indexes=50

expire_logs_days=30

long_query_time=100

log-error=/var/log/mysqld-error.log

general_log=on

general_log_file=/var/log/mysqld.log

#########################innodb setting#########################

innodb_buffer_pool_size=2G

innodb_buffer_pool_load_at_startup=1

innodb_buffer_pool_dump_at_shutdown=1

innodb_lock_wait_timeout = 60

innodb_io_capacity_max = 2000

innodb_io_capacity = 1000

innodb_flush_method = O_DIRECT

innodb_file_format = Barracuda

join_buffer_size=2097152

read_buffer_size=1M

tmp_table_size = 67108864

max_heap_table_size = 256M

innodb_buffer_pool_chunk_size = 256M

innodb_buffer_pool_instances = 8

innodb_thread_concurrency = 4

innodb_flush_log_at_trx_commit=2

#skip-grant-tables

transaction_isolation=READ-COMMITTED

#from old-139 it is a default isolation level of mysql, we do not suggest use the default only difference with READ-COMMITTED is select for update but for other things is the same

#transaction_isolation          = REPEATABLE-READ

#skip-grant-tables

[mysqldump]

max_allowed_packet             = 256M

[mysqld_safe]

open_files_limit               = 65535

#user                           = mysql

然后请重启。

mysql5.7后默认在安装后会给一个默认的用户名、密码,我们可以通过以下命令取得这个默认密码:

grep 'temporary password' /var/log/mysqld.log

然后我们使用

mysql -uroot -p

登录mysql,输入刚才grep显示出来的mysql密码,然后在mysql>命令提示行下输入以下命令

set global validate_password_policy=0;

set global validate_password_length=0;

ALTER USER 'root'@'localhost' IDENTIFIED BY '111111';

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '111111' WITH GRANT OPTION;

FLUSH PRIVILEGES;

ALTER USER 'root'@'%' IDENTIFIED BY '111111';

退出后重启mysqld服务。

然后再次用root和新密码登录,运行以下建表语句,这些新建的库和表就是给到大数据在安装时,其中有一步hive-metastore信息的安装用的。

CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY '111111';

CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY '111111';

CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY '111111';

CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY '111111';

CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY '111111';

CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY '111111';

CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY '111111';

CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON navms.* TO 'nav'@'%' IDENTIFIED BY '111111';

CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON oozie.* TO 'nav'@'%' IDENTIFIED BY '111111';

因为是开发测试环境,特别这篇文章写过第一次动手安装cdh群的朋友们,因此我这边密码全部用的是111111,6个1,其实用户名和database名请一定不要更改。

导入GPG key(如果没有这步操作,很可能cloudera服务安装失败)manager节点

在我们的master即manager也是192.168.0.1节点上执行下面的语句:

rpm --import https://archive.cloudera.com/cm6/6.2.0/redhat7/yum/RPM-GPG-KEY-cloudera

或者我们在/home/appadmin/opt/cdh6.2.0的cloudera-repos下运行

rpm --import RPM-GPG-KEY-cloudera

 

 

安装CDH的Manager节点

在192.168.0.1节点上运行以下命令:

yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server

安装后它会在/opt目录下生成一个cloudera目录,所有的server,manager端内容就安装在这个目录下了

对/opt/cloudera目录进行赋权

先把我们上传的/home/appadmin/cdh6.2.0/parcel-6.2.0目录下的内容全部copy到/opt/cloudera/parcel-repos下,然后运行以下命令对parcel-repos目录下的CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha生成.sha签名文件

sha1sum CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel  | awk '{ print $1 }' > CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha

然后再运行以下命令,对这些文件夹和内容进行赋权

chown -R cloudera-scm:cloudera-scm /var/lib/cloudera-scm-server/*

chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/*

正式安装前的初始化数据库中的数据

进入到/opt/cloudera/cm/schema下,运行

/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm

运行号console端会提示输入scm的密码,这个就是6个1了。

如果你的mysql不和CDH群的Master节点在一台机器上,那么请使用如下命令

/opt/cloudera/cm/schema/scm_prepare_database.sh mysql -h <mysql-host-ip> --scm-host <cm-server-ip> scm scm

看到successful后,我们可以使用以下命令启动cdh manager节点

systemctl start cloudera-scm-server

然后我们观察启动日志,大数据是依赖于你的服务器性能的,性能好的话,一条命令下去,几秒种就启好了,我们的开发测试机,一般单节点少于64gb内存都需要启动一会,因此我们需要通过日志来观察是否启动顺利:

tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log

当看到了"started jetty“字样,代表我们的cdh server端的management服务启动完毕,此时,你就可以使用http://192.168.0.1:7180,然后默认用户名和密码为admin/admin来进行登录。

而此时,才真正开始cdh群的安装

CDH-6.2.0的正式安装

此步选择cloudera express来安装,express足以应对大都大中型企业的大数据应用了,根本不需要付钱,同时cdh也根本就是免费的,有人说不用cdh的话承认自己不会装也算了,还要加一条理由“cdh收费”,这边有看到收费吗?express我们都已经用了10几年了,用的比发明它的人都熟了,收费?哪天你听到java收费你不是去做快递了准备?

集群名随便,经验告诉你不要有下划线、空格、特殊字符就可以了。

在这一步就是使用hostname填入所有的大数据主机节点即可。

如前文中所述,此处必须把每台机器的ip和hostname在/etc/hosts内做映射,之前我们使用cdh5.x时,如果dns里已经做了所有的服务器的hostname映射即可,但是cdh6.2.x一定要使用/etc/hosts绑定,这一点是官方列的,一定要小心,否则后面装完,页面会出现一堆的javascript错误,你自己都不知道该怎么办了。

接下去就很简单了,因此cdh的正式安装是基于网页的图形化向导,国际化做得一级棒,支持中文、在线帮助都很不错,因此后面都是图形化界面选选,然后下一步下一步就行了。

最后,给出万一把大数据装坏了,要重装,怎么把原来装的大数据彻底铲干净的全网唯一正确做法。

附录:如何干净的铲除大数据

在agent即一般节点上卸载大数据

运行以下命令

systemctl stop cloudera-scm-agent
yum install cloudera-manager-agent cloudera-manager-daemons
ps -ef |grep java

如果还有任何java进程的话,直接kill -9了吧。

然后使用下面一堆命令

systemctl stop cloudera-scm-server
systemctl stop cloudera-scm-agent
yum erase cloudera-manager-agent cloudera-manager-daemons
yum erase cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
rrm -rf /usr/share/cmf /var/lib/cloudera* /var/cache/yum/x86_64/6/cloudera* /var/log/cloudera* /var/run/cloudera*
rm -rf /etc/cloudera*
rpm -qa | grep cloudera
for f in `rpm -qa | grep cloudera `  ; do rpm -e ${f} ; done
rm -rf /var/run/hadoop* /var/run/flume-ng /var/run/cloudera* /var/run/oozie/ /var/run/sqoop2 /var/run/zookeeper /var/run/hbase /var/run/impala /var/run/hive /var/run/hdfs-sockets
rm -rf /usr/lib/hadoop /usr/lib/hadoop* /usr/lib/hive /usr/lib/hbase /usr/lib/oozie /usr/lib/sqoop* /usr/lib/zookeeper /usr/lib/bigtop* /usr/lib/flume-ng /usr/lib/hcatalog
rm -rf /usr/bin/hadoop* /usr/bin/zookeeper* /usr/bin/hbase* /usr/bin/hive* /usr/bin/hdfs /usr/bin/mapred /usr/bin/yarn /usr/bin/sqoop* /usr/bin/oozie
rm -rf /etc/alternatives/*
rm -rf /etc/hadoop* /etc/zookeeper* /etc/hive* /etc/hue /etc/impala /etc/sqoop* /etc/oozie /etc/hbase* /etc/hcatalog
rm -rf /var/lib/flume-ng /var/lib/hadoop* /var/lib/hue /var/lib/oozie /var/lib/solr /var/lib/sqoop*
rm /tmp/.scm_prepare_node.lock
rm -rf /opt/cloudera/parcel-cache /opt/cloudera/parcels
rpm --import RPM-GPG-KEY-cloudera

在Server即Management节点上卸载大数据

systemctl stop cloudera-scm-server
yum erase cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
ps -ef |grep java

如果还有任何java进程的话,直接kill -9了吧。

然后使用下面一堆命令

rrm -rf /usr/share/cmf /var/lib/cloudera* /var/cache/yum/x86_64/6/cloudera* /var/log/cloudera* /var/run/cloudera*
rm -rf /etc/cloudera*
rpm -qa | grep cloudera
for f in `rpm -qa | grep cloudera `  ; do rpm -e ${f} ; done
rm -rf /var/run/hadoop* /var/run/flume-ng /var/run/cloudera* /var/run/oozie/ /var/run/sqoop2 /var/run/zookeeper /var/run/hbase /var/run/impala /var/run/hive /var/run/hdfs-sockets
rm -rf /usr/lib/hadoop /usr/lib/hadoop* /usr/lib/hive /usr/lib/hbase /usr/lib/oozie /usr/lib/sqoop* /usr/lib/zookeeper /usr/lib/bigtop* /usr/lib/flume-ng /usr/lib/hcatalog
rm -rf /usr/bin/hadoop* /usr/bin/zookeeper* /usr/bin/hbase* /usr/bin/hive* /usr/bin/hdfs /usr/bin/mapred /usr/bin/yarn /usr/bin/sqoop* /usr/bin/oozie
rm -rf /etc/alternatives/*
rm -rf /etc/hadoop* /etc/zookeeper* /etc/hive* /etc/hue /etc/impala /etc/sqoop* /etc/oozie /etc/hbase* /etc/hcatalog
rm -rf /var/lib/flume-ng /var/lib/hadoop* /var/lib/hue /var/lib/oozie /var/lib/solr /var/lib/sqoop*
rm /tmp/.scm_prepare_node.lock
rm -rf /opt/cloudera/parcel-cache /opt/cloudera/parcels
rpm --import RPM-GPG-KEY-cloudera

 

相关文章:

  • API接口的加速利器-varnish使用大全(含生产集群环境布署)
  • 全渠道零售中台与数字化转型(2)-从“业务”角度看数字化转型与中台的实施
  • 彻底解决jdbc数据库连接超时重试-communication link failure的正确姿势
  • zookeeper集群应对万级并发的调优
  • rabbitmq集群搭建以及万级并发下的性能调优
  • 为什么我们要选择甲方型IT研发型IT-因为这是一个正确价值观问题
  • apache log4j2漏洞攻防演练与补丁升级说明
  • 微服务设计指导-通过一个生产事故的具体例子来看微服务
  • 微服务设计指导-实践springcloud+springboot+nacos+feign+hytrix
  • 微服务设计指导-微服务各层间应该如何调用
  • 微服务设计指导-hystrix参数介绍
  • 微服务设计指导-spring cloud2.0面向万级TPS的调优实战
  • 微服务设计指导-feignclient的compression参数导致报文返回为gzip格式带来的坑
  • 微服务设计指导-hystrix的监控
  • 微服务设计指导-使用turbine结合nacos监控多集群hystrix
  • CentOS6 编译安装 redis-3.2.3
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • js中forEach回调同异步问题
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • spring security oauth2 password授权模式
  • springboot_database项目介绍
  • Theano - 导数
  • vue-cli在webpack的配置文件探究
  • vue数据传递--我有特殊的实现技巧
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 前端设计模式
  • 深入 Nginx 之配置篇
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 提醒我喝水chrome插件开发指南
  • 小程序测试方案初探
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (5)STL算法之复制
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (蓝桥杯每日一题)love
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (四)汇编语言——简单程序
  • (一)VirtualBox安装增强功能
  • (转)Android学习笔记 --- android任务栈和启动模式
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • .NET基础篇——反射的奥妙
  • .NET简谈设计模式之(单件模式)
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • [20190416]完善shared latch测试脚本2.txt
  • [ActionScript][AS3]小小笔记
  • [AMQP Connection 127.0.0.1:5672] An unexpected connection driver error occured
  • [Android]创建TabBar
  • [C#][opencvsharp]opencvsharp sift和surf特征点匹配
  • [Codeforces] combinatorics (R1600) Part.2
  • [codevs1288] 埃及分数
  • [flask]http请求//获取请求体数据