详细步骤
机器信息
IP | 机器名称 | 内存 | 硬盘 |
---|---|---|---|
172.16.0.209 | bigdata09 | 64G | 1.8T |
172.16.0.208 | bigdata08 | 16G | 1.8T |
172.16.0.207 | bigdata07 | 16G | 1.8T |
172.16.0.206 | bigdata06 | 16G | 1.8T |
172.16.0.205 | bigdata05 | 16G | 1.8T |
修改名称并配置host
每个节点都要执行
hostnamectl set-hostname bigdata09
vi /etc/hosts
添加一下配置:
172.16.0.205 bigdata05
172.16.0.206 bigdata06
172.16.0.207 bigdata07
172.16.0.208 bigdata08
172.16.0.209 bigdata09
追加完成后重启服务
service network restart
验证
hostname
可以看到已经修改了机器名称了
关闭防火墙
每个节点都要执行
永久关闭防火墙
systemctl disable firewalld
验证(查看防火墙状态)
systemctl status firewalld
禁用 SELinux
每个节点都要执行
永久禁用需要修改配置文件
vi /etc/selinux/config
然后把SELINUX的属性设置为:disabled
修改完成后需要重启电脑
reboot #重启
SSH免密登录
每个节点都要执行
mkdir ~/.ssh
cd ~/.ssh
ssh-keygen -t rsa
连续3次回车即可,不用做别的操作
查看结果,出现
id_rsa文件
id_rsa.pub文件
说明创建成功,如图
主机执行操作
把创建好的秘钥复制到authorized_keys文件中
cp id_rsa.pub authorized_keys
查看当前文件,会发现多出一个authorized_keys文件
查看authorized_keys文件
cat authorized_keys
本机秘钥已经在里面了
编辑配置文件
vi /etc/ssh/sshd_config
需要把这些代码前面的注释去掉
PermitRootLogin yes
StrictModes yes
AuthorizedKeysFile .ssh/authorized_keys
AuthorizedPrincipalsFile none
AuthorizedKeysCommand none
AuthorizedKeysCommandUser nobody
给当前用户的ssh文件配置权限
chmod g-w /home/zdicc
chmod 700 /home/zdicc/.ssh
chmod 600 /home/zdicc/.ssh/authorized_keys
重启服务
service sshd restart
接下来就是把~/.ssh文件下的authorized_keys 拷贝到已经配置好的机器中
把 authorized文件拷贝到第二台机器上
scp authorized_keys bigdata04:/home/zdicc/.ssh/
要输入yes和密码
拷贝成功后进入到第二台机器执行
cd ~/.ssh
ll
cat authorized_keys
进入.ssh文件查看文件里的内容
会发现里面已经有了前一台机器的秘钥,这时我们需要把本机的秘钥也放进去
cat id_rsa.pub >> authorized_keys
ll
cat authorized_keys
这里可以看到已经把本机的秘钥放在里面了
因为我这边需要配置10台,所以我这里把10台的拷贝代码都写出来了
每次只需要执行当前台数以前的代码即可
比如当前是第五台,那只需要执行前4行即可。
scp authorized_keys bigdata01:/home/zdicc/.ssh/
scp authorized_keys bigdata02:/home/zdicc/.ssh/
scp authorized_keys bigdata03:/home/zdicc/.ssh/
scp authorized_keys bigdata04:/home/zdicc/.ssh/
scp authorized_keys bigdata05:/home/zdicc/.ssh/
scp authorized_keys bigdata06:/home/zdicc/.ssh/
scp authorized_keys bigdata07:/home/zdicc/.ssh/
scp authorized_keys bigdata08:/home/zdicc/.ssh/
scp authorized_keys bigdata09:/home/zdicc/.ssh/
scp authorized_keys bigdata10:/home/zdicc/.ssh/
需要输入yes和密码
拷贝完成后 记得修改配置和权限,修改完了之后
跳转到zdicc用户下就可以验证一下是否配置成功
su zdicc
ssh bigdata01
同步服务器时间
每个节点都要执行
NTPDATE同步上海授时服务器时间
需要用root权限登录
执行同步时间命令
ntpdate -u ntp.api.bz
hwclock -w
hwclock --show
NTP服务部署
每个节点都要执行
安装NTP
yum –y install ntp
rpm –qa | grep ntp
能看到两个文件ntpdate-4.2和ntp-4.2
配置NTP服务
vi /etc/ntp.conf
修改前
修改后
需要禁掉chronyd.service
systemctl disable chronyd.service
启动NTP服务,并设置开机自动启动
systemctl start ntpd
systemctl enable ntpd
查看同步
ntpq -p
查看服务
systemctl status ntpd
安装JDK
每个节点都要执行
直接在网络上下载好jdk8然后上传到服务器
创建jdk文件夹,目录为:/usr/java/
因为CDH会在这个文件夹中找jdk文件,创建在别的地方后面的步骤会有报错
mkdir /usr/java
tar -zxvf jdk-8u144-linux-x64.tar.gz -C /usr/java
vi /etc/profile
添加环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_144
export JRE_HOME=${
JAVA_HOME}/jre
export CLASSPATH=.:${
JAVA_HOME}/lib:${
JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${
JAVA_HOME}/bin:${
JRE_HOME}/bin
export PATH=$PATH:${
JAVA_PATH}
执行环境变量
source /etc/profile
查看java版本
java -version
查看jdk路径
$JAVA_HOME
主机安装mysql
主机执行
cd /usr/local/src
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
yum -y install mysql-server
下载安装,依次执行命令,根据提示信息操作,基本都是输入yes
编辑配置
vi /etc/my.cnf
在开始位置插入如下数据
[client]
default-character-set=utf8
然后在[mysql]下
skip-grant-tables
重启MySQL,并查看默认密码,登陆mysql 数据库,修改默认密码
配置外网访问
systemctl restart mysqld.service
grep "password" /var/log/mysqld.log
mysql -h 127.0.0.1 -u root -p
flush privileges;
set password for root@localhost = password('84726886');
use mysql;
select user,host from user;
update user set host='%'
flush privileges;
部署httpd并安装pstree
主机执行
下载并启动httpd服务
yum install -y httpd
systemctl start httpd.service
设置开机启动
systemctl enable httpd.service
查看服务状态
systemctl status httpd.service
当访问该服务器的80端口出现如下画面即为安装和启动成功
http://172.16.0.209/
安装pstree
yum install psmisc -y
因为服务器安装的CentOS7.8是精简版的,所以不包含pstree
提前安装好,省的后期启动CM的时候报错
创建 parcels文件
主机执行
下载地址: http://archive.cloudera.com/cdh5/parcels/5.7.0/
在/var/www/html下创建一个parcels文件夹,并将上述下载的3个文件上传到该目录下
cd /var/www/html/
mkdir parcels
cd parcels
上传如下3个文件
CDH-5.7.0-1.cdh5.7.0.p0.45-el7.parcel
CDH-5.7.0-1.cdh5.7.0.p0.45-el7.parcel.sha
manifest.json
校验文件下载未损坏
/usr/bin/sha1sum CDH-5.7.0-1.cdh5.7.0.p0.45-el7.parcel
cat CDH-5.7.0-1.cdh5.7.0.p0.45-el7.parcel.sha
如果2个验证码一样,证明该文件未损坏,可以使用:
在浏览器中能打开如下网址,证明配置成功:
http://172.16.0.209/parcels/
创建cm文件
主机执行
下载地址: http://archive.cloudera.com/cm5/repo-as-tarball/5.7.0/
在/var/www/html创建cm5/redhat/7/x86_64/文件夹(和官网一样的路径)
cd /var/www/html/
mkdir -p cm5/redhat/7/x86_64/
上传cm5.7.0-centos7.tar.gz包到/var/www/html目录下,并解压
tar -zxf cm5.7.0-centos7.tar.gz
将解压好的文件夹移动到上述创建的文件夹下
mv cm /var/www/html/cm5/redhat/7/x86_64/
每个节点都要执行
vi /etc/yum.repos.d/cloudera-manager.repo
在该文件下插入如下数据
[cloudera-manager]
name = Cloudera Manager, Version 5.7.0
baseurl = http://172.16.0.209/cm5/redhat/7/x86_64/cm/5/
gpgcheck = 0
在浏览器中出现如下界面:
http://172.16.0.209/cm5/redhat/7/x86_64/cm/
安装CM的server+agent
主机执行
cd /var/www/html/cm5/redhat/7/x86_64/cm/5.7.0/RPMS/x86_64/
yum install cloudera-manager-daemons-5.7.0-1.cm570.p0.76.el7.x86_64.rpm
yum -y install cloudera-manager-server-5.7.0-1.cm570.p0.76.el7.x86_64.rpm
进入上述创建的CM的文件目录下
安装cloudera-manager-daemons-5.7.0-1.cm570.p0.76.el7.x86_64.rpm
安装cloudera-manager-server-5.7.0-1.cm570.p0.76.el7.x86_64.rpm,请注意,不用安装db版本的,那是使用默认数据库的,在生产环境中一般不使用,生产环境中是使用MySQL数据库的
创建元数据库
主机执行
登陆mysql数据库
mysql -h127.0.0.1 -uroot -p84******86
在MySQL中创建元数据库
create database cmf DEFAULT CHARACTER SET utf8;
create database amon DEFAULT CHARACTER SET utf8;
create database hive DEFAULT CHARACTER SET utf8;
create database oozie DEFAULT CHARACTER SET utf8;
create database hue DEFAULT CHARACTER SET utf8;
修改CDH关于数据库的配置文件(如下图所示)
每个节点都要执行
上传与MySQL连接的jar包(注:jar包需要放入如下目录,没有就创建)
mkdir /usr/share/java
cd /usr/share/java
上传mysql 的jar包,然后修改jar包名称,不需要版本号
mv mysql-connector-java-5.1.39-bin.jar mysql-connector-java.jar
可以每个机器都上传
也可以直接同步过去
scp mysql-connector-java.jar bigdata08:/usr/share/java/
scp mysql-connector-java.jar bigdata07:/usr/share/java/
scp mysql-connector-java.jar bigdata06:/usr/share/java/
scp mysql-connector-java.jar bigdata05:/usr/share/java/
禁止透明大页面及交换分区设置
每个节点都要执行
禁止透明大页面
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag'>> /etc/rc.local
echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled'>> /etc/rc.local
交换分区设置
echo 'vm.swappiness = 10' >> /etc/sysctl.conf
启动服务
启动服务
service cloudera-scm-server start
查看服务
systemctl status cloudera-scm-server.service
查看日志
cd /var/log/cloudera-scm-server/
ll
cat cloudera-scm-server.out
等两分钟后大概就启动成功了
访问:http://172.16.0.209:7180?useSSL=false
说明启动成功
到此CDH平台 基本算是部署成功了,剩下的就是给里面增加组件了
账户密码都是 admin
前面几个页面 勾选知道协议,选择免费就行了
然后输入集群机器IP搜一下就行
选择更多选项进入之后
将其他远程Parcel删除,并输入先前配置好的Parcel:
http://172.16.0.209/parcels/
下面的cm也要选自定义存储库
http://172.16.0.209/cm5/redhat/7/x86_64/cm/5/
然后继续
jdk不用管 直接点击下一步
单用户模式不用管直接下一步
ssh凭证 输入密码 都用root
然后下一步 等待集群安装就行了
启动关闭集群
service cloudera-scm-server stop
service cloudera-scm-agent stop
service cloudera-scm-server start
service cloudera-scm-agent start
CDH的升级
集群安装的是5.7版本
需要升级到5.9版本
可以升级到6.2.1版本升级方式 和升级到5.9版本一样
cm下载地址:http://archive.cloudera.com/cm5/repo-as-tarball/5.9.0/
(主节点)
service cloudera-scm-server stop
service cloudera-scm-agent stop
service mysqld stop
(其余节点)
service cloudera-scm-agent stop
(主节点)
进入到httpd里创建5.9的文件夹
cd /var/www/html/
mkdir -p cm5/redhat/9/x86_64/
上传cm的安装包然后解压安装包,把cm文件移动到5.9的文件夹下
tar -zxf cm5.9.0-centos7.tar.gz
mv cm /var/www/html/cm5/redhat/9/x86_64/
配置本地的yum源,cdh集群在安装时会就从本地down包,不会从官网了,所有节点都要执行
vi /etc/yum.repos.d/cloudera-manager.repo
将原来的
[cloudera-manager]
name = Cloudera Manager, Version 5.7.0
baseurl = http://172.16.0.209/cm5/redhat/7/x86_64/cm/5/
gpgcheck = 0
改为
[cloudera-manager]
name = Cloudera Manager, Version 5.9.0
baseurl = http://172.16.0.209/cm5/redhat/9/x86_64/cm/5/
gpgcheck = 0
访问
http://172.16.0.209/cm5/redhat/9/x86_64/cm/
(主节点)
yum clean all
rpm -qa 'cloudera-manager-*'
yum upgrade 'cloudera-*'
rpm -qa 'cloudera-manager-*'
(其余节点)
yum clean all
rpm -qa 'cloudera-manager-*'
yum upgrade 'cloudera-*'
rpm -qa 'cloudera-manager-*'
(主节点)
service mysqld start
service cloudera-scm-agent start
service cloudera-scm-server start
(其余节点)
service cloudera-scm-agent start
登陆网站 按照升级的操作步骤即可
CM 就升级到最新了
接下来升级CDH
下载地址: http://archive.cloudera.com/cdh5/parcels/5.9.0/
创建新的 parcels文件
cd /var/www/html/
mkdir parcels9
cd parcels9
上传3个文件
CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel
CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcell.sha
manifest.json
上传好了之后 登陆到cm上 修改parcels
把原来的
http://172.16.0.209/parcels/
改为
http://172.16.0.209/parcels9/
接下来下载 分配 升级