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

Stella981
• 阅读 347

目录

引子

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

大数据安装前的环境规划

基础环境准备

host名与ip绑定

各主机间设成免密登录

各节点间关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/

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

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

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

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

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

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

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

  • 所有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(子节点)端。整体结构如下:

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

基础环境准备

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这个名字呢?

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

那是因为在/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所示:

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

第五步:把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,你即可发觉,不需要再次输入密码了,那么,大数据集群节点间的免密登录宣告成功。

各节点间关selinux关firewalld

vi /etc/selinux/config

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

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

然后使用以下命令在各个节点禁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/``*

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

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

systemctl restart nginx

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

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

如果你的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 Manager集群(CDH6.2.0.1)完整搭建指南

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

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

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

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

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

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

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

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

接下去就很简单了,因此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
点赞
收藏
评论区
推荐文章
Jacquelyn38 Jacquelyn38
1年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。 1、使用解构获取json数据let jsonData   id: 1, status: "OK", data: ['a', 'b'] ; let  id, status, data: number   jsonData; console.log(id, status, number )
blmius blmius
1年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录 问题 用navicat导入数据时,报错: 原因这是因为当前的MySQL不支持datetime为0的情况。 解决修改sql\mode: sql\mode:SQL Mode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。 全局s
Wesley13 Wesley13
1年前
Java爬虫之JSoup使用教程
title: Java爬虫之JSoup使用教程 date: 2018-12-24 8:00:00 +0800 update: 2018-12-24 8:00:00 +0800 author: me cover: [https://img-blog.csdnimg.cn/20181224144920712](https://www.oschin
Stella981 Stella981
1年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置 1、virsh edit centos7 找到“memory”和“vcpu”标签,将 <name>centos7</name> <uuid>2220a6d1-a36a-4fbb-8523-e078b3dfe795</uuid>
Easter79 Easter79
1年前
Twitter的分布式自增ID算法snowflake (Java版)
概述 == 分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。 有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。 而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
1年前
MySQL查询按照指定规则排序
1.按照指定(单个)字段排序 select * from table_name order id desc; 2.按照指定(多个)字段排序 select * from table_name order id desc,status desc; 3.按照指定字段和规则排序 selec
Wesley13 Wesley13
1年前
Java日期时间API系列36
  十二时辰,古代劳动人民把一昼夜划分成十二个时段,每一个时段叫一个时辰。二十四小时和十二时辰对照表: **时辰** **时间** **24时制** 子时 深夜 11:00 - 凌晨 01:00 23:00 - 01 :00 丑时 上午 01:00 - 上午 03:00 01:00 - 03 :00 寅时 上午 03:00 - 上午 0
Stella981 Stella981
1年前
Django中Admin中的一些参数配置
### **设置在列表中显示的字段,id为django模型默认的主键** list_display = ('id', 'name', 'sex', 'profession', 'email', 'qq', 'phone', 'status', 'create_time') ### **设置在列表可编辑字段** list_editable
Stella981 Stella981
1年前
Angular material mat
Icon Icon Name mat-icon code _add\_comment_ add comment icon <mat-icon> add\_comment</mat-icon> _attach\_file_ attach file icon <mat-icon> attach\_file</mat-icon> _attach\
Wesley13 Wesley13
1年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
#### 背景描述 # Time: 2019-01-24T00:08:14.705724+08:00 # User@Host: **[**] @ [**] Id: ** # Schema: sentrymeta Last_errno: 0 Killed: 0 # Query_time: 0.315758 Lock_
helloworld_34035044 helloworld_34035044
4个月前
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。 uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid() 或 uuid(sep)参数说明:sep 布尔值,生成的uuid中是否包含分隔符'',缺省为