cloudera manager和CDH安装(离线安装)
一:所需组件的下载
1:选择适合操作系统的cloudera manager和CDH连接:
首先需要查看自己linux的版本比如:
根据自己系统的版本选择适合自己系统的cloudera manager和parcel:下边连接为官网版本之间对照要求:
https://www.cloudera.com/documentation/enterprise/release-notes/topics/rn_consolidated_pcm.html
2:下载cloudera manager
下载cloudera manager连接:http://archive.cloudera.com/cm5/cm/5/,
解释说明(举例): cloudera-manager-centos7-cm5.11.0_x86_64.tar.gz,
这个下载包里面的centos7所指为具体的操作系统的版本,centos7,centos6,centos5等,cm5.11.0指的是cloudera manager的版本,后面32,64为操作系统。
3:下载parcel
parcel连接:http://archive.cloudera.com/cdh5/parcels/5.11/,需要下载三个文件:
CDH-5.11.0-1.cdh5.11.0.p0.34-el7.parcel,CDH-5.11.0-1.cdh5.11.0.p0.34-el7.parcel.sha1
manifest.json
解释说明(举例):这里面的CDH-5.11.0-1对应前面的cloudera manager版本,后面的el7指的是centos7,同样也有centos7,centos6,centos5等,选择下载的时候注意版本的对应。(Cloudera Manager小版本必须始终等于或大于CDH次要版本 )即可。
4:下载JDK
jdk连接:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
选择对应的jdk版本jdk-8u131-linux-x64.tar.gz注意版本。
5:下载数据库的驱动jar
选择需要安装对应的数据库的驱动jar即可
mysql-connector-java-5.1.22-bin.jar。
二:配置基本环境
1:修改本机固定IP地址(每个节点都要配置)
(如果centos系统是最小化安装,会有ifconfig命令无效问题,解决办法:
yum provides ifconfig
yum install net-tools)
然后修改固定IP:
vi /etc/sysconfig/network-scripts/ifcfg-*
BOOTPROTO="static" #dhcp改为static
ONBOOT="yes" #开机启用本配置
IPADDR=192.168.122.203 #静态IP
GATEWAY=192.168.122.254 #默认网关
NETMASK=255.255.255.0 #子网掩码
DNS1=114.114.114.114 #DNS 配置
2:修改主机名和hosts(每个节点都要配置)
hostnamectl set-hostname n1
vi /etc/hosts
前边为ip地址,后边为对应的hostname
重启系统(所有节点)
3:配置jdk,根据下载的jdk进行配置(每个节点都要配置)
解压到/usr/local的下面
tar -zvxf jdk-8u131-linux-x64.tar.gz -C /usr/local
配置环境变量
vi /etc/profile
source /etc/profile生效环境变量
4:安装NTP服务(每个节点都要配置)(有的系统默认已经安装)
如果没有安装yum install -y ntp(centos命令)
vi /etc/ntp.conf
(主节点)注释前面的server,添加一个自己选择的时间同步服务
(节点)注释前面的server,添加server的ip地址指向主节点。
启动systemctl start ntpd(启动命令可能不一样,根据具体的系统);
5:SSH无密码登陆(每个节点都要配置)
ssh-****** -t rsa一直回车
进入查看cd ~/.ssh/ 然后ls查看生公钥私钥
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys(本地ssh,每个节点都要执行)
把主节点的公钥复制到其他节点
scp ~/.ssh/id_rsa.pub n1:/root/id_rsa.pub
scp ~/.ssh/id_rsa.pub n2:/root/id_rsa.pub......等等
把主节点传过来的公钥追加到~/.ssh/authorized_keys
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
在主节点进行测试ssh n1,ssh n2......等等
每个节点可以ssh localhost,主节点可以ssh节点,配置完成。
6:配置数据库(只需要在主节点安装即可)
本次使用的yum库安装(可以根据情况,选择适合的安装方式);
(1)下载yum库:
wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
(如果wget命令找不到,就先安装wget:yum -y install wget)
- 安装yum库:
yum localinstall -y mysql57-community-release-el7-7.noarch.rpm
(3)安装数据库:
yum install -y mysql-community-server
(4):vi /etc/my.cof末尾添加skip-grant-tables配置
重启mysql服务:systemctl restart mysqld.service
(5)mysql直接进入mysql -uroot
update mysql.user set authentication_string=password("yourpassword") where user="root";设置自己的登陆密码;quit退出,vi /etc/my.cof,去掉配置skip-grant-tables配置重启mysql。
(6)mysql -uroot -p输入密码登陆mysql,如果提示设置密码,set password = password('yourpassword');即可。
(7):创建scm用户数据库:
(如果创建数据库不成功就执行:alter user 'root'@'localhost' identified by 'YEdongsheng123456..';)
create database scm default character set utf8;
grant all on scm.* to [email protected]'%' identified by 'ZHUhuanyu005..';
同样假如若是安装所有服务,则要创建hive,oozie,hue等源数据库,授权也可这样配置
grant all on *.* to [email protected]"%" Identified by 'yourpassword';
7:关闭防火墙和SELinux;(每个节点都要配置)
修改 /etc/selinux/config 下的 SELINUX=disabled (重启后永久生效)setenforce 0 临时生效
关闭防火墙systemctl stop firewalld.service
如果需求具体配置防火墙端口:例如配置hadoop的端口:
#添加hdfs管理界面端口
firewall-cmd --zone=public --add-port=50070/tcp --permanent
#hdfs的文件系统端口
firewall-cmd --zone=public --add-port=50075/tcp --permanent
#添加yarn管理界面的端口
firewall-cmd --zone=public --add-port=8088/tcp --permanent
#重启防火墙
firewall-cmd --reload
官网端口对照连接:
https://www.cloudera.com/documentation/cdh/5-1-x/CDH5-Installation-Guide/cdh5ig_ports_cdh5.html如果使用防火墙则需要配置主从节点所有所用服务的端口,否则将出现无法连接的异常。
三:安装cloudera manager和CDH
1:安装cloudera-manager(只需要在主节点安装即可)
解压到/opt/下面(必须解压到/opt/下)
tar -zxvf cloudera-manager-centos7-cm5.11.0_x86_64.tar.gz -C /opt/
将下载好的
mysql-connector-java-5.1.22-bin.jar 放到/opt/cm-5.11.0/share/cmf/lib/
2:创建用户(主节点)
useradd --system --home=/opt/cm-5.11.0/run/cloudera-scm-server --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
3:初始化本地数据scm(主节点)
/opt/cm-5.11.0/share/cmf/schema/scm_prepare_database.sh mysql scm scm yourpassword
4:配置节点(主节点复制到节点)
修改/opt/cm-5.11.0/etc/cloudera-scm-agent/config.ini中server_host改为主节点ip或名称
通过scp:scp -r /opt/cm-5.11.0 slave1:/opt/.....复制到每个节点
5:创建用户(其他节点)
useradd --system --home=/opt/cm-5.11.0/run/cloudera-scm-server --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
6:准备Parcels,用以安装CDH(每个节点都要配置)
创建Parcle的存放目录/opt/cloudera/parcel-repo/,然后将前面下载的三个文件:
CDH-5.11.0-1.cdh5.11.0.p0.34-el7.parcel
CDH-5.11.0-1.cdh5.11.0.p0.34-el7.parcel.sha1(修改名称为
CDH-5.11.0-1.cdh5.11.0.p0.34-el7.parcel.sha)
Manifest.json
(CDH-5.11.0-1.cdh5.11.0.p0.34-el7.parcel.torrent为后期自动生成的)
7:启动服务
检查ntp(所有节点),防火墙(所有节点),SELinux(所有节点),mysql数据库(主节点)状态。
主节点执行/opt/cm-5.11.0/etc/init.d/cloudera-scm-server start(访问webip为本机ip)
所有节点/opt/cm-5.11.0/etc/init.d/cloudera-scm-agent start
8: CDH安装
安装前操作:
(1)设置vm.swqppiness大小为10
临时改变:
echo 10 > /proc/sys/vm/swappiness
永久改变:
vim /etc/sysctl.conf
vm.swappiness=10
(2)解决其中一个警告“透明大页面”,如果还有警告,可忽略。
echo never>/sys/kernel/mm/transparent_hugepage/defrag
echo never>/sys/kernel/mm/transparent_hugepage/enabled
(3)如果centos是最小化安装,那么安装过程中hue是连不上的,缺个东西:
yum install -y python-lxml
(4)日志中可能会显示没装perl,那就装一下(所有节点)
yum install -y perl
(5)日志中显示JAVA_HOME找到的,解决办法:
find / -type f -name "*.sh" | xargs grep "as ALT_NAME" 找到deploy-cc.sh
比如我的是定位到/opt/cm/lib64/cmf/service/client/deploy-cc.sh
然后直接在上面加上
JAVA_HOME=/opt/java
export JAVA_HOME=/opt/java
建议放在echo "using $JAVA_HOME as JAVA_HOME"语句上面
最后scp到每个节点
scp /opt/cm/lib64/cmf/service/client/deploy-cc.sh n1:/opt/cm/lib64/cmf/service/client/ ...
然后执行命令:cat /etc/environment (每个节点)
安装页面点“重试”应该就好了
(6)如果要安装hive,就把mysql的JDBC放到如下目录里(如果不放,hive启动时会出错)
cp mysql-connector-java-5.1.40-bin.jar /opt/cloudera/parcels/CDH-5.9.0-1.cdh5.9.0.p0.23/lib/hive/lib/
(7)如果要安装oozie,就把mysql的JDBC放到如下目录里(如果不放,oozie启动时会出错)
cp mysql-connector-java-5.1.40-bin.jar /var/lib/oozie/
安装前所有步骤做完之后,就可以访问页面(ip:7180)开始安装CDH服务。首次进入时用户名和密码都是admin。
9:安装CDH过程中出现异常如何重装?
1:对于启动Agent服务的节点,会在/opt/cm-5.11.0/lib/cloudera-scm-agent/产生uuid,需要将该目录下的文件全部删除:rm -rf /opt/cm-5.11.0/lib/cloudera-scm-agent/*。
如果该节点为新增节点,节点内容为从其他节点拷贝过来的,则需要在首次启动节点的时候也将该目录下uuid等内容删除。
2:清空Mysql中SCM对应的数据库。
进入mysql,drop database scm;新建数据库
新建数据库:create database scm default character set utf8;
给权限:grant all on scm.* to [email protected]'%' identified by 'ZHUhuanyu005..';
格式化:scm:/opt/cm-5.11.0 /share/cmf/schema/scm_prepare_database.sh mysql scm scm yourpassword
3:重新启动服务