HDP安装教程笔记
Posted weixin_42781936
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDP安装教程笔记相关的知识,希望对你有一定的参考价值。
HDP安装教程,ambari安装教程,大数据平台安装教程
1.环境准备
1.安装centos7系统
1.使用vmware安装centos系统,略
HDP 环境安装配置
HDP : Hortonworks Data Platform
CDH : Cloudera Distribution Hadoop
部署安装主要分为3大部分
- 准备环境、配置机器、准备离线包、本地仓库、数据库等
- 安装Ambari Server 阶段
- 基于Ambari Server UI 来安装相关服务组件阶段
HDP集群的安装,95%的工作是对Ambari Server的安装配置。
所有对集群的安装、配置、管理等都是通过Ambari Server UI来完成
也就是说,Ambari Server UI 是整个集群的管理员,我们多数操作都是通过它来进行的,而不需要像部署开源Hadoop那样去一台台机器手动去部署。
Ambari Server UI 是我们对集群进行管理的入口。如同Linux Shell是操作系统的操作界面一样,Ambari Server UI 就是整个集群的操作界面
1. 环境检查
1.1 产品互用性
首先, 需要确定使用的Ambari版本,可以参考: https://supportmatrix.hortonworks.com , 这里列出了Ambari和HDP等组件的版本依赖关系
我们这里使用Ambari 2.7.0, HDP 3.0.0 来安装部署集群
Ambari 和 HDP 有版本依赖关系
然后HDP的版本 和其内部可使用的大数据组件也有版本参照关系
HDP版本对应的各个大数据组件版本参见:
1.2 课程使用的版本信息
根据 > https://supportmatrix.hortonworks.com 的选择后,课程使用
- Centos 7.4 x64 操作系统
- JDK8
- HDP 3.0.0
- Ambari 2.7
- mysql-5.7.27-1.el7.x86_64.rpm-bundle
- Centos 7.9
同学们如果想要尝试其他版本,请按照网站的搭配来确定版本
2.挂载系统盘并安装ifconfig软件
1.挂载系统安装盘到机器上,配置本地yum仓库用来安装软件,安装ifconfig等软件
- 如果下载了Everything版本的centos7.iso则挂载Everything版本,软件包多一点
D:\\原电脑E盘\\软件安装包\\CentOS-7-x86_64-Everything-1810_2.iso
mkdir /mnt/centos #创建要挂载到的目录
cd /dev
ls | grep sr #查看cdrom指向哪里
mount -t iso9660 -o loop /dev/sr1 /mnt/centos #
mount -t iso9660 -o loop /dev/cdrom /mnt/centos #// 虚拟机环境下,可以用光驱加载ISO文件,不需要上传
2.确定要挂载的sr,cdrom指向的是sr0,但是我们的系统镜像是sr1,所以使用了mount -t iso9660 -o loop /dev/sr1 /mnt/centos
3.配置本地源,用于安装软件是从本地仓库下载
配置本地yum源:
1.将iso光盘挂载到目录下
# 非虚拟机环境
mkdir /data #创建目录(存放iso镜像文件)
#将iso镜像文件上传到/data下
mkdir /mnt/centos #创建要挂载到的目录
mount /xxx/xxx/xxx.iso /mnt/centos
# 虚拟机环境
#必须让虚拟机加载了安装盘
mkdir /mnt/centos
mount -t iso9660 -o loop /dev/cdrom /mnt/centos // 虚拟机环境下,可以用光驱加载ISO文件,不需要上传,mount -t iso9660 -o loop /dev/sr1 /mnt/centos
#查看挂载点
df -h /dev/loop0 11G 11G 0 100% /mnt/centos
2.配置基于本地文件的yum源
cd /etc/yum.repos.d/
ll ./ #查看yum源文件配置
CentOS-Base.repo #网络yum源
CentOS-Debuginfo.repo
CentOS-fasttrack.repo
CentOS-Media.repo #本地yum源
CentOS-Vault.repo
3.先禁用本地的yum配置文件(必须以.repo结尾的yum配置文件才生效)
rename .repo .repo.bak ./*
yum repolist (检查,查不到东西说明,yum源已禁用)
4.复制一份CentOS-Media.repo
cp CentOS-Media.repo.bak local.repo
5.配置local.repo
vi local.repo
[centos7-local]
name=CentOS-$releasever - Local
baseurl=file:///mnt/centos/
gpgcheck=1
enabled=1 #设置这个配置文件为可用
gpgkey=file:///mnt/centos/RPM-GPG-KEY-CentOS-7
6.yum clean all清缓存
7.yum repolist 查看仓库信息
#配置成功会显示
------------------------------------------------------------
repo id repo name status
Local CentOS-6 - Local 6,575
repolist: 6,575
------------------------------------------------------------
4.安装ifconfig软件
# 查找ifconfig是哪个包
yum search ifconfig
#拿到安装包名称后直接下载
yum install -y net-tools # -y 代表yes 直接安装
#安装成功后输入
ifconfig # 输出ip相关信息
5.卸载设备
-
卸载挂载的光盘,重新挂载新的
-
umount -v /mnt/centos
umount 用来卸载设备
-a:卸除/etc/mtab中记录的所有文件系统;
-h:显示帮助;
-n:卸除时不要将信息存入/etc/mtab文件中;
-r:若无法成功卸除,则尝试以只读的方式重新挂入文件系统;
-t<文件系统类型>:仅卸除选项中所指定的文件系统;
-v:执行时显示详细的信息; -V:显示版本信息。
umount -v /dev/sda1 通过设备名卸载
umount -v /mnt/mymount/ 通过挂载点卸载
umount -vl /mnt/mymount/ 延迟卸载
如果报device is busy ,说明你在这个目录下卸载自己 这样肯定不行 退出目录卸载可行 或者 执行延迟卸载
6.挂载光盘
- 挂载Everything版本的centos7.iso,上面挂载的没有vim,软件包比较少,所以umount了以后挂载新的光盘
mount -t iso9660 /dev/cdrom /mnt/centos/
# 挂载光盘 Everything版本的centos7.iso
# mount -t iso9660 /dev/cdrom /mnt/cdrom
1.yum clean all清缓存
2.yum repolist 查看仓库信息
-
换了新的iso后软件变多了447——》10019
-
可以安装vim了
- vim 用于编辑文档
yum install -y vim
3.配置静态ip
-
修改部分内容
vim /etc/sysconfig/network-scripts/ifcfg-ens33
# cat /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="static" 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="ens33" UUID="26809e1e-4bee-4a4e-aef6-8f3fe6e216b4" DEVICE="ens33" ONBOOT="yes" IPADDR="192.168.152.100" #定义的本机ip NETMASK="255.255.255.0" #子网掩码 GATEWAY="192.168.152.2" #网关 如下图查询 DNS1="192.168.152.1" DNS2="8.8.8.8"
4.配置主机名
-
修改主机名 修改/etc/hostname文件。重启生效。3台服务器都需要做如上修改,先修改一台一会克隆后在适当修改部分内容
vim /etc/hostname 修改为hdp100
- 或者使用echo hdp100 > /etc/hostname
-
配置/etc/hosts文件,/etc/hosts存放的是域名与ip的对应关系,域名与主机名没有任何关系,你可以为任何一个IP指定任意一个名字
- 要在hosts文件中配置
FQDN
形式的主机名映射,比如
vim /etc/hosts 192.168.152.100 hdp0.itcast.cn hdp100 192.168.152.101 hdp1.itcast.cn hdp101 192.168.152.102 hdp2.itcast.cn hdp102 192.168.152.103 hdp3.itcast.cn hdp103 # hdp0.itcast.cn 就是 fully.qualified.domain.name FQDN
-
不要移除hosts中自带的这些
127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6
-
3台服务器的hosts都需要做如上修改,先修改一台一会克隆后在适当修改部分内容
-
#生效命令 service network restart 或者 /etc/init.d/network restart
- 要在hosts文件中配置
-
使用
hostname -f
检查是否能够映射FQDN主机名,确认hostname(所有服务器均验证)- 获取FQDN形式的主机名
5.关闭防火墙及selinux
-
3台服务器上分别执行以下操作,关闭防火墙并配置开机不自动启动
-
防火墙指定端口开放,不要禁用防火墙,这里学习则关闭了防火墙
systemctl status firewalld.service #查询防火墙状态 systemctl stop firewalld.service #关闭防火墙 systemctl disable firewalld.service #开机不自动启动 systemctl status firewalld.service #查询防火墙状态
-
关闭3台服务器selinux
-
临时关闭,不用重启服务器
setenforce 0
-
为了重启后依然关闭,配置如下文件
vim /etc/sysconfig/selinux #修改 SELINUX=disabled
-
重启后验证是否禁用成功
sestatus -v SELinux status: disabled
设置umask为0022
UMASK Examples:
为当前登录session设置umask:
umask 0022
检查设置:
umask
为每个用户设置:
echo umask 0022 >> /etc/profile
UMASK(用户掩码或用户文件创建MASK)设置在Linux计算机上创建新文件或文件夹时授予的默认权限或基本权限。
大多数Linux发行版(发行版)都将022设置为默认的umask值。
umask值为022,为新文件或文件夹授予755的读取,写入和执行权限。
umask值027为新文件或文件夹授予750读取,写入和执行权限。
Ambari,HDP和HDF支持umask值022(0022在功能上等效),027(0027在功能上等效)。
必须在所有主机上设置这些值。 -
6.克隆系统并修改ip以及hosts、hostname等参数
- 克隆的三台都要修改
-
修改ip
vim /etc/sysconfig/network-scripts/ifcfg-ens33 #修改ip为 192.168.152.101 ,102,103等ip systemctl restart network #重启生效 ifconfig对比
-
修改主机名称
echo hdp100 > /etc/hostname
- 重启生效
-
设置SSH免密登陆(所有服务器均设置)
要让Ambari Server在所有群集主机上自动安装Ambari Agent,必须在Ambari Server主机与群集中的所有其他主机之间设置无密码SSH连接。
-
Ambari Server主机使用SSH公钥身份验证来远程访问和安装Ambari代理.
Steps
- 生成ssh 秘钥
ssh-keygen -t rsa
- 执行
ssh-copy-id 目标主机
- 执行上述命令后,当前机器可以免密登陆到目标主机 ,所有主机都要设置
3.验证免密是否配置成功
- ssh hdp100
7.安装pssh工具(高效,同时查询或修改其他主机的文件的工具)
- pssh基于Python编写的并发在多台服务器上批量执行命令的工具,它支持文件并行复制、远程并行执行命令、杀掉远程主机上的进程等,这里介绍安装及常用命令
-
我将安装包放到/opt/bao目录下
cd /opt/bao wget http://peak.telecommunity.com/dist/ez_setup.py wget http://files.opstool.com/files/pssh-2.3.tar.gz #上面的网址可能下载不下来,用另一个 wget https://pypi.python.org/packages/60/9a/8035af3a7d3d1617ae2c7c174efa4f154e5bf9c24b36b623413b38be8e4a/pssh-2.3.1.tar.gz
-
发解压到/opt/src目录下
tar -zxvf pssh-2.3.1.tar.gz -C /opt/src
-
更改包名,并cd到包里
cd /opt/src mv pssh-2.3.1 pssh cd pssh
-
build &install
python setup.py build python setup.py install
-
查看安装
pssh --version
2.3.1
- 创建nodes文档,添加需要批处理的服务器节点
为了以后使用方便,在根目录下创建,文件名可随意,方便使用原则
vim /node.list
root@192.168.152.100:22
root@192.168.152.101:22
root@192.168.152.102:22
root@192.168.152.103:22
cat /node.list
-
使用实例
pssh -h /node.list -i -P 'date' [root@hdp100 pssh]# pssh -h /node.list -i -P 'date' 192.168.152.101: Thu Feb 23 00:34:11 PST 2023 [1] 00:34:11 [SUCCESS] root@192.168.152.101:22 Thu Feb 23 00:34:11 PST 2023 192.168.152.100: Thu Feb 23 00:34:11 PST 2023 [2] 00:34:11 [SUCCESS] root@192.168.152.100:22 Thu Feb 23 00:34:11 PST 2023 192.168.152.102: Thu Feb 23 00:34:11 PST 2023 [3] 00:34:11 [SUCCESS] root@192.168.152.102:22 Thu Feb 23 00:34:11 PST 2023 192.168.152.103: Thu Feb 23 00:34:11 PST 2023 [4] 00:34:11 [SUCCESS] root@192.168.152.103:22 pssh -h /node.list -i 'date'
pssh是一个用于在多台主机上并行执行ssh的命令,方便多台Linux的管理。 -i 每台主机执行完后显示标准输出和标准错误 -H 指定远程地址,该地址可以同时给出多个,格式为[user@]host[:port],也可以和-f选项配合使用。 -h 指定主机列表文件,也就是说可以从文件中读取主机列表。 -t 指定超时时间,单位是秒,参数为0表示永不超时。 -o 将输出结果保存到指定的文件 -A 提示输入密码,这样做的目的是密码不会保存在命令历史记录里。 -l 指定ssh连接用户名-x 传递额外的ssh命令参数 -p 指定pssh命令的最大并发连接数
8.安装http服务
-
将这个机器配置的本地仓库托管为http服务,让其他server可以访问,安装两个软件 createrepo和httpd
sysctl net.ipv6.conf.all.disable_ipv6=1 # 关闭IP6 yum install yum-utils createrepo #安装失败请检查本地仓库,光盘是否挂载 没有挂载则运行mount -t iso9660 -o loop /dev/cdrom /mnt/centos 也不行 yum install httpd systemctl enable httpd #设置为开机自启动 systemctl enable httpd.service mkdir -p /var/www/html/ #httpd 默认工作目录 cd /var/www/html/ ln -s /mnt/centos centos7-local-repo systemctl start httpd #启动httpd服务,在hdp1就可以通过局域网访问hdp0的仓库了 #备注在/var/www/html下建立centos7-local-repo的软连接,链接到 /mnt/centos /var/www/html是httpd的默认工作目录,所以输入http://192.168.152.100/centos7-local-repo/或者http://hdp0/centos7-local-repo/就可以访问到本地仓库 #修改电脑hosts文件C:\\Windows\\System32\\drivers\\etc\\hosts #配置本地的ambari集群 自己的 192.168.152.100 hdp100 192.168.152.101 hdp101 192.168.152.102 hdp102 192.168.152.103 hdp103 #在自己电脑浏览器上可以查看,本地仓库托管成网络服务 ,局域网源配置成功 http://192.168.152.100/centos7-local-repo/ 9. 在其他机器上 http://hdp0/centos7-local-repo/ cd /etc/yum.repos.d/ rename .repo .repo.bak ./* cp CentOS-Base.repo.bak my.repo 修改my.repo内容为 ``` [hdp0] # 自己定义 name=CentOS-$releasever - HDP0-local # 自己定义一个名字 # 下面的url 是配置好提供本地仓库的服务器,如我的就是如下 (baseurl) baseurl=http://hdp0/centos7-local-repo/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 ``` yum repolist 同步到其他节点 pscp -h /node.list /etc/yum.repos.d/my.repo /etc/yum.repos.d/my.repo 查看yum源是否配置成功,如下可见redhat7.6.repo配置成功 pssh -h /node.list -i 'yum clean all' pssh -h /node.list -i 'yum repolist' #报错的话则将除了主机外的其他三台主机的my.repo屏蔽,克隆的时候一起克隆过来了 mv local.repo local.repo.bak 查看hdp0是否开机启动 systemctl status httpd
yum install yum-utils createrepo #安装失败请检查本地仓库,光盘是否挂载 没有挂载则运行mount -t iso9660 -o loop /dev/cdrom /mnt/centos **失败**
9.配置ntp时钟同步(所有服务器均设置)
-
群集中所有节点的时钟以及运行浏览器的计算机必须能够彼此同步才能访问Ambari Web界面。
-
要安装NTP服务并确保它在启动时启动,请在每台主机上运行以下命令:
-
卸载系统原装的chrony
pssh -h /node.list -i 'yum -y remove chrony'
-
所有节点安装NTP服务
pssh -h /node.list -i 'yum -y install ntp'
-
选择一台服务器作为NTP Server,将如下配置
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 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 #允许这些网段的主机访问进行同步时间 restrict 192.168.152.0 mask 255.255.255.0 nomodify notrap #允许本机访问 restrict 127.0.0.1 #server指定ntp服务器的地址 将当前主机作为时间服务器 #fudge设置时间服务器的层级 stratum 0~15 ,0:表示顶级 , 10:通常用于给局域网主机提供时间服务 #注意:fudge必须和server一块用, 而且是在server的下一行 # local clock 授权中心,自己和自己对,别人以他为准 和自己对时间 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 #(your local server) server 192.168.152.100
-
在每台服务器上启动ntpd服务,并配置服务开机自启动
pssh -h /node.list -i 'systemctl restart ntpd' pssh -h /node.list -i 'systemctl enable ntpd.service'
-
验证所有节点NTP是否同步成功
pssh -h /node.list -i 'ntpq -p' [1] 03:45:30 [SUCCESS] root@192.168.152.101:22 remote refid st t when poll reach delay offset jitter ============================================================================== hdp0.itcast.cn LOCAL(0) 11 u 7 64 3 0.186 -3851.3 0.008 [2] 03:45:30 [SUCCESS] root@192.168.152.100:22 remote refid st t when poll reach delay offset jitter ============================================================================== *LOCAL(0) .LOCL. 10 l 13 64 7 0.000 0.000 0.000 [3] 03:45:30 [SUCCESS] root@192.168.152.102:22 remote refid st t when poll reach delay offset jitter ============================================================================== hdp0.itcast.cn LOCAL(0) 11 u 12 64 7 0.613 62273.4 0.032 [4] 03:45:30 [SUCCESS] root@192.168.152.103:22 remote refid st t when poll reach delay offset jitter ============================================================================== hdp0.itcast.cn LOCAL(0) 11 u 10 64 7 0.153 -5428.2 0.041
-
同步时间,来手动对时 ,clientnode.list没有本机的ip,只有client节点的ip
pssh -h /clientnode.list -i 'ntpdate -u hdp100' #重启ntpd pssh -h /node.list -i 'systemctl restart ntpd'
-
检查 提供ntp server机器的时间
如果时区不对,使用tzselect 命令选择中国时区 tzselect 输入 5 9 1 1 使用date -s "设置时间" 如: date -s "2019-09-02 11:41:00"
-
重新使用以上命令同步一下时间
pssh -h /node.list -i 'date' pssh -h /clientnode.list -i 'ntpdate -u hdp100' pssh -h /node.list -i 'date'
-
-
d
-
将安装包提供的
libtirpc-0.2.4-0.15.el7.x86_64.rpm
和libtirpc-devel-0.2.4-0.15.el7.x86_64.rpm
上传到服务器进行安装rpm -ivh libtirpc-0.2.4-0.15.el7.x86_64.rpm 所有的节点都要安装可以使用
rz
命令快速上传,如果rz
提示无这个命令使用:yum install lrzsz
来安装即可yum install nmap
所有的节点都要安装 -
d
-
d
-
10.下载并设置数据库连接器(Ambari Server服务器设置即可)
-
需要元数据存储仓库,默认是postgre,也可以使用其他mysql,oracer,如hive也需要元数据存储仓库,ambari也需要
-
安装一个数据库提供元数据存储
-
安装Mysql:
一、首先清除CentOS7系统中默认的数据库mariadb,否则不能安装mysql rpm -qa |grep mariadb |xargs yum remove -y 二、安装MySql 1、下载MySql的相关rpm包 上传安装包中提供的mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar 2、将下载的mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar放到/usr/local/mysql目录,解压缩安装包 tar -xvf mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar #视频是建立mysql-rpms文件夹,并解压到此文件夹下 #tar -xvf mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar -C mysql-rpms/ 3、切换到下载包目录下(cd 你的下载目录),然后对每个包进行一次安装; rpm -ivh mysql-community-common-8.0.15-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-8.0.15-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-compat-8.0.15-1.el7.x86_64.rpm rpm -ivh mysql-community-embedded-compat-8.0.15-1.el7.x86_64.rpm rpm -ivh mysql-community-devel-8.0.15-1.el7.x86_64.rpm rpm -ivh mysql-community-client-8.0.15-1.el7.x86_64.rpm rpm -ivh mysql-community-server-8.0.15-1.el7.x86_64.rpm 或者一行搞定 >>> rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm mysql-community-libs-5.7.27-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.27-1.el7.x86_64.rpm mysql-community-embedded-compat-5.7.27-1.el7.x86_64.rpm mysql-community-embedded-devel-5.7.27-1.el7.x86_64.rpm mysql-community-embedded-5.7.27-1.el7.x86_64.rpm mysql-community-devel-5.7.27-1.el7.x86_64.rpm mysql-community-client-5.7.27-1.el7.x86_64.rpm mysql-community-server-5.7.27-1.el7.x86_64.rpm 如果缺少libaio 可以安装提供的两个libaio包 rpm -ip libaio-devel-0.3.109-13.el7.x86_64.rpm 或者执行如下命令,安装所需依赖即可: yum install -y libaio 4、修改MySql基础配置 vi /etc/my.cnf 修改配置如下 #datadir=/var/lib/mysql 存放数据的目录 datadir=/data/mysql socket=/var/lib/mysql/mysql.sock log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid 修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示: [mysqld] character_set_server=utf8 init_connect='SET NAMES utf8' 5、通过以下命令,完成对 mysql 数据库的初始化和相关配置 mysqld --initialize // chown mysql:mysql /data/mysql -R cd /var/lib/mysql chown -R mysql:mysql * #将修改权限 systemctl enable mysqld // 设置开机启动 #drwxr-xr-x 2 root root 6 Feb 24 10:54 mysql 三、启动MySql服务 1、启动MySql systemctl start mysqld.service #停止MySql systemctl stop mysqld.service #重启MySql systemctl restart mysqld.service 2、设置MySql开机自启 systemctl enable mysqld 1 3、通过 cat /var/log/mysqld.log | grep password 命令查看数据库的密码 2019-02-16T09:46:38.945518Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ,#t#dlkOG0j0 1 以上密码为,#t#dlkOG0j0 AHIZUGI!j8hi 4、测试MySql安装是否成功 4.1、以root用户登录MySql,执行命令 mysql -u root -p 输入以上命令回车进入,出现输入密码提示 4.2、输入刚刚查到的密码,进行数据库的登陆,复制粘贴就行,MySQL 的登陆密码也是不显示的 4.3、通过 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; 命令来修改密码 4.4、通过 exit; 命令退出 MySQL,然后通过新密码再次登陆 至此,mysql数据库就安装完成了。 2023年2月20号下班到这里了 四、MySql远程访问授权配置 1、以root用户登录MySql mysql -u root -p grant all privileges on *.* to root@"%" identified by '密码' with grant option; flush privileges; #以下为说明解释 #查看添加的账号密码权限 use mysql SELECT Host,user,authentication_string FROM user; 图片如下 #比如你的host主机IP是192.168.170.128,用如下命令在Linux主机上验证是否可以远程登录,注意把如下密码换成你的MySQL数据库的实际root密码,IP换成你的实际主机地址。 mysql -uroot -proot -h hdp100 附: 创建新用户: CREATE USER ‘用户名’@‘host名称’ IDENTIFIED WITH mysql_native_password BY ‘密码’; 给新用户授权:GRANT ALL PRIVILEGES ON . TO ‘用户名’@‘host名称’; 刷新权限: FLUSH PRIVILEGES; 备注: #grant all privileges on *.* #授予所有权限 对于所有的库所有的表*.* #%代表任何地方 不只是本主机才可以登录 %代表所有的访问地址 #WITH GRANT OPTION表示允许级联授权 #其中"*.*"代表所有资源所有权限, “'root'@%”其中root代表账户名,%代表所有的访问地址。IDENTIFIED BY '密码',这里换成数据库root用户的密码,WITH GRANT OPTION表示允许级联授权 #SELECT Host,user,authentication_string FROM user;
报错解决办法:
1、 运行上边的代码报错,需要加入 --force --nodeps rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm --force --nodeps mysql-community-libs-5.7.27-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.27-1.el7.x86_64.rpm mysql-community-embedded-compat-5.7.27-1.el7.x86_64.rpm mysql-community-embedded-devel-5.7.27-1.el7.x86_64.rpm mysql-community-embedded-5.7.27-1.el7.x86_64.rpm mysql-community-devel-5.7.27-1.el7.x86_64.rpm mysql-community-client-5.7.27-1.el7.x86_64.rpm mysql-community-server-5.7.27-1.el7.x86_64.rpm Linux下rpm方式安装MySQL遇到warning: mysql-community-server-5.7.25-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY这个错误,这是因为yum安装了旧版本的GPG keys造成的 解决办法:后面加上 --force --nodeps 如: rpm -ivh MySQL-server-5.5.46-1.linux2.6.x86_64.rpm --force --nodeps 即可 2、mysqld --initialize 报错 [root@hdp0 etc]# mysqld --initialize mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory 解决办法:原因是因为:新的服务器没有安装所需依赖导致的。 解决办法,执行如下命令,安装所需依赖即可: yum install -y libaio
-
创建相关账号和数据库以及表
-
使用MySQL时,用于Ranger管理策略存储表的存储引擎必须支持事务。
-
InnoDB是支持事务的引擎示例。
-
不支持事务的存储引擎不适合作为策略存储。
-
nnoDB,是MySQL的数据库引擎之一,现为MySQL的默认存储引擎,为MySQL AB发布binary的标准之一
-
推荐使用InnoDB引擎
-
应使用MySQL数据库管理员创建Ranger数据库
-
以下一系列命令可用于创建密码为
rangerdba
的rangerdba
用户。-
以root用户身份登录,然后使用以下命令创建
rangerdba
用户并授予其足够的权限。CREATE USER 'rangerdba'@'localhost' IDENTIFIED BY 'rangerdba'; #创建一个用户rangerdba, 可以在localhost登录,密码是rangerdba GRANT ALL PRIVILEGES ON *.* TO 'rangerdba'@'localhost'; #授予所有权限 对于所有的库所有的表*.* 授权给rangerdba用户,必须在localhost登录才可以 CREATE USER 'rangerdba'@'%' IDENTIFIED BY 'rangerdba'; #%代表任何地方 进入mysql后可以查看是否添加 #SELECT Host,user,authentication_string,Grant_priv FROM mysql.user; GRANT ALL PRIVILEGES ON *.* TO 'rangerdba'@'%'; GRANT ALL PRIVILEGES ON *.* TO 'rangerdba'@'localhost' WITH GRANT OPTION; #grant用于给增加用户和创建权限 grant用于给增加用户和创建权限 GRANT ALL PRIVILEGES ON *.* TO 'rangerdba'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
#说明: #连接:https://baijiahao.baidu.com/s?id=1704529867014054059&wfr=spider&for=pc #也就是说数据库的all priveleges包含下面的权限: INSERT, SELECT, UPDATE以上是关于HDP安装教程笔记的主要内容,如果未能解决你的问题,请参考以下文章
-
-
-