前言
最近在学习安装CDH,搜索了很多教程勉强安装成功。但教程良莠不齐,导致安装过程中遇到各种各样的问题。为了方便以后查看,现将总结的安装教程记录在这里。如有侵权,联系删除。
1、准备工作
准备以下安装包:
Cloudera Manager:
cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
CDH Parcel:
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1
manifest.json
MySQL:
mysql-community-common-5.7.19-1.el7.x86_64.rpm
mysql-community-libs-5.7.19-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.19-1.el7.x86_64.rpm
mysql-community-devel-5.7.19-1.el7.x86_64.rpm
mysql-community-client-5.7.19-1.el7.x86_64.rpm
mysql-community-server-5.7.19-1.el7.x86_64.rpm
2、集群规划
3、系统准备
3.1 修改主机名及映射(全部节点)
vi /etc/hostname
vi /etc/hosts
3.2 关闭防火墙(全部节点)
firewall-cmd --state # 查看防火墙状态
systemctl stop firewalld # 停止防火墙的服务
systemctl disable firewalld # 禁止开机启动
3.3 selinux关闭(全部节点)
编辑文件,修改SELINUX的值为disable
vi /etc/sysconfig/selinux
SELINUX=disabled
查看状态
sestatus -v
SELinux status: disabled
3.4 配置免密登录(SSH)
在用户主目录下,进入.ssh文件夹
cd .ssh
生成密钥
ssh-keygen -t rsa
发放其他主机
ssh-copy-id 主机名
3.5 时间同步NTP
所有节点安装ntp
yum -y install ntp
主节点:
vi /etc/ntp.conf
先注释四个server 然后添加server主机ip
vi /etc/sysconfig/ntpd
SYNC_CLOCK=yes
启动服务
systemctl start ntpd.service
systemctl enable ntpd.service
service ntpd status
其他节点:
Crontab -e
写入:
*/10 * * * * /usr/sbin/ntpdate 主节点
3.6 互ping测试
3.7 修改系统参数(全部节点)
sysctl vm.swappiness=10
echo 'vm.swappiness=10'>> /etc/sysctl.conf
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.local
echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local
3.8 安装http
yum -y install httpd
启动服务
service httpd start
service httpd status
4、安装软件
4.1 安装依赖(全部节点)
yum -y install chkconfig
yum -y install bind-utils
yum -y install chkconfig
yum -y install cyrus-sasl-gssapi
yum -y install cyrus-sasl-plain
yum -y install fuse
yum -y install fuse-libs
yum -y install gcc
yum -y install libxslt
yum -y install mod_ssl
yum -y install MySQL-python
yum -y install openssl
yum -y install openssl-devel
yum -y install perl
yum -y install portmap
yum -y install postgresql-server
yum -y install psmisc
yum -y install python-devel
yum -y install python-psycopg2
yum -y install python-setuptools
yum -y install sed
yum -y install sqlite
yum -y install swig
yum -y install zlib
yum install lsb
4.2 安装JDK(全部节点)
1)上传JDK, jdk-8u291-linux-x64.tar.gz,在root用户下解压和配置
目录为:/usr/local/java/jdk1.8.0_291
tar -zxvf jdk-8u291-linux-x64.tar.gz -C /usr/local/java
2)修改配置文件vi /etc/profile
export JAVA_HOME=/usr/local/java/jdk1.8.0_291
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
使环境变量生效
source /etc/profile
添加软连接,如果存在/usr/bin/java,可以先删除。
rm -rf /usr/bin/java
ln -s /usr/local/java/jdk1.8.0_171/bin/java /usr/bin/java
4.3 安装mysql(第一台)
rpm -ivh mysql-community-common-5.7.19-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-5.7.19-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-compat-5.7.19-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-devel-5.7.19-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-5.7.19-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-5.7.19-1.el7.x86_64.rpm --nodeps --force
启动mysql
systemctl start mysqld
设置开机自启动mysql
systemctl enable mysqld
获取临时密码
cat /var/log/mysqld.log | grep password
设置密码
set password=password('密码');
quit;
登陆设置允许外网访问当前的MySQL
mysql -uroot -p'密码'
use mysql;
update user set host='%' where host='localhost';
delete from user where host != '%';
flush privileges;
quit;
建立相关数据库及用户
登录mysql -uroot -p 密码
grant all on *.* to root@'%' identified by "密码" with grant option;
create database scm default character set utf8 default collate utf8_general_ci;
grant all on scm.* to 'scm'@'%' identified by '密码';
create database hue default character set utf8 default collate utf8_general_ci;
grant all on hue.* to 'hue'@'%' identified by '密码';
create database hive default character set utf8 default collate utf8_general_ci;
grant all on hive.* to 'hive'@'%' identified by '密码';
create database azkaban default character set utf8 default collate utf8_general_ci;
grant all on azkaban.* to 'azkaban'@'%' identified by '密码';
flush privileges;
5、安装CM
5.1 安装deamons(全部节点)
rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
5.2 安装agent(全部节点)
rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
5.3 配置agent的server节点(全部节点)
cp /etc/cloudera-scm-agent/config.ini /etc/cloudera-scm-agent/config.ini.template
vim /etc/cloudera-scm-agent/config.ini
server_host=hostname(主节点主机名)
5.4 安装server(主节点)
rpm -ivh cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
6、启动CM
6.1 上传CDH包到parcel-repo
修改sha1为sha
mv CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
将/opt/cloudera/parcel-repo 下的文件复制到 /var/www/html/cdh6_parcel/
6.2 修改配置
vim /etc/cloudera-scm-server/db.properties
# 填入如下内容
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=localhost(安装mysql的主机名)
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=root(用户名)
com.cloudera.cmf.db.setupType=EXTERNAL
com.cloudera.cmf.db.password=密码(mysql密码)
6.3 启动server(主节点)
service cloudera-scm-server start
systemctl status cloudera-scm-server (查看server状态)
6.4 启动agent(全部节点)
service cloudera-scm-agent start
systemctl status cloudera-scm-agent (查看agent状态)
查看日志
tail -200f /var/log/cloudera-scm-server/cloudera-scm-server.log
查看端口
netstat -nltp
7、访问网页安装CDH集群
http://[server-host]:7180/cmf/login
账号:admin
密码:admin
进行访问,根据提示进行安装