硬件环境
服务器4台:
192.168.10.99 cm 4核8G CentOS7.5
192.168.10.100 matser 8核24G CentOS7.5
192.168.10.110 node1 8核16G CentOS7.5
192.168.10.120 node2 8核16G CentOS7.5
注:cm节点因为硬件资源原因只部署cloudera相关服务,zk等服务都部署在另外三个节点上面。
如果是生产集群的话,也建议CM单独一台机器,另外机器以最低5台作为集群,主备master,另外3台node节点
注:这是部署完成后补充的文档,可能会有步骤遗漏。
安装包链接:
链接:https://pan.baidu.com/s/1Ufz92SGTycqBTtYFi5Otvg
提取码:2233
1.配置yum源,关闭防火墙,修改主机映射,配置免密
**以下除了说明在哪些节点操作外,默认在cm节点进行操作
系统全部使用root用户进行安装
**
1.1 配置yum源
配置本地YUM源
#挂载centos7镜像
mount /dev/cdrom /mnt/
#删除系统自带的源
rm -rf /etc/yum.repos.d/*
新建一个本地yum源
cat >> /etc/yum.repos.d/local.repo << EOF
[centos]
name=centos
baseurl=file:///mnt
gpgcheck=0
EOF
#验证
yum repolist
1.2 安装http服务
#安装
yum install -y httpd
#启动
systemctl start httpd
#开机自启
systemctl enable httpd
#http服务可以帮助我们传输文件,默认静态资源的目录为/var/www/html
1.3 修改yum源
httpd服务装好后将yum源改成http方式获取
#在http服务的静态资源目录创建centos目录
mkdir /var/www/html/centos
#将centos的镜像文件复制到centos目录
cp -rvf /mnt/* /var/www/html/centos/
#可以通过http访问了,这里改成当前机器的IP
http://主机ip/centos/
#修改cdh-1的本地centos源的配置
vi /etc/yum.repos.d/local.repo
baseurl=http://bigdata1/centos
#取消挂载
umount /dev/cdrom /mnt
其他节点配置:这里改成cm主机的hostname
cat >> /etc/yum.repos.d/local.repo << EOF
[centos]
name=centos
baseurl=http://cm主机hostname/centos
gpgcheck=0
EOF
#验证
yum repolist
1.4 关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
1.5 配置主机映射
1.6 配置免密
#配置免密:(cm那台)
#进入~/.ssh/目录
cd ~/.ssh/
ssh-keygen -t rsa
#3次回车生成:id_rsa id_rsa.pub 俩个文件
#将公钥发送到另外几台机器
ssh-copy-id root@192.168.10.100
ssh-copy-id root@192.168.10.110
ssh-copy-id root@192.168.10.120
2. 修改一些系统性配置文件(可跳过)
2.1 设置Swap空间(所有节点)
echo "vm.swappiness = 0" >> /etc/sysctl.conf
2.2 设置用户最大可打开文件数、进程数,内存占用(所有节点)
vim /etc/security/limits.conf
* soft nofile 32728
* hard nofile 1024999
* soft nproc 65535
* hard noroc unlimited
* soft memlock unlimited
* hard memlock unlimited
sysctl -p
2.3 关闭大页面压缩(所有节点)
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
3. jdk安装(所有节点)
这里用jdk-8u281版本演示,因此次版本收费了,最后一个免费版本202如果有需要链接已放在下面
链接:https://pan.baidu.com/s/12VK9YQbKUVo6ERK7vrCVsw
提取码:2233
上传jdk.rpm包
#安装
rpm -ivh jdk-8u281-linux-x64.rpm
#修改环境变量
vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_281-amd64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
#变量生效
source /etc/profile
验证:
java -version
4. 配置CM源
上传CDH和CM包到一个目录下,这里放在了/opt目录下面
#在/var/www/html创建存放cm包的文件夹和cdh安装包的文件夹
mkdir /var/www/html/{cm,cdh}
将cdh的安装包和cm的包移动到创建的目录
mv cloudera-manager-* /var/www/html/cm/
mv enterprise-debuginfo-6.3.1-1466458.el7.x86_64.rpm oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm /var/www/html/cm/
#移动cdh安装包和元数据文件
mv CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel manifest.json /var/www/html/cdh/
配置CM源
#安装
yum install -y createrepo
#进入到cm的rpm包存放目录
cd /var/www/html/cm
# 生成repodata文件夹
createrepo .
#配置CM的yum源(所有节点,或者第一台弄好,剩下的SCP过去)
cat >> /etc/yum.repos.d/cm.repo << EOF
[CM]
name=cm
baseurl=http://mirror-cm/cm/
gpgcheck=0
EOF
scp -r /etc/yum.repos.d/cm.repo root@10.108.3.111:/etc/yum.repos.d/
scp -r /etc/yum.repos.d/cm.repo root@10.108.3.112:/etc/yum.repos.d/
scp -r /etc/yum.repos.d/cm.repo root@10.108.3.113:/etc/yum.repos.d/
5. 安装
5.1安装依赖:(所有节点)
yum install -y bind-utils libxslt cyrus-sasl-plain cyrus-sasl-gssapi portmap fuse-libs /lib/lsb/init-functions httpd mod_ssl openssl-devel python-psycopg2 Mysql-python fuse
5.2 安装Cloudera Manager和Cloudera Agent(cm那台,当前操作机器)
yum install -y cloudera-manager-agent cloudera-manager-daemons cloudera-manager-server cloudera-manager-server-db-2 postgresq-server
5.3 数据库安装(MariaDB)
这里使用CentOS7.5自带的mariaDB进行演示。
不会安装的可以找一下别人的演示文档,这里忘记截图了
#安装
yum install -y mariadb-server
#启动和开机自启
systemctl start mariadb
systemctl enable mariadb
#配置Mariadb数据库
mysql_secure_installation
------------------------------------------
输入当前密码----> 回车
Set root password? [Y/n] 是否设置root用户密码
--123456
#注意这里设置的密码不是123456则下面初始化数据库需要修改对应的密码
Remove anonymous users? [Y/n] 是否删除匿名用户
Disallow root login remotely? [Y/n] 是否允许root远程登陆
Remove test database and access to it? [Y/n] 是否删除测试用的test库
Reload privilege tables now? [Y/n] 是否刷新数据库的表的权限
mysql驱动
#创建/usr/share/java目录
mkdir -p /usr/share/java
#复制jar包到/usr/share/java下
cp mysql-connector-java-5.1.49.jar /usr/share/java/
#注意:需要改名为mysql-connector-java.jar
mv /usr/share/java/mysql-connector-java-5.1.49.jar /usr/share/java/mysql-connector-java.jar
初始化数据库:
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql localhost -uroot -p123456 --scm-host localhost scm root 123456
数据库名,数据库访问用户密码保持建表一致即可
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'scm';
GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY 'amon';
GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY 'rman';
GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY 'hue';
GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY 'hive';
GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY 'sentry';
GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY 'nav';
GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY 'navms';
GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie';
GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY 'root';
#设置root可以远程登陆访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;
5.4 安装agent节点
cm,已经安装过server那台不用安装了,agent已经安装过了。确保剩下节点JDK已经安装完成。
yum -y install cloudera-manager-daemons cloudera-manager-agent
修改配置文件(所有节点)
#修改Cloudera Agent配置文件/etc/cloudera-scm-agent/config.ini,配置server_host为主节点bigdata1
#通过vim命令修改
vim /etc/cloudera-scm-agent/config.ini
server_host=cm
#或者也可以通过sed命令修改
sed -i "s/server_host=localhost/server_host=cm/g" /etc/cloudera-scm-agent/config.ini
6. 启动
6.1 启动scm server(cm那台)
#启动server
systemctl start cloudera-scm-server
#配置开机自启
systemctl enable cloudera-scm-server
6.2 启动agent(全部节点)
#启动agent
systemctl start cloudera-scm-agent
#配置开机自启
systemctl enable cloudera-scm-agent
7. 使用
访问:
http://192.168.10.99:7180
默认:admin/admin
这里忘记截图了。
8. 其他
8.1 安装kudu服务
如果安装完的kudu服务会过会自动挂掉,那可能是没有配置ntp服务,kudu需要ntp服务。
#ntp服务(全节点)
yum -y install ntp
#在kudu master那台上面装ntp服务
vim /etc/ntp.conf
#原有的注掉
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
#新增
server 127.127.1.0
fudge 127.127.1.0 stratum 10
#其余节点:
#原有的注掉
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
#新增
server 192.168.10.100
#重启服务:
systemctl restart ntpd
#开机自启:
systemctl enable ntpd
安装完ntp服务后再重启kudu服务
8.2 添加NFS gateway实例失败
缺失依赖包:
yum -y install nfs-utils rpcbind
systemctl start rpcbind