史上最牛逼的CDH安装部署来了 亲测有效

2022-07-21 13:56:38 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

准备工作:

安装jdk:必须把jdk放在/usr/java/目录下,不然启动cloudera-scm-server会报错

代码语言:javascript复制
export JAVA_HOME=/usr/java/jdk1.8.0_45
代码语言:javascript复制
export PATH=${JAVA_HOME}/bin:${ 
   PATH}

1.修改IP

代码语言:javascript复制
vi /etc/sysconfig/network-scripts/ifcfg-ens33

2.修改主机名

代码语言:javascript复制
vi /etc/hostname

3.修改hosts

代码语言:javascript复制
vi /etc/hosts

4.关闭selinux

代码语言:javascript复制
sudo vi /etc/selinux/config

5.关闭防火墙

停止防火墙

代码语言:javascript复制
sudo systemctl stop firewalld

禁止防火墙开机启动

代码语言:javascript复制
sudo systemctl disable firewalld

查看防火墙状态:sudo systemctl status firewalld

查看状态2:firewall-cmd --state

6.时间同步 时间同步:如果没有安装ntp服务,需要在三台机器上下载安装 yum install -y ntp

1.vi /etc/ntp.conf 第一处:去掉restrict 102.168*******************的注释,并且修改网段就是ip的前三段数字 第二处 注释掉两个server开头的东西 server 0.centos.pool.ntp.org server 1.centos.pool.ntp.org 第三处 去掉两行注释 #local clock server 127.127.1.0 fudge 127.127.1.0 stratum 10 添加以下内容: server 127.127.1.0 iburst local clock # 当外部时间不可用时,可使用本地硬件时间 restrict 192.168.70.0 mask 255.255.255.0 nomodify notrap #允许哪些网段的机器来同步时间 #local clock server 127.127.1.0 fudge 127.127.1.0 stratum 10

2.修改/etc/sysconfig/ntpd文件 添加下面内容:

代码语言:javascript复制
SYNC_HWCLOCK=yes
OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g"
#OPTIONS="-g"

3.启动ntpd服务并设置开机自动启动

代码语言:javascript复制
chkconfig ntpd on
systemctl start ntpd.service

另外在第二三台机器crontab同步时间(注意:必须要有root权限)

代码语言:javascript复制
crontab -e

0-59/10 * * * * sudo /usr/sbin/ntpdate www.cdh1.com

注意:1.启动第一台机器的ntpd服务即可,其他两台负责同步 2.其他两台机器停止该服务

代码语言:javascript复制
systemctl stop ntpd
systemctl disable ntpd

7.修改文件句柄数 修改/etc/security/limits.conf,在文件最后添加两行

代码语言:javascript复制
* soft nofile 65535
* hard nofile 65535

修改之后需要重启服务器,出现以下数字便是设置成功

核心工作 1.将所需文件上传到服务器上

2.安装MySQL 解压包

代码语言:javascript复制
tar -zxvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz

建库

代码语言:javascript复制
create database cmf DEFAULT CHARACTER SET utf8;
create database amon DEFAULT CHARACTER SET utf8;
grant all on cmf.* TO 'cmf'@'%' IDENTIFIED BY 'www.cdh2.com';
grant all on amon.* TO 'amon'@'%' IDENTIFIED BY 'www.cdh2.com';
flush privileges;

将mysql驱动jar放进第二台的/usr/share/java/下

sudo scp mysql-connector-java.jar www.cdh1.com:/usr/share/java

将CM包解压到对应目录下:

代码语言:javascript复制
mkdir cloudera-manager
tar -zxvf cm6.3.1-redhat7.tar.gz -C cloudera-manager/

到对应目录下开始安装rpm包

在第一台机器上安装daemons和server、agent

代码语言:javascript复制
sudo rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm --nodeps --force
sudo rpm -ivh cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm --nodeps --force
sudo rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm --nodeps --force

将这两个文件拷贝到其他机器上

代码语言:javascript复制
sudo scp cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm www.cdh2.com:/opt/modules/
sudo scp cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm www.cdh3.com:/opt/modules/

其他两台上安装daemons和agent

代码语言:javascript复制
sudo rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm --nodeps --force
sudo rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm --nodeps --force

