大家好,又见面了,我是你们的朋友全栈君。
准备工作:
安装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
代码语言:javascript复制注意:1.启动第一台机器的ntpd服务即可,其他两台负责同步 2.其他两台机器停止该服务
systemctl stop ntpd
systemctl disable ntpd
7.修改文件句柄数
修改/etc/security/limits.conf
,在文件最后添加两行
* 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知道目前修改了
代码语言:javascript复制##设置为10,重启后又还原
echo 10 > /proc/sys/vm/swappiness
永久设置步骤,需要重启服务器,不然CM识别不了:
vi /etc/sysctl.conf
中添加vm.swappiness=10
** 查找tuned配置,直接修改,进入tuned目录
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