前提准备
虚拟机上服务器版本:centos7.8
对应ip和主机名
192.168.100.150 server150 Server150
192.168.100.151 server151 Server151
192.168.100.152 server152 Server152
192.168.100.153 server153 Server153
对应的软件准备(jdk,mysql,cdh等对应版本,服务器常用工具)
Jdk1.8u181
Mysql5.7
Cdh6.2
#所有节点安装常用工具
Yum install sudo
#1.安装vim编辑器
yum install -y vim
#2.安装lrzsz文件传输工具
yum -y install lrzsz
#3.安装wget文件下载工具
yum -y install wget
#4.安装netstat,查看端口监听状况: netstat -ntlp | grep 端口号
yum -y install net-tools
#5.下载unzip解压工具,解压命令: uzip 压缩包.zip -d 解压目录
yum install -y unzip zip
环境初始化
1. 修改主机名和ip
修改主机名
查看主机名:cat /ect/hostname
修改主机名://永久性的修改主机名称,重启后能保持修改后的。
hostnamectl set-hostname server151
//删除hostname
hostnamectl set-hostname “”
hostnamectl set-hostname “” --static
hostnamectl set-hostname “” –pretty
修改ip
修改:ip addr
cd /etc/sysconfig/network-scripts
vim ifcfg-ens192
或者vim /etc/sysconfig/network-scripts/ifcfg-ens192
#重启网卡服务
systemctl restart network
#修改以下内容红色部分
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens192"
UUID="f10ce132-b6da-473d-bffc-580e7a5ca117"
DEVICE="ens192"
ONBOOT="yes"
IPADDR="192.168.100.151"
PREFIX="24"
GATEWAY="192.168.100.254"
DNS1="202.101.172.35"
IPV6_PRIVACY="no"
#保存并退出
#重启网卡服务
systemctl restart network
2. 关闭防火墙
#查看防火墙状态
Firewall-cmd –state
#永久关闭防火墙
Systemctl disable firewalld
3. 配置hosts文件
vim /etc/hosts
#所有节点都要配置
192.168.100.151 server151 Server151
192.168.100.152 server152 Server152
192.168.100.153 server153 Server153
192.168.100.154 server154 Server154
4. 配置免密
所有节点上执行
#到root目录下:
cd root
#执行生成密钥命令:
ssh-keygen -t rsa
#然后三个回车
#然后复制公钥追加到第一台节点的公钥文件中:
ssh-copy-id -i /root/.ssh/id_rsa.pub root@server152
#选择yes
#输入登录第一台节点的密码(操作完成该节点公钥复制到第一台节点中)
#依次操作复制到其他几台的节点上
ssh-copy-id -i /root/.ssh/id_rsa.pub root@server153
ssh-copy-id -i /root/.ssh/id_rsa.pub root@server154
免密具体原理
逻辑
全部生成公钥和私钥
将第1台的公钥拷到该目录特定文件authorized_keys中,
将第1台的authorized_keys scp到第2台机器,
将第2台的公钥拷到该目录特定文件authorized_keys中
将第2台的authorized_keys scp到第3台机器
将第3台的公钥拷到该目录特定文件authorized_keys中
将第3台的authorized_keys scp到第1台机器
具体操作:
所有集群机器
cd /root/
ssh-keygen -t rsa
#然后三个回车
[root@hadoop26 ~]# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
此时authorized_keys只有hadoop26的公钥
[root@hadoop26 ~]# scp /root/.ssh/authorized_keys root@hadoop27:/root/.ssh/authorized_keys
[root@hadoop27 ~]# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
此时authorized_keys有hadoop26,hadoop27的公钥
[root@hadoop27 ~]# cat /root/.ssh/authorized_keys
[root@hadoop27 ~]# scp /root/.ssh/authorized_keys root@hadoop28:/root/.ssh/authorized_keys
[root@hadoop28 ~]# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
此时只有hadoop28的authorized_keys有hadoop26,hadoop27,hadoop28的公钥
[root@hadoop28 ~]# cat /root/.ssh/authorized_keys
[root@hadoop28 ~]# scp /root/.ssh/authorized_keys root@hadoop26:/root/.ssh/authorized_keys
此时hadoop26,hadoop28的authorized_keys有hadoop26,hadoop27,hadoop28的公钥
[root@hadoop28 ~]# scp /root/.ssh/authorized_keys root@hadoop27:/root/.ssh/authorized_keys
此时全部节点的authorized_keys有hadoop26,hadoop27,hadoop28的公钥
5. 设置时间同步
#先查看服务器是否安装ntpd服务(啥都没显示的话说明没有安装)
rpm -qa | grep ntpd
#安装NTP服务
yum install ntp或者yum –y install ntp
###5、设置时间同步
#设置时区为Asia/Shanghai
timedatectl set-timezone Asia/Shanghai
#查看是否安装了ntpd的服务
rpm -qa | grep ntpd
#如果没有安装,可以进行在线安装
yum -y install ntp
#启动ntpd的服务
service ntpd start
#设置ntpd的服务开机启动
systemctl enable ntpd.service
#查看ntpd的服务是否启动
service ntpd status
#设置定时任务
#与阿里云服务器进行时钟同步
crontab -e
#设置的内容如下(其中ip为你需要和该ip的时间同步为准)
*/1 * * * * /usr/sbin/ntpdate -u ip;
#然后date查看时间是否一致
6. 主节点安装配置mysql
自行百度建议安装mysql5.7
7. 创建本地yum仓库
使用阿里的镜像源安装MySQL时下载速度比较快
#1.备份原镜像文件,便于后期恢复
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.backup
#2.下载阿里云的CentOS-Base.repo 到/etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#3. 清除缓存
yum clean all
#4. 生成缓存
yum makecache
8. 安装配置jdk
hadoop权限:所有机器上安装jdk(单台安装在向集群分发)
#上传文件并解压到指定目录:jdk-8u181-linux-x64.tar.gz
tar –zxvf /tmp/ jdk-8u181-linux-x64.tar.gz –C /home/jdk1.8z
1 到配置文件中去配置java环境变量
vi /ect/profile
#复制:
export JAVA_HOME=/usr/share/java/jdk1.8.0_181
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}
然后:wq退出,然后通过命令source /etc/profile让profile文件立即生效
2 检查环境变量
javac
java –version
一般不采用上述的方法:用二(见三,1)
yum -y install oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
该方法安装直接在/usr/java/路径下是莫个配置读取jdk的默认路径,然后配置环境变量
vim /ect/profile
主节点编写文件分发脚本
#/home路径下创建scp.sh脚本内容如下:
#同步主节点的文件到其他节点
sh scp.sh /usr/share/java/*
sh scp.sh /etc/profile
sh scp.sh /etc/hosts
scp.sh内容如下
#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]then
echo Not Enough Arguement! exit;
fi
#2. 遍历集群所有机器(主机名或者ip)
for host in ip1 ip2 ip3
do
echo ==================== $host ====================
#3. 遍历所有目录,挨个发送
for file in $@
do
#4 判断文件是否存在
if [ -e $file ]
then
#5. 获取父目录
pdir=$(cd -P $(dirname $file); pwd)
#6. 获取当前文件的名称
fname=$(basename $file)
ssh $host "mkdir -p $pdir"
rsync -av $pdir/$fname $host:$pdir
else
echo $file does not exists!
fi donedone
Cloudea Manager安装部署
-
安装CM Server及其agent
文件准备:将下载好的CDH包和CM的包放到指定的目录:/opt/cloudera/parcel-repo ![在这里插入图片描述](https://img-blog.csdnimg.cn/ff37eb87e771490ba598047e3bd3b35b.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAY3Nkbl9neWI=,size_19,color_FFFFFF,t_70,g_se,x_16) 分发到集群的节点机器
安装httpd服务(cdh-1)
#安装
yum install -y httpd
#启动
systemctl start httpd
#开机自启
systemctl enable httpd
制作CM源生成repodata文件,需要用到createrepo这个包(cdh-1)
#安装
yum install -y createrepo
#进入到cm的rpm包存放目录
cd /var/www/html/cm
#生成repodata文件夹
createrepo .
#安装依赖(所有节点)
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
安装CM agent及其Server
#其中server是主节点安装,其他的所有机器都要安装(安装顺序daemons所有—> server主节点—> server-db主节点—> agent所有)
cd /var/www/html/cm
yum -y install cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
yum -y install cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
yum -y install oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
#该命令只有主节点安装
yum -y install cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
yum -y install cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
3. 所有节点修改agen加粗样式配置文件 ( server_host=主节点名称或者ip)
#所有节点修改agent配置(server_host=主节点ip或者主机名)
vim /etc/cloudera-scm-agent/config.ini
server_host=server150
4. 初始化scm数据库
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm scm
5. 启动cm server及其agent
启动cm server 及其agent(先启动server后启动agent)
#Server主节点启动CM server服务
systemctl start cloudera-scm-server
#启动的日志目录为
/var/log/cloudera-scm-server/
tail cloudera-scm-server.log
#或者
tail /var/log/cloudera-scm-server/ cloudera-scm-server.log
#所有节点启动CM agent
systemctl start cloudera-scm-agent
#查看状态
systemctl status cloudera-scm-agent
systemctl status cloudera-scm-server
#停掉服务
systemctl stop cloudera-scm-agent
systemctl stop cloudera-scm-server
7. 页面可视化安装其他服务
版本选择
安装基础服务
其中zookeeper安装的时候要选择至少3台节点
查看各服务版本