操作环境
- 操作系统:RedHat7.6
- 集群环境:CDH6.3.3
- 操作用户:root
前期准备
2.1 网络设置
修改网络IP,并设置为静态:
vim /etc/sysconfig/network-scripts/ifcfg-ens192
2.2 yum源配置
1.挂载系统镜像
准备系统镜像文件,注意:准备的系统镜像文件必须与当前系统版本一致
cat /etc/redhat-release
在/media目录下创建DVD文件夹,然后挂载,系统镜像到此目录
mkdir /media/DVD
mount -o loop /dev/cdrom /media/DVD/
查看镜像已经挂载成功
df -h
进入 /etc/yum.repos.d 文件夹,创建os.repo文件并编辑该文件,编辑内容如下:
[osrepo]
name=RedHat7.6
baseurl=file:///media/DVD/
enabled=true
gpgcheck=false
cd /etc/yum.repos.d/
touch os.repo
vim os.repo
保存退出。然后执行命令 yum repolist:
在下面2.4节做好交互式脚本后,使用脚本进行同步到集群所有节点:
sh batch_scp.sh node.list /etc/yum.repos.d/os.repo /etc/yum.repos.d/
执行yum repolist:
sh batch_cmd.sh node.list "yum repolist"
1.下载安装httpd:
yum install -y httpd
2.修改配置文件
启动httpd,并设置开机自动启动,查看httpd状态:
systemctl start httpd
systemctl enable httpd
systemctl status httpd
2.修改系统yum源配置
创建/var/www/html/iso目录,然后将/media/DVD目录下的所有内容拷贝到/var/www/html/iso目录
mkdir /var/www/html/iso
cp -r /media/DVD/* /var/www/html/iso/
然后修改/etc/yum.repos.d/os.repo文件如下:
baseurl=http://192.168.0.193/iso/
然后执行yum repolist命令
使用Web访问iso目录测试如下目录
3.配置Cloudera Manager的repo源
将Cloudera Manager的所有rpm包放到 /var/www/html/目录的新建目录cm6.3.3下:
在/var/www/html/cm6.3.3目录下执行命令:createrepo . 生成rpm元数据:
在/etc/yum.repos.d/目录下新建cm.repo文件,并添加如下内容:
[cm_repo]
name = cm_repo
baseurl = http://192.168.0.193/cm6.3.3/
enable = true
gpgcheck = false
保存退出。
执行
yum clean all
yum repolist
验证安装JDK
yum -y install openjdk8-8.0+232_9-cloudera
上传脚本到master节点,执行
yum -y install expect
1.使用hostnamectl set-hostname 主机名 :(所有节点执行)
hostnamectl set-hostname cdp1.hadoop.com
2.配置 /etc/hosts
添加主机IP映射
主机IP hostname
192.168.0.193 cdp1.hadoop.com
192.168.0.194 cdp2.hadoop.com
192.168.0.196 cdp3.hadoop.com
保存退出。
使用脚本分发到所有节点:
重开窗口确认主机名生效
执行如下命令(所有节点):
./batch_cmd.sh node.list "setenforce 0"
修改配置文件
批量关闭防火墙(所有节点):
使用脚本命令:
./batch_cmd.sh node.list "systemctl stop firewalld"
设置开机不启动防火墙:
使用脚本命令:
./batch_cmd.sh node.list "systemctl disable firewalld"
查看防火墙状态:
使用脚本命令:
./batch_cmd.sh node.list "systemctl status firewalld"
使用脚本命令批量执行如下操作(所有节点):
sh batch_cmd.sh node.list "echo never > /sys/kernel/mm/transparent_hugepage/defrag"
sh batch_cmd.sh node.list "echo never > /sys/kernel/mm/transparent_hugepage/enabled"
修改/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
vim /etc/rc.d/rc.local
将修改后的文件分发到所有节点,然后修改文件可执行权限
sh batch_scp.sh node.list /etc/rc.d/rc.local /etc/rc.d/
sh batch_cmd.sh node.list "chmod +x /etc/rc.d/rc.local"
sh batch_cmd.sh node.list "ls -l /etc/rc.d/|grep rc.local"
使用脚本批量执行(所有节点)
sh batch_cmd.sh node.list "sysctl vm.swappiness=1"
sh batch_cmd.sh node.list "echo 1 > /proc/sys/vm/swappiness"
永久修改
vim /etc/sysctl.conf
vm.seappiness = 1
分发到所有节点
sh batch_scp.sh node.list /etc/sysctl.conf /etc/
查看swappiness的值:
sh batch_cmd.sh node.list "cat /proc/sys/vm/swappiness"
1.卸载chrony
在Redhat7.x的操作系统上,已经默认的安装了chrony,我们这里先卸载chrony,然后安装ntp。使用ntp来配置各台机器的时钟同步。
所有节点卸载chrony
./batch_cmd.sh node.list "yum -y remove chrony"
2.所有节点下载安装ntp服务
使用脚本批量执行
./batch_cmd.sh node.list "yum -y install ntp"
Master节点修改 /etc/ntp.conf文件:
注释部分内容
添加以下内容:
server 127.127.1.0
fudge 127.127.1.0 stratum 10
集群其他节点修改/etc/ntp.conf文件如下:
启动ntpd服务并设置开机自启:
sh batch_cmd.sh node.list "systemctl start ntpd"
sh batch_cmd.sh node.list "systemctl enable ntpd"
sh batch_cmd.sh node.list "systemctl status ntpd | grep Active"
查看同步状态:
sh batch_cmd.sh node.list "ntpq -p"
2.11安装数据库
1.安装外部数据库
yum -y install mariadb mariadb-server
启动MariaDB数据库服务,并设置未开机自启:
systemctl start mariadb
systemctl enable mariadb
systemctl status mariadb
配置mariadb,设置密码为password
/usr/bin/mysql_secure_installation
2.创建集群所需要的数据库
create database metastore default character set utf8; CREATE USER 'hive'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON metastore.* TO 'hive'@'%'; FLUSH PRIVILEGES; create database scm default character set utf8; CREATE USER 'scm'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON scm.* TO 'scm'@'%'; FLUSH PRIVILEGES; create database rm default character set utf8; CREATE USER 'rm'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON rm.* TO 'rm'@'%'; FLUSH PRIVILEGES;create database am default character set utf8; CREATE USER 'am'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON am.* TO 'am'@'%'; FLUSH PRIVILEGES; create database hue default character set utf8; CREATE USER 'hue'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON hue.* TO 'hue'@'%'; FLUSH PRIVILEGES; create database oozie default character set utf8; CREATE USER 'oozie'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON oozie.* TO 'oozie'@'%'; FLUSH PRIVILEGES; create database sentry default character set utf8; CREATE USER 'sentry'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON sentry. * TO 'sentry'@'%'; FLUSH PRIVILEGES; create database nav_ms default character set utf8; CREATE USER 'nav_ms'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON nav_ms. * TO 'nav_ms'@'%'; FLUSH PRIVILEGES; create database nav_as default character set utf8; CREATE USER 'nav_as'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON nav_as. * TO 'nav_as'@'%'; FLUSH PRIVILEGES;
3.安装jdbc驱动
创建/usr/share/java/文件夹,然后将MySQL的JDBC驱动包上传至该目录
注意:不是所有节点都需要MySQL驱动,只有节点上有服务需要数据库时,该节点才需要驱动jar包。
使用软链接的形式去掉驱动jar包的版本号
ln -s mysql-connector-java-5.1.34.jar mysql-connector-java.jar
3.1 安装并启动Cloudera-Manager-Server
在master节点上安装Cloudera-Manager-Server:
yum -y install cloudera-manager-server
初始化数据库:
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm password
启动cloudera-scm-server,并查看7180端口是否被监听。当出现如下所示7180端口被监听,则可以打开浏览器Web页面。
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm password
通过网页访问192.168.193:7180
输入账户:admin
密码:admin登录CM
点击继续
继续,输入集群名称,可以使用默认的“Cluster 1”。
指定集群主机机器
根据输入搜索到指定主机,点击继续
添加自定义的cm存储库URL
设置自定义的parcel存储库URL和cm存储库URL
添加自定义的Parcel存储卡URL
点击继续
选择JDK,点击继续
选择用户,并输入密码
安装…
安装成功
安装选定parcel…
安装成功,继续
主机正确性检查,确保全部通过后点完成
群集设置,
选择自己要安装的组件
测试数据库连接
审核更改
首次运行命令,启动集群服务
集群设置配置成功,点击完成
集群安装完成,进入Cloudera Manager主页
1.从安装方式上来看,CDH6与CDH5变化不大,这也方便了CDH5的用户可以较为快速的迁移到CDH6,以及适应CDH6的安装与使用。
2.安装条件前置没有任何变化,包括防火墙,Selinux关闭,ntp同步等等
3.在配置Cloudera Manager连接到数据库时的脚本有所变化。以前是/usr/share/cmf/schema/scm_prepare_database.sh,现在是/opt/cloudera/cm/schema/scm_prepare_database.sh
4.在JDK方面,CDH自带JDK1.8.0_181,将不再支持JDK1.7。
5.从CDH6.3.3开始已经不再提供免费版,安装界面只有2个选择,一个是试用60天,另一个是上传许可证后继续安装。