基础环建搭建
关闭防火墙
- 关闭防火墙: systemctl stop firewalld.service
- 禁用防火墙: systemctl disable firewalld.service
- 查看防火墙: systemctl status firewalld.service
- 关闭Selinux: vi /etc/selinux/config
- 将SELINUX=enforcing改为SELINUX=disabled
修改IP
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.X.51
GATEWAY=192.168.X.2
DNS1=8.8.8.8
DNS2=8.8.4.4
NETMASK=255.255.255.0
IP和主机映射
vi /etc/hosts
192.168.1.115 cloudera-11
192.168.1.116 cloudera-12
192.168.1.117 cloudera-13
SSH无密码登录
- 生成公钥和私钥:ssh-keygen -t rsa
- 然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
- 将公钥拷贝到要免密登录的目标机器上
- ssh-copy-id 主机名1
禁用透明页(所有节点执行)
1. 禁用透明页(所有节点执行)
设置交换区
swappiness的值越大,表示越积极使用swap分区,越小表示越积极使用物理内存。默认值swappiness=30
查看
cat /proc/sys/vm/swappiness
sysctl vm.swappiness=0
永久修改:
在vim /etc/sysctl.conf文件里添加如下参数:
vm.swappiness=0
find /usr/lib/tuned -name '*.conf' -type f -exec grep "vm.swappiness" {} +
/usr/lib/tuned/latency-performance/tuned.conf:vm.swappiness=10
/usr/lib/tuned/throughput-performance/tuned.conf:vm.swappiness=10
/usr/lib/tuned/virtual-guest/tuned.conf:vm.swappiness = 30
vim /usr/lib/tuned/latency-performance/tuned.conf
vim /usr/lib/tuned/throughput-performance/tuned.conf
/usr/lib/tuned/virtual-guest/tuned.conf
禁用大内存页面
自CentOS6版本开始引入了Transparent Huge Pages(THP),从CentOS7版本开始,该特性默认就会启用。尽管THP的本意是为提升内存的性能,不过某些数据库厂商还是建议直接关闭THP(比如说ORACLE、MariaDB、MongoDB等),否则可能会导致性能出现下降。
首先检查THP的启用状态:
root@localhost ~]# cat /sys/kernel/mm/transparent_hugepage/defrag
[always] madvise never
[root@localhost ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
这个状态就说明都是启用的。
我们这个时候当然可以逐个修改上述两文件,来禁用THP,但要想一劳永逸的令其永久生效,还是参考下列的骤。
编辑rc.local文件:
[root@localhost ~]# vim /etc/rc.d/rc.local
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
保存退出,然后赋予rc.local文件执行权限:
[root@localhost ~]# chmod +x /etc/rc.d/rc.local
最后重启系统,以后再检查THP应该就是被禁用了
[root@localhost ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
[root@localhost ~]# cat /sys/kernel/mm/transparent_hugepage/defrag
always madvise [never]
安装http(为了创建网络镜像)
检查是否安装
systemctl status httpd
说明未安装,安装httpd服务
yum -y install httpd
检查是否安装
systemctl status httpd
已经安装但是未启动,启动httpd服务
systemctl start httpd
再次检查
systemctl status httpd
设置开机启动
systemctl enable httpd
由于http的默认端口为80,通过浏览器访问:
配置时间同步ntp
主节点时间服务安装及配置
所有节点都得安装时钟服务。
时钟服务器安装在主节点上,子节点的时钟服服务全部同步到主节点的时钟服务器上。
检查服务
systemctl status ntpd
yum -y install ntp
启动时钟服务(所有节点)
systemctl start ntpd
开机启动
systemctl enable ntpd
配置时钟服务,编辑/etc/ntp.conf
vim /etc/ntp.conf
restrict 192.168.247.0 mask 255.255.255.0 nomodify notrap
server 127.127.1.0
fudge 127.127.1.0 statum 10
第一个圈中的是表明时钟同步的网段是192.168.247.0的,第二个表明服务器是跟自己同步的。
修改完后重启ntp服务
systemctl restart ntpd
子节点安装时钟服务并同步到主节点
将主节点时钟配置copy到从节点
scp -r /etc/ntp.conf hadoop-12:/etc/
scp -r /etc/ntp.conf hadoop-13:/etc/
修改从节点配置文件
如图,将时钟服务配置为主节点
重启所有时钟服务
systemctl restart ntpd
所有的子节点都得这么安装(可以采用分发的方式),安装完成之后重启ntp服,时钟会自动同步的(需要一定的时间)。查看同步状态的命令如下:
ntpstat
最小化安装ssh认证设置
问题: 可用的身份验证方法已用尽
vim /etc/ssh/sshd_config
vim /etc/ssh/sshd_config
打开这三个注释
LoginGraceTime 2m
PermitRootLogin yes
StrictModes yes
mysql安装
卸载原系统中的mariadb
首先执行命令rpm -qa|grep mariadb查看是否有mariadb的安装包,没有可以无视
接下来,执行 rpm -e --nodeps mariadb-libs删除它
删除原有安装
先删除服务器上相关的依赖,否则安装会冲突
rpm -qa |grep mysql
rpm -qa |grep MySQL
rpm -qa |grep mariadb
离线安装MySQL
解压 tar xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
至此,mysql5.7所有文件安装完毕,接下来就是开启服务测试了
启动mysql systemctl start mysqld
停止mysql systemctl stop mysqld
开机启动 systemctl enable mysqld
安装mysql错误
解决: yum -y install net-tools
修改root本地登录密码
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个临时的默认密码
vim /var/log/mysqld.log
或者
查看MySQL启动后生成的临时密码:
cat /var/log/mysqld.log | grep 'password'
初始密码为: *&dDe4Kau9(W
mysql -u root -p *&dDe4Kau9(W
dWCQ<0E:p9iz
修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '_Qq3pw34w9bqa';
创建相关数据库
SCM的元数据库
create database scm DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Hive的元数据库
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Cloudera的元数据库
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
oozie的元数据库
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
开启远程访问
选择mysql库:
use mysql;
修改访问权限表
GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'LCode1996.' WITH GRANT OPTION;
grant all privileges on . to "root"@"%" identified by "_Qq3pw34w9bqa" with grant option;
flush privileges;
创建CM和CDH网络软件镜像
创建CM网络软件镜像
上传文件到
cd /var/www/html
CM安装 cloudera-manager
下载CM安装引导文件
下载引导文件cloudera-manager-installer.bin
下载地址:https://archive.cloudera.com/cm6/6.3.0
配置cloudera-manager.repo
cm源配置文件
将cloudera-manager.repo剪切到/etc/yum.repos.d/
mv cloudera-manager.repo /etc/yum.repos.d/
mv cloudera-manager-installer.bin /usr/local/
进入目录/etc/yum.repos.d/
cd /etc/yum.repos.d/
vim cloudera-manager.repo
[cloudera-manager]
name=Cloudera Manager 6.3.0
baseurl=http://cloudera-11/cm6.3/
gpgkey=http://cloudera-11/cm6.3//RPM-GPG-KEY-cloudera
gpgcheck=1
enabled=1
autorefresh=0
type=rpm-md
安装CM
cd /usr/local/
赋权
chmod 777 cloudera-manager-installer.bin
查看
ll
执行引导文件
./cloudera-manager-installer.bin
出现安装引导界面:
通过浏览器访问cm的页面控制台:路径为:http://${ip}:7180,因此我们的cm的访问地址为http://192.168.247.201:7180,
用户名密码均为admin,登录后进行cdh集群安装界面。到此CM安装完成。
修改cm元数据库
Cloudera已经提供了一个sh脚本用户配置Cloudera Manager连接元数据库,官方文档参考
CDH6.3
/opt/cloudera/cm/schema/scm_prepare_database.sh [options] <databaseType> <databaseName> <databaseUser> <password>
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm root _Qq3pw34w9bqa
提示缺少jdbc驱动
上传jdbc到/usr/share/java,注意改名去除版本号
重新执行脚本
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm root _Qq3pw34w9bqa
更改完成
重启: systemctl restart cloudera-scm-server
重建yum问题
yum clean all
yum makecache
yum update