Linux:centOS7 64位
jdk:1.8
CDH:5.14.4 http://archive.cloudera.com/cdh5/parcels/5.14/
下载下图三个文件(注意:下载下来后一定要把 CDH-5.14.4-1.cdh5.14.4.p0.3-el7.parcel.sha1的后缀sha1.改为.sha)
Cloudera Manager:5.14.4 https://archive.cloudera.com/cm5/cm/5/
下载下图这个文件
1.配置网络:采用Nat方式联网。
2. vim /etc/sysconfig/network-scripts/ifcfg-ens33
对应下面更改里面内容
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.80.3 (ip地址)
NETMASK=255.255.255.0 (子网掩码)
GATEWAY=192.168.80.2 (网关)
DNS1=202.196.32.1 (域名)
3.开启网卡:ifup ens33
4.测试:ping www.baidu.com
5.修改yum源:
1)mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
访问:https://mirrors.ustc.edu.cn/help/centos.html
把对应centOS7的内容粘贴进去保存退出。
2)vi /etc/yum.repos.d/CentOS-Base.repo
3)yum makecache
(更新缓存用时较长)
4. yum install wget
5. yum install vim
6. yum install openssh-clients
1.cd /usr
2.mkdir java
3.rz (将JDK包传到该目录下)
4.tar -zxvf jdk
(按tab键自动补全)
5.vim /etc/profile
最后添加环境变量:
export JAVA_HOME=/usr/java/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
注意:环境变量中JAVA_HOME=/usr/java/jdk1.8.0_181一定要对应你用的JDK版本。
6.执行命令 source /etc/profile
7.执行命令 java -version
如果出现
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
就说明JDK配置成功。
(在关机状态下克隆主机,并配置克隆机器的网络)
1.在克隆机器上操作 vim /etc/sysconfig/network-scripts/ifcfg-ens33
将UUID删除,修改IP地址,加入mac地址HWADDR=(为真的mac地址)
2.vim /etc/hostname
(修改主机名,每台机器都要做)
3.vim /etc/hosts
(修改hosts文件,主机修改就行,下面是我的内容)
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.80.11 cdh1
192.168.80.12 cdh2
4.scp /etc/hosts root@cdh2:/etc/
(将修改后的hosts文件传到另外一台机器上)
传送过程需要输入密码
5.systemctl stop firewalld
(关闭防火墙)
systemctl disable firewalld
6.重启机器。然后保证主机之间互ping 主机名,互ping ip能够ping通。
1.执行命令vim /etc/sysctl.conf
增加一行:vm.swappiness=0
2.执行命令:sudo sysctl vm.swappiness=0
1.执行命令:
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
2.执行命令,修改配置:vim /etc/rc.local
增加两行:
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
3.执行命令,赋予权限chmod +x /etc/rc.d/rc.local
1.执行命令,生成秘钥:
ssh-keygen -t rsa
cd ~/.ssh
2.拷贝到要免密码登陆的机器,要免密登陆哪个机器,就写该机器的ip。这里我2台机器两两之间都做了免密登陆。
ssh-copy-id xxxx
比如要免密码登录192.168.80.12(cdh2),则在cdh1上执行: ssh-copy-id 192.168.80.12
1.下载ntp服务
yum -y install ntp
2.修改所有节点的/etc/ntp.conf => 执行 vim /etc/ntp.conf 添加以下内容
restrict 192.168.80.11 nomodify notrap nopeer noquery
restrict 192.168.80.2 mask 255.255.255.0 nomodify notrap
3.在主节点修改其/etc/ntp.conf
执行 vim /etc/ntp.conf 添加以下内容
server ntp1.aliyun.com iburst minpoll 4 maxpoll 10
server ntp1.cloud.aliyuncs.com iburst minpoll 4 maxpoll 10
server 127.127.1.0
4.设置除主节点以外的节点的 修改/etc/ntp.conf 执行 vim /etc/ntp.conf
添加 :
server 192.168.80.11 # 主节点ip
Fudge 192.168.80.11 stratum 10
5、同步时间
在 子节点上执行ntpdate cdh1
进行时间同步
然后执行 systemctl start ntpd
开启ntpd服务
执行 ntpq - p
注:为了方便,把MySQL安装在主节点Server上,但是注意最好别用太高版本的MySQL。这里安装的是MySQL5.7
1.检测是否有mariadb
rpm -qa | grep mariadb
如果有,就卸载
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
2.开始安装,依次执行以下四条命令,根据提示信息操作
cd /usr/local/src
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
yum -y install mysql-server
完成了安装MYSQL ,但在cm安装时会发生错误:
通过查看日志:tail -f 300 /opt/cloudera-manager/cm-5.14.1/log/cloudera-scm-server/cloudera-scm-server.log
可以看到在说什么这个错误:
Error loading MySQLdb module: libmysqlclient.so.18: cannot open shared object file: No such file or directory
原因是:
/usr/lib64/mysql目录下没有libmysqlclient.so.18文件,可能可以看到libmysqlclient.so.20文件
原因是mysql-community-libs-compat-5.7.23-1.el7.x86_64.rpm没有安装(具体版本和你安装的MySQL版本有关)
解决办法是:下载mysql-community-libs-compat-5.7.26-1.el7.x86_64.rpm
然后执行rpm -ivh mysql-community-libs-compat-5.7.26-1.el7.x86_64.rpm
3.修改MySql配置文件(my.cnf)
一般情况下,MySql的配置文件 my.cnf 会在 /etc/ 目录下,如果没有,可以使用以下命令查找位置:
find / -name my.cnf
编辑配置文件:
vi /etc/my.cnf
在文件末尾添加以下内容:
plugin-load=validate_password.so
validate-password=OFF
保存退出
4.重启MySQL:systemctl restart mysqld.service
5.查看默认密码
grep "password" /var/log/mysqld.log
6.使用默认密码登陆:
mysql -u root -p
7.进入命令行后,首先修改密码
alter user 'root'@'localhost' identified by 'Root!!2018';
8.然后进行创建用户,授权等操作
grant all on *.* to 'root'@'%' identified by 'Root!!2018' with grant option;
– 授权
CREATE USER 'scm'@'%' IDENTIFIED BY 'Root!!2018';
–创建一个新用户,就使用这个用户名,和密码,后面cm的元数据库会用到
grant all on *.* to 'scm'@'%' identified by 'Root!!2018' with grant option;
– 授权
CREATE USER 'lpy'@'%' IDENTIFIED BY 'Root!!2018';
–创建一个新用户,用户名和密码可以自定义,后面安装hive,oozie会用到
grant all on *.* to 'lpy'@'%' identified by 'Root!!2018' with grant option;
–授权
flush privileges;
– 刷新权限
9.用上面自定义的数据库用户lpy登陆,在MySQL中创建几个数据库备用,数据库名称可以自定义。
mysql -u lpy -p
create database hive;
create database hue;
create database ooz;
10.使用scm用户登录MySQL,创建scm数据库备用。
mysql -u scm -p
create database scm;
1.在所有节点执行命令,创建目录:
sudo mkdir /opt/cloudera-manager
2.在所有节点,将下载好的cloudera-manager-centos7-cm5.14.0_x86_64.tar.gz文件,上传到/opt目录下(用rz命令)
3.在所有节点,解压该文件到/opt/cloudera-manager目录。
tar -zxvf /opt/cloudera-manager-centos7-cm5.14.0_x86_64.tar.gz -C /opt/cloudera-manager
4.在所有节点,创建用户,这是CM需要使用的用户
sudo useradd --system --home=/opt/cloudera-manager/cm-5.14.0/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
5.在主节点,创建CM服务本地数据存放目录,并赋予权限
sudo mkdir /var/lib/cloudera-scm-server
sudo chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-server
6.在所有节点,执行命令:
vim /opt/cloudera-manager/cm-5.14.0/etc/cloudera-scm-agent/config.ini
修改server_host为server节点的主机名,我的就是server_host=cdh1
7.在所有节点,将上面准备好的数据库驱动上传到/usr/share/java目录下
8.在主节点上执行命令。初始化数据库scm。mysql scm scm scm分别代表:数据库类型 database名称 数据库用户名 数据库密码
/opt/cloudera-manager/cm-5.14.0/share/cmf/schema/scm_prepare_database.sh mysql scm scm 123456
如果出现如下提示,则证明CM元数据创建成功。
All done, your SCM database is configured correctly!
9.在主节点执行,创建CDH文件存放目录。
mkdir /opt/cloudera/
cd /opt/cloudera
mkdir parcel-repo
10.将上面准备好的CDH的3个文件,上传至/opt/cloudera/parcel-repo路径下。
11.在主节点,启动CM server
/opt/cloudera-manager/cm-5.14.0/etc/init.d/cloudera-scm-server start
12.在所有节点,启动CM agent
/opt/cloudera-manager/cm-5.14.0/etc/init.d/cloudera-scm-agent start
13.稍等一会,访问地址:serverip:7180,出现界面如下,用户名密码都是admin。接下来就是一步一步的配置。
例如:192.168.80.11:7180
1、选择免费版本
2、点击当前管理的主机,这些就是启动了agent服务的主机,看看自己启动的主机是否在内。V0L3FxXzQyMzQxNTg3,size_16,color_FFFFFF,t_70)3.安装parcel包,这里一定要注意选择自己下载的CDH包的版本,一定不要选错。
4.然后就是的分发parcel包,解压激活了,等待自动完成。
5.主机检查,没有什么问题。
6.安装服务。资源太少,只安装核心的Hadoop。
7.根据实际情况分配角色。
8.前面MySQL安装的时候,创建了一个自定义用户lpy,和几个数据库,现在用上了。
9.启动成功