环境准备
1. 编辑每台机器的hosts节点地址并设置hostname(所有节点)
vi /etc/hosts 修改完后按ESC再输入 :wq! 退出编辑
分别设置每台机器的hostname(很重要)
使用hostnamectl set-hostname 主机名 进行设置
主机名使用上面hosts里面配置的主机名称
如:
hostnamectl set-hostname master.data.cn
hostnamectl set-hostname node1.data.cn
hostnamectl set-hostname node2.data.cn
2. 关闭每台防火墙,禁止防火墙开机自启(所有节点)
systemctl stop firewalld
systemctl disable firewalld
vi /etc/selinux/config 将 SELINUX=disabled
3.配置节点之间ssh无密码登录(所有节点)
manager节点执行
ssh-keygen -t rsa
一路回车到结束,在/root/.ssh/下面会生成一个公钥文件id_rsa.pub
将公钥追加到authorized_keys
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
修改权限
chmod 600 ~/.ssh/authorized_keys
将~/.ssh从当前节点分发到其他各个节点。如:
scp -r ~/.ssh/ root@node1.data.cn:~/.ssh/
root@node1.data.cn:当前需要分发的用户及其主机名
配置完成后将3个节点之间都使用ssh互相连接一下
4.配置NTP服务(所有节点)
修改时区(改为中国标准时区)(如果在安装centos时指定过了 这一步就不用了)
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
安装ntp
yum -y install ntp
ntp主机配置
vi /etc/ntp.conf
manager节点 如果有时间服务器 请指向时间服务器
其余节点 指向主节点
重新启动 ntp 服务:
service ntpd restart
设置开机自启:
systemctl enable ntpd.service
ntpdc -c loopinfo #查看与时间同步服务器的时间偏差
ntpq -p #查看当前同步的时间服务器
ntpstat #查看状态
5.修改Linux swappiness参数(所有节点)
为了避免服务器使用swap功能而影响服务器性能,一般都会把vm.swappiness修改为0(cloudera建议10以下)
临时改变
echo 0 > /proc/sys/vm/swappiness
在最后一行添加如下配置:
echo vm.swappiness=0 >> /etc/sysctl.conf
6.禁用透明页(所有节点)
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
注意:先在每个节点执行上两句后 在添加下面命令
永久生效 在/etc/rc.local 添加上面命令
vi /etc/rc.local
CDH安装
一.YUM准备工作
1.配置本地服务器(任选一台主机 建议选主节点机器)
安装httpd
yum install -y httpd
启用htttpd
service httpd start
打开浏览器输入选定主机的ip如(http://192.168.10.51)验证:出现以下界面及配置成功
2.创建CDH YUM源(任选一台主机 建议选主节点机器)
cd /var/www/html/
进入到这个目录下 创建我们的yum源 之后其他节点可以从这直接下载安装包
mkdir cdh6
将CDH的安装包传入cdh6文件夹(cdh6这个文件夹后期会在CDH系统安装时候作为离线安装包使用)
同时将manifest.json传入cdh6文件夹
mkdir cm6
把所有需要安装的包通过FTP传入cm6文件夹(cm6文件夹会作为后面所有yum安装的源文件夹)
同时将allkeys.asc传入cm6下
生成源 制定yum源的描述的目录信息 可以让其他节点知道到这里下载
yum install -y createrepo
下载createrepo命令
进入到cm6安装包的httpd资源位置
cd /var/www/html/cm6
创建yum源的描述meta
createrepo .
3.配置YUM源(所有节点)
在所有节点上添加yum源的配置文件
cat >> /etc/yum.repos.d/cm6.repo << EOF
[cm6-local]
name=cm6-local
baseurl=http://n47.aa-data.cn/cm6
enabled=1
gpgcheck=0
EOF
查看yum配置源是否生效
yum clean all
yum repolist
二.Clouder Server与 Clouder Agent安装
1.安装CM6相关依赖(所有节点)
yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb httpd mod_ssl
2.安装Cloudera Server与Clouder Agent管理节点
1.安装JDK(所有节点)
yum install -y oracle-j2sdk1.8-1.8.0+update181-1.x86_64
2.安装cloudera-manager-*程序(主节点机器)
yum install -y cloudera-manager-daemons cloudera-manager-server cloudera-manager-server-db-2 postgresql-server
3.安装mysql(主节点机器)
yum install -y mysql mysql-devel
yum install -y mariadb mariadb-server
启动数据库服务
service mariadb start
设置开机自启动
chkconfig mariadb on
初始化mariadb密码以及数据库(一直回车 遇[Y/n]输入y)
/usr/bin/mysql_secure_installation
4.配置mysql连接(所有节点)
mkdir -p /usr/share/java
将mysql-connector-java-5.1.34.jar传入这个文件夹 改名为mysql-connector-java.jar
mv mysql-connector-java-5.1.34.jar mysql-connector-java.jar
5.执行数据库初始脚本(主节点机器)
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql -h localhost -uroot -p[初始化数据库设置的root密码] --scm-host localhost scm root [初始化数据库设置的root密码]
6.安装Agent(所有节点包括主节点)
yum install -y cloudera-manager-daemons cloudera-manager-agent
修改除主节点机器外其他节点上的agent配置,让agent指向cloudera-manager
注意这里的server_host需要与主节点的hostname一致
vi /etc/cloudera-scm-agent/config.ini
7.启动Clouder Server(主节点机器)
启动main服务
service cloudera-scm-server start
设置开机自启动
chkconfig cloudera-scm-server on
8.启动Agent(除主节点机器外其他节点)
启动agent服务
service cloudera-scm-agent start
设置开机自启动
chkconfig cloudera-scm-agent on
三.使用Clouder Manager安装集群
输入Clouder Manager(主节点机器IP) 服务端口为:7180
http://192.168.10.51:7180
初始账户: admin
密码: admin
点击登录
选择免费版
稍等一会后进入安装界面
输入集群名称
指定主机
选择CDH安装存储库
指定之前设置好的CDH包路径
等待刷新
JDK因为之前已经安装过了所以直接下一步就好
提供SSH登陆
集群安装
相关依赖安装
检查集群
选择需要安装的服务
分配角色
在这里需要创建一个新的数据库用户 或者 将root用户的权限改掉(允许mysql远程登录)
数据库设置(之后有需要数据库设置的服务请参考此方法)
登陆mysql
mysql -uroot -p[初始化设置的密码]
创建普通用户
create user datauser identified by ‘datasuer’;
给datauser开启metastore访问权限(spark兼容hive)并刷新权限
grant all privileges on metastore.* to ‘datauser’@’%’ identified by ‘datauser’ with grant option;
flush privileges;
为不同的服务分别创建单独的数据库 并设置允许mysql远程登录
创建Hive的数据库
create database hive default charset utf8;
grant all privileges on hive.* to datauser@’%'identified by ‘datauser’;
创建Hue的数据库
create database hue default charset utf8;
grant all privileges on hue.* to datauser@’%'identified by ‘datauser’;
创建Oozie的数据库
create database oozie default charset utf8;
grant all privileges on oozie.* to datauser@’%'identified by ‘datauser’;
最后刷新权限
flush privileges;
审核更改(这里设置默认配置就好不需要更改)
运行安装命令
安装完成
部分内容参考
https://blog.csdn.net/weixin_45682234/article/details/105844209