所有节点修改agent的配置,指向server的节点www.cdh1.com

代码语言:javascript复制
sed -i "s/server_host=localhost/server_host=www.cdh1.com/g" /etc/cloudera-scm-agen
t/config.ini
sudo vi /etc/cloudera-scm-agent/config.ini

主节点修改server的配置:

代码语言:javascript复制
sudo vi /etc/cloudera-scm-server/db.properties 

com.cloudera.cmf.db.type=mysql com.cloudera.cmf.db.host=www.cdh2.com com.cloudera.cmf.db.name=cmf com.cloudera.cmf.db.user=cmf com.cloudera.cmf.db.password=www.cdh2.com com.cloudera.cmf.db.setupType=EXTERNAL

节点部署离线parcel源 1.安装httpd服务 yum install -y httpd

2.部署离线parcel源 sudo mkdir -p /var/www/html/cdh6_parcel

将以上是哪个文件放入cdh6_parcel目录下

代码语言:javascript复制
sudo cp CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha1 manifest.json /var/www/html/cdh6_parcel/

并且重命名sha文件 sudo mv CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha1 CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha

启动httpd

代码语言:javascript复制
systemctl start httpd
systemctl status httpd

访问网址:http://www.cdh1.com/cdh6_parcel/ 出现以下画面即可

开始最后一步启动服务,启动cloudera-scm-server、cloudera-scm-agent 启动server

代码语言:javascript复制
systemctl start cloudera-scm-server

查看⽇志:

代码语言:javascript复制
cd /var/log/cloudera-scm-server/

ll total 20 -rw-r—– 1 cloudera-scm cloudera-scm 18265 Oct 23 15:37 cloudera-scm-server.log -rw-r—– 1 cloudera-scm cloudera-scm 0 Oct 23 15:37 cmf-server-nio.log -rw-r—– 1 cloudera-scm cloudera-scm 0 Oct 23 15:37 cmf-server-perf.log tailf cloudera-scm-server.log 出现7180端⼝,表明是成功的 启动agent

代码语言:javascript复制
systemctl start cloudera-scm-agent

查看⽇志: cd /var/log/cloudera-scm-agent/

访问www.cdh1.com:7180界面 账号密码都为admin

注意:下面远程parcel为自己配置的httpd的那个地址

解决下面问题:

必须使用root权限用户执行 a.已启用透明大页面压缩,可能会导致重大性能问题。请运行“echo never > /sys/kernel/mm/transparent_hugepage/defrag”和“echo never > /sys/kernel/mm/transparent_hugepage/enabled”以禁用此设置,然后将同一命令添加到 /etc/rc.local 等初始化脚本中,以便在系统重启时予以设置。以下主机将受到影响: 查看详细信息

代码语言:javascript复制
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled

b.Cloudera 建议将 /proc/sys/vm/swappiness 设置为最大值 10。当前设置为 30。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf,以在重启后保存该设置。您可以继续进行安装,但 Cloudera Manager 可能会报告您的主机由于交换而运行状况不良。以下主机将受到影响: 查看详细信息

临时设置,让CM知道目前修改了

##设置为10,重启后又还原

代码语言:javascript复制
echo 10 > /proc/sys/vm/swappiness

永久设置步骤,需要重启服务器,不然CM识别不了: vi /etc/sysctl.conf中添加vm.swappiness=10 ** 查找tuned配置,直接修改,进入tuned目录

代码语言:javascript复制
cd /usr/lib/tuned/

##查找包含的所在文件路径

代码语言:javascript复制
grep "vm.swappiness" * -R

##修改参数vm.swappiness=10

代码语言:javascript复制
vi latency-performance/tuned.conf

两个问题解决了

注意:下面这个机器选择mysql所在的机器

注意namenode的webui端口是9870,因为目前hadoop版本是3.x

停止命令:

代码语言:javascript复制
service cloudera-scm-server stop
service cloudera-scm-agent stop

注意:其他两台机器也要开启ntpd服务 并且与第一台机器同步,不然CDH会认为其他两台没开ntpd服务,而给与警告

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/124631.html原文链接:https://javaforall.cn

0 人点赞