因为当前硬件资源的限制,所以尝试在本地搭建虚拟机 centos,并离线安装 CDH 集群。
前期准备工作
提前下载好以下软件包等:
扩展型 | 名称 |
---|---|
rpm | cloudera-manager-agent-6.2.0-968826.el7.x86_64.rpm |
rpm | cloudera-manager-server-db-2-6.2.0-968826.el7.x86_64.rpm |
rpm | enterprise-debuginfo-6.2.0-968826.el7.x86_64.rpm |
rpm | oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm |
rpm | cloudera-manager-daemons-6.2.0-968826.el7.x86_64.rpm |
rpm | cloudera-manager-server-6.2.0-968826.el7.x86_64.rpm |
parcel | CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel |
parcel | CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha |
json | mainfest.json |
rpm | mysql-community-client-5.6.47-2.el7.x86_64.rpm |
rpm | mysql-community-release-el7-5.noarch.rpm |
rpm | mysql-community-server-5.6.47-2.el7.x86_64.rpm |
rpm | mysql-connector-java-5.1.46.tar.gz |
确定各节点 hostname 正确设置
cat /etc/hostname
设置 hosts
vim /etc/hosts
192.168.184.xxx master
192.168.184.xxx slave1
192.168.184.xxx slave2
关闭 SELinux
安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,是一个linux内核模块,也是linux的一个安全子系统。
vim /etc/selinux/config
SELinux= disabled
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
设置 ssh 免密登录
ssh-keygen -t rsa 默认位于 ~/.ssh/
ssh-copy-id root@master 拷贝公钥,会生成authorized_keys
ssh-copy-id root@slave1
ssh-copy-id root@slave2
scp -pr ~/.ssh 192.168.184.xxx:/root
ssh master
ssh slave1 测试可以相互免密登录
检查主机时间同步
vim /etc/chrony.conf 注释其他所有默认时间服务器
server master iburst
allow 192.168.184.0/24 只在 master 节点修改
local stratum 10 只在 master 节点修改
systemctl restart chronyd
systemctl enable chronyd 启动服务
chronyc sources 查看服务状态
主机参数配置
cat /etc/sysctl.conf
vm.swappiness = 0
sysctl -p 使参数生效
确认 python 环境
python -V 确认Python版本,要求为2.6.x/2.7.x
安装 CDH
安装 jdk(3台)
或使用上述 oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm 安装
mkdir /usr/java
tar -zxvf jdk-8u144-linux-x64.tar.gz -C /usr/java/
vim /etc/profile
# JAVA_HOME
export JAVA_HOME=/usr/java/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
java -version
xsync /usr/java # 将master中的JDK和环境变量分发到其他两台主机
source /etc/profile
安装 mysql
在线安装
wget -i -c http://dev.mysql.com/get/mysql57-community-client-release-el7-10.noach.rpm
yum -y install mysql5-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
systemctl start mysqld # 启动服务
systemctl status mysqld # 查看状态
grep "password" /var/log/mysqld.log # 查看MySQL密码
mysql -u root -p
alter user 'root'@'localhost' idenified by 'root'; # 修改密码
systemctl enable mysqld # 启动服务并设置开机启动
systemctl start mysqld
mkdir /usr/share/java/
cp mysql-connector-java-5.1.46.bin.jar /usr/share/java/mysql-connector-java.jar
创建数据库
create database scm default character set utf8 default collate utf8_general_ci;
grant all on scm.* to 'scm'@'%' identified by 'scm';
flush privileges;
同样的,创建如下数据库。
数据库 | user | password | |
---|---|---|---|
amon | amon | amon | |
rman | rman | rman | |
hue | hue | hue | |
hive | hive | hive | |
sentry | sentry | sentry | |
nav | nav | nav | |
navms | navms | navms | |
oozie | oozie | oozie |
小结关注点
-1. Chronyd 时间同步(Server/client)和之前的NTP功能一样,提供时间的,它是在NTP之后诞生的。
-2. cloudera manager 卸载
-3. CM的集群部署
-4. 手动格式化 namenode
hdfs namenode -format