Ambari HDP 最新版本本地安装说明

说明 :root用户 内网ip 服务器能访问外网
服务器:安装的时候使用内网ip,下载的时候使用外网ip
Hostname 外网IP 内网IP
myha01 62.234.185.97 172.21.0.12
myha02 62.234.222.204 172.21.0.10
myha03 62.234.216.21 172.21.0.14
备注:集群内部使用内网IP
操作系统:CentOS Linux 7.5 64位(腾讯云示例)
在这里插入图片描述
Ambari版本:Ambari-2.7.1.0

HDP版本:HDP-3.1.0
在这里插入图片描述
官方文档: https://docs.hortonworks.com/ 版本说明
MySQL版本:mysql-5.7.21 最稳定版本
在这里插入图片描述
JDK版本:java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64
在这里插入图片描述

1. 安装Ambari前,准备工作

1.1 设置ssh免密登陆

ssh-keygen
在这里插入图片描述
每个服务器依次执行以下命令,将服务器公钥拷贝至本服务器和其他服务器
注意:第一次连接时,需要输入yes来确认建立授权的主机名访问,并需要输入目标服务器root用户密码来完成公钥文件传输。
在这里插入图片描述
ssh-copy-id 172.21.0.12
ssh-copy-id 172.21.0.10
ssh-copy-id 172.21.0.14

SecureCRT可同时将命令发送到所有服务器:
在这里插入图片描述
给所有的ssh公钥和私钥配置权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
在这里插入图片描述

1.2 分别修改DNS

vi /etc/hosts
添加根据集群IP配置如下信息:
172.21.0.12 myhadoop01
172.21.0.10 myhadoop02
172.0.14 myhadoop03
在这里插入图片描述
可以对每台服务器分别修改,也可以修改完myhadoop1后再发送到myhadoop2、myhadoop3
scp /etc/hosts root@myhadoop02/etc/hosts
scp /etc/hosts root@myhadoop03:/etc/hosts
在这里插入图片描述
注意:必须保留,否则会影响ambari程序运行稳定性。
127.0.0.1 localhost.localdomain localhost
127.0.0.1 localhost4.localdomain4 localhost4
::1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6

1.3 分别修改主机名

hostnamectl --static set-hostname myhadoop01
在这里插入图片描述
hostnamectl --static set-hostname myhadoop03
在这里插入图片描述
hostnamectl --static set-hostname myhadoop02
在这里插入图片描述
或者vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=<fully.qualified.domain.name>

1.4 分别禁用linux huge page

vi /etc/rc.d/rc.local
添加下面内容

#disable THP at boot time
if myhadoop -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if myhadoop -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
在这里插入图片描述
可以修改完myhadoop1后再发送到myhadoop2、myhadoop3
scp /etc/rc.d/rc.local root@myhadoop2:/etc/rc.d
scp /etc/rc.d/rc.local root@myhadoop3:/etc/rc.d
在这里插入图片描述
特别说明:
不要采用多种方式,腾讯云centos已经修改过,不需要再修改。否则后期安装过程中会一直卡在安装界面。
在这里插入图片描述
自己也可以参考腾讯云centos优化方式
touch /var/lock/subsys/local
/usr/local/qcloud/irq/net_smp_affinity.sh >/tmp/net_affinity.log 2>&1
/usr/local/qcloud/rps/set_rps.sh >/tmp/setRps.log 2>&1
/usr/local/qcloud/gpu/nv_gpu_conf.sh >/tmp/nv_gpu_conf.log 2>&1

1.5 分别禁用selinux

vi /etc/selinux/config
将SELINUX设置为disabled,如已修改请跳过
在这里插入图片描述

1.6 分别关闭防火墙

systemctl disable firewalld
service firewalld stop
说明:两个命令都要敲,systemctl是开机启动关闭,service 是立刻关闭
在这里插入图片描述

1.7 分别修改linux对资源的限制

vi /etc/security/limits.conf
添加如下内容:

End of file

  • soft nofile 100001
  • hard nofile 100002
    root soft nofile 100001
    root hard nofile 100002
    在这里插入图片描述
    可以修改完myhadoop1后再发送到myhadoop2、myhadoop3
    scp /etc/security/limits.conf root@myhadoop2:/etc/security/
    scp /etc/security/limits.conf root@myhadoop3:/etc/security/
    说明:各个对linux资源限制会根据自身服务器配置修改
    服务器配置好多一点,配置低少一点

1.8 修改内核配置参数

vi /etc/sysctl.conf
说明:该参数网上有很多版本,参考腾讯云centos优化,和阿里云centos优化,采用以下优化方式为最佳。
添加如下内容:

#sysctl settings are defined through files in
#/usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
Vendors settings live in /usr/lib/sysctl.d/.
To override a whole file, create a new file with the same in
#/etc/sysctl.d/ and put new settings there. To override
#only specific settings, add a file with a lexically later
name in /etc/sysctl.d/ and put new settings there.
#For more information, see sysctl.conf(5) and sysctl.d(5).

Controls IP packet forwarding
net.ipv4.ip_forward = 0

#Controls source route verification
net.ipv4.conf.default.rp_filter = 1

Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

#Controls the System Request debugging functionality of the kernel

Controls whether core dumps will append the PID to the core filename.
Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1

#Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1

#Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536

#Controls the default maxmimum size of a mesage queue
kernel.msgmax = 65536
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv4.conf.all.promote_secondaries = 1
net.ipv4.conf.default.promote_secondaries = 1
net.ipv6.neigh.default.gc_thresh3 = 4096
net.ipv4.neigh.default.gc_thresh3 = 4096
kernel.softlockup_panic = 1
kernel.sysrq = 1
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
kernel.numa_balancing = 0
kernel.shmmax = 68719476736
kernel.printk = 5
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv4.conf.all.promote_secondaries = 1
net.ipv4.conf.default.promote_secondaries = 1
net.ipv6.neigh.default.gc_thresh3 = 4096
net.ipv4.neigh.default.gc_thresh3 = 4096
kernel.softlockup_panic = 1
kernel.sysrq = 1
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
kernel.numa_balancing = 0
kernel.shmmax = 68719476736
kernel.printk = 5
可以修改完myhadoop1后再发送到myhadoop2、myhadoop3
scp /etc/sysctl.conf root@myhadoop2:/etc
scp /etc/sysctl.conf root@myhadoop3:/etc
在这里插入图片描述

1.9 mount 硬盘 (ext4)

fdisk -l 查看是否有磁盘需要挂载
在这里插入图片描述
如果想单独加载数据盘可用以下命令(数据盘为/dev/vdb1,挂载目录为/data)
如不需要则可跳过此步骤
mkdir /data
mount -t ext4 /dev/xvdb1 /data
设置开机自动加载数据盘:
vi /etc/fstab
添加如下内容:
/dev/vdb1 /data ext4 defaults 0 0
在这里插入图片描述在这里插入图片描述

1.10 安装必要的包

每个节点分别安装:
yum install -y lsof java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64 bzip2 net-tools.x86_64 rsync nfs-utils ntp ntpdate ntp-doc

1.10.1 查找java安装路径

查找JDK安装路径:
which java
在这里插入图片描述
Java安装路径为:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64

1.10.2 配置jdk环境变量

在/etc/profile文件末尾添加: vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64
export JRE_HOME= J A V A H O M E / j r e e x p o r t C L A S S P A T H = . : {JAVA_HOME}/jre export CLASSPATH=.: JAVAHOME/jreexportCLASSPATH=.:{JAVA_HOME}/lib: J R E H O M E / l i b e x p o r t P A T H = {JRE_HOME}/lib export PATH= JREHOME/libexportPATH={JAVA_HOME}/bin:$PATH
在这里插入图片描述
使/etc/profile生效
source /etc/profile

1.10.3 将/ etc/profile发送到myhadoop2、myhadoop3

scp /etc/profile root@myhadoop2:/etc
scp /etc/profile root@myhadoop3:/etc
在这里插入图片描述

1.10.4 使/etc/profile生效

source /etc/profile
在这里插入图片描述

1.10 配置ntp时钟服务器

集群中的所有节点的时钟必须能够彼此同步。
安装NTP服务并启动,请在每个节点上运行以下命令:
yum install -y ntp(如果在1.10已安装ntp则可跳过)

ntp 主节点:
vi /etc/ntp.conf
restrict 10.0.0.0 mask 255.255.0.0
server 172.21.0.12

ntp 从节点 :
myhadoop2、myhadoop3分别修改:
vi /etc/ntp.conf
server 10.0.0.15

关闭ntp:
systemctl stop ntpd

启动ntp:
systemctl start ntpd
systemctl enable ntpd
查看时间同步状态:ntpstat
在这里插入图片描述
说明:如果是腾讯云,阿里云能访问外网服务器则不用修改

1.11 重启系统,使所有配置生效

reboot

2. 安装MySQL

Ambari安装会将安装等信息写入数据库,建议使用自己安装的Mysql数据库,也可以不安装而使用默认数据库PostgreSQL。如果安装Hive、Oozie,也可使用MySQL数据库
也可以ambari使用默认PostgreSQL数据库,hive、Oozie在对应想安装的节点上安装MySQL数据库管理

2.1 下载MySQL的YUM源安装包

登陆 https://dev.mysql.com/downloads/repo/yum/选择对应操作系统下载YUM源rpm安装包
在这里插入图片描述
在这里插入图片描述
地址为:
https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm

2.2 下载MySQL YUM源rpm安装包

wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm

2.3 安装MySQL 源

yum localinstall mysql57-community-release-el7-11.noarch.rpm

2.4 安装MySQL

yum install mysql-community-server

2.5 修改mysql 文件配置

vi /etc/my.cnf
在这里插入图片描述

2.5 启动MySQL

systemctl start mysqld

2.6 查看MySQL默认密码

mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:
grep ‘temporary password’ /var/log/mysqld.log
在这里插入图片描述

2.7 登陆MySQL

mysql -u root -p
在这里插入图片描述

2.8 修改MySQL密码(红色部分为新密码)

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘Mysql-123’;
或者:
set password for ‘root’@‘localhost’=password(‘Mysql-123’);

2.9 创建数据库

2.9.1 安装完成后创建ambari数据库及用户,登录root用户执行下面语句:

use mysql;
create database ambari default charset utf8 collate utf8_general_ci; #新建ambari数据库
CREATE USER ‘ambari’@’%’ IDENTIFIED BY ‘Ambari-123’;#新建ambari用户
GRANT ALL PRIVILEGES ON ambari.* TO ‘ambari’@’%’;#分配ambari权限
FLUSH PRIVILEGES;#刷新系统权限表

2.9.2 如果要安装Hive,再创建Hive数据库和用户 再执行下面的语句

create database hive default charset utf8 collate utf8_general_ci; #新建hive数据库
CREATE USER ‘hive’@’%’ IDENTIFIED BY ‘Hive-123’;#新建hive用户
GRANT ALL PRIVILEGES ON hive.* TO ‘hive’@’%’;#分配hive权限
FLUSH PRIVILEGES;#刷新系统权限表

2.9.3 如果要安装Oozie,再创建Oozie数据库和用户 再执行下面的语句

create database Oozie default charset utf8 collate utf8_general_ci; #新建Oozie数据库
CREATE USER ‘Oozie’@’%’ IDENTIFIED BY ‘Oozie-123’;#新建Oozie用户
GRANT ALL PRIVILEGES ON Oozie.* TO ‘Oozie’@’%’;#分配Oozie权限
FLUSH PRIVILEGES;#刷新系统权限表
在这里插入图片描述

3. 制作Ambari本地库

在设置本地库之前,我们先需要完成一些准备工作,如下:
选择一台服务器作为本地库的镜像服务器,这个服务器能够被集群中的服务器所访问,且有一个被支持的操作系统。此台镜像服务器有软件包管理。

3.1 安装httpd并启动

yum install httpd(如果在1.9已经安装过,可跳过此步骤)
相关命令如下:
第一、启动、终止、重启
systemctl start httpd.service #启动
systemctl stop httpd.service #停止
systemctl restart httpd.service #重启
第二、设置开机启动/关闭
systemctl enable httpd.service #开机启动
systemctl disable httpd.service #开机不启动
第三、检查httpd状态
systemctl status httpd.service
在这里插入图片描述

3.2 下载安装包并解压

3.2.1 下载地址请参考

Ambari:
https://docs.hortonworks.com/HDPDocuments/Ambari-2.7.1.0/bk_ambari-installation/content/ambari_repositories.html
HDP和HDP UTILS:
https://docs.hortonworks.com/HDPDocuments/Ambari-2.7.1.0/bk_ambari-installation/content/hdp_30_repositories.html

3.2.2 切换到目录 /data

cd /data

3.2.3 下载HDP-3.1.0.0压缩包并解压

wget http://public-repo-1.hortonworks.com/HDP/centos7/3.x/updates/3.0.1.0/HDP-3.0.1.0-187.xml
tar -xzvf HDP-3.1.0.0-centos7-rpm.tar.gz

3.2.4 下载HDP-UTILS压缩包并解压

wget http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gz
tar -xzvf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/hdp-utils/

3.2.5 下载Ambari-2.7.1.0 压缩包并解压

wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.1.0/ambari-2.7.1.0-centos7.tar.gz
tar -xzvf Ambari-2.7.1.0-centos7.tar.gz

3.2.6 下载HDP-GPL压缩包并解压

wget http://public-repo-1.hortonworks.com/HDP-GPL/centos7/3.x/updates/3.0.1.0/HDP-GPL-3.0.1.0-centos7-gpl.tar.gz
tar -xzvf HDP-GPL-2.6.4.0-centos7-rpm.tar.gz

3.2.7 下载Ambari.repo 并修改

查看移动全部文件到/var/www/http/下
①新建文件夹
在这里插入图片描述
②移动文件
mv ambari/centos7/2.7.3.0-139/* /var/www/html/ambari/
mv HDP/centos7/3.1.0.0-78/* /var/www/html/hdp/
mv HDP-UTILS/centos7/1.1.0.22/* /var/www/html/hdp-utils/
mv HDP-GPL/centos7/3.1.0.0-78/* /var/www/html/hdp-gpl/
下载:
wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.1.0/ambari.repo
在这里插入图片描述
修改为:
在这里插入图片描述

3.2.8 下载hdp.repo 并修改

下载:wget http://public-repo-1.hortonworks.com/HDP/centos7/3.x/updates/3.0.1.0/hdp.repo

修改为:

3.2.9 复制repo

将修改后的ambari.repo和hdp.repo复制到/etc/yum.repos.d
cp ambari.repo /etc/yum.repos.d
cp hdp.repo /etc/yum.repos.d
在这里插入图片描述
之后再发送到myhadoop2和myhadoop3
scp /etc/yum.repos.d/ambari.repo myhadoop2:/etc/yum.repos.d
scp /etc/yum.repos.d/ambari.repo myhadoop3:/etc/yum.repos.d
scp /etc/yum.repos.d/hdp.repo myhadoop2:/etc/yum.repos.d
scp /etc/yum.repos.d/hdp.repo myhadoop3:/etc/yum.repos.d
在这里插入图片描述

4. 安装Ambari

4.1 更新yum缓存

yum clean all
yum makecache

4.2 查看ambari源

yum list | grep ambari

4.3 安装设置Mysql驱动

下载驱动:
cd /data
wget https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz
解压:
tar -xzvf mysql-connector-java-5.1.46.tar.gz
设置ambari的MySQL驱动:(需启动ambari-server后执行)
移动驱动到/usr/share/java下后面备用
cd mysql-connector-java-5.1.46
mv mysql-connector-java-5.1.46.jar /usr/share/java/

4.4 安装ambari-server

在选择的主节点上安装ambari-server,每个节点(包括主节点)上安装ambari-agent
yum install ambari-server

4.5 设置Ambari server

ambari-server setup
在这里插入图片描述
设置JAVA_HOME路径(在1.9中配置的路径):
①设置安装用户:root
②设置jdk,前面安装的openjdk路劲
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64

设置ambari内置数据库
在这里插入图片描述
注意:都有默认值,修改不同地方,比如数据库登陆密码Amabri-123
注意警告:添加amabri 数据哭表头,记录地址:/var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
在这里插入图片描述

4.7 mysql 添加ambari表头

登陆mysql
mysql -u ambari -p
输入密码:Ambari-123
在这里插入图片描述
切换数据库:
use ambari;
Source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;
在这里插入图片描述

4.8 启动ambari

ambari-server start
ambari-server stop #停止ambari-server
在这里插入图片描述

5. 对每个节点安装Ambari-agent

5.1 安装ambari-agent

每个节点都需要安装:
yum install ambari-agent
在这里插入图片描述

5.2 设置Ambari Server Host Name:

编辑ambari-agent配置文件,全部设置为安装过Ambari-server 的主机名:
vi /etc/ambari-agent/conf/ambari-agent.ini
分别将hostname修改为myhadoop1
在这里插入图片描述
可以修改完myhadoop1之后发送到myhadoop2、myhadoop3:
scp /etc/ambari-agent/conf/ambari-agent.ini root@myhadoop2:/etc/ambari-agent/conf/
scp /etc/ambari-agent/conf/ambari-agent.ini root@myhadoop3:/etc/ambari-agent/conf/
在这里插入图片描述

5.3 启动ambari agent

ambari-agent start
在这里插入图片描述
相关的命令有以下:
ambari-agent status # 检查agent服务运行状态
ambari-agent stop # 停止agent服务

6. 安装HDP

6.1 登录到Apache Ambari

在启动Ambari 服务之后,使用web浏览器,打开Ambari Web。在浏览器的地址栏输入:
http://{your.ambari.server}:8080
其中,{your.ambari.server}是你的ambari server所在的主机名,例如
http://116.196.81.22:8080/
登陆前确保8080端口已经打开
默认用户名密码为:admin admin

6.2 给集群命名

在这里插入图片描述
点击“Launch Install Wizard”进入如下界面:
在这里插入图片描述
点击next

6.3 选择版本

在这里插入图片描述

6.4 选择对应版本HDP-3.1

在这里插入图片描述
移除除了你需要的,只留下rehat7
选择本地源和系统版本,填写对应地址:
HDP-3.1:http://myhadoop01/hdp
HDP-3.1-GPL:http://myhadoop01/hdp-gpl
HDP-UTILS-1.1.0.22:http://myha01/hdp-utils

6.5 安装选项

在这里插入图片描述
在“Target Hosts”里填上主机名,主机名一定要是全限定名。一行一个主机名。
在“Host Registration information”,选择Perform manual registration on hosts and do not use SSH,使用这种方式需要注意:需要提前在host上安装好ambari-agent,并启动服务。
在主机cat /root/.ssh/id_rsa
在这里插入图片描述

6.6 确认主机

在这里插入图片描述
点击进去确定
在这里插入图片描述
确保没有问题,有问题解决问题。
**

6.7 选择服务

**
根据需求自主选择需要安装的组件,示例安装以下内容:
HDFS、YARN + MapReduce2、Hive、HBase、ZooKeeper、Ambari Metrics、Kafka、Spark2、Slider
在这里插入图片描述

6.8 分配Masters

在这里插入图片描述

6.9 分配Slaves和Clients

在这里插入图片描述

6.10 定制服务

在这里插入图片描述

6.10.1 设置登陆密码

在这里插入图片描述

6.10.2 修改hive元数据库信息

在这里插入图片描述
根据安装MySQL的hive用户和hive数据库设置,Connection OK即可。

选择已经存在的mysql数据库
并且在ambari-server所在结点添加mysql-java驱动
在这里插入图片描述
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java-5.1.46.jar

6.10.3 修改Hive配置

根据安装MySQL的hive用户和hive数据库设置,Connection OK即可。
在这里插入图片描述
输入hive元数据mysql密码,并且测试连接是否通畅
在这里插入图片描述

6.10.4 修改Ambari Metrics 配置:

设置Grafana Admin Password
在这里插入图片描述

6.10.5 修改hdfs数据目录

选择挂载磁盘作为数据储存目录。其他的删除
在这里插入图片描述
Yarn的日志储存路劲相同
在这里插入图片描述

6.10.6 用户组管理配置

在这里插入图片描述

可以使用默认组管理,也可以自定义密码

6.10.7 修改所有服务配置

在这里插入图片描述
可以根据自己需要修改一定配置。
也可以启动服务后再修改配置。

6.11 Review

在这里插入图片描述

6.12 安装,启动和测试

在这里插入图片描述

跟踪安装测试,直至完成。

6.13 完成

在这里插入图片描述

7.异常问题及其解决方法

7.1 ssl.SSLHandshakeException

Ambari-Agent /var/log/ambari-server/ambari-server.log
异常ssl.SSLHandshakeException: Client requested protocol TLSv1 not enabled or not supported
解决:[security] 中添加:/etc/ambari-agent/conf/ambari-agent.ini
force_https_protocol=PROTOCOL_TLSv1_2

7.2 ERROR: Exiting with exit code -1

REASON: Before starting Ambari Server, you must copy the MySQL JDBC driver JAR file to /usr/share/java and set property “server.jdbc.driver.path=[path/to/custom_jdbc_driver]” in ambari.properties.
解决办法:
将mysql的驱动包放到/usr/share/java
在/etc/ambari-server/conf/ambari.properties中添加
server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar
1 将mysql的驱动包放到/usr/share/java
2在/etc/ambari-server/conf/ambari.properties中添加
3 server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar

7.3 You will need to run those service checks from ambari server host manually and once those service checks are successful then only you should proceed for the upgrade.

解决办法:

So please try this
Ambari UI --> HDFS --> “Service Actions” (drop down from right corner) --> Run Service check
Ambari UI --> OOZIE --> “Service Actions” (drop down from right corner) --> Run Service check
Ambari UI --> ZOOKEEPRR --> “Service Actions” (drop down from right corner) --> Run Service check
Ambari UI --> HIVE --> “Service Actions” (drop down from right corner) --> Run Service check

7.4 HDFS的权限问题

在Ambari上安装好集群之后 自然要使用,无论是在页面上往查看目录,还是在命令行操作文件或目录,经常会出现如下问题:

Permission denied: user=dr.who, access=READ_EXECUTE, inode="/tmp/hive":ambari-qa:hdfs:drwx-wx-wx

黑体部分依次是 HDFS目录、目录拥有者、目录拥有者所在组。
解决方式有两种:
①修改目录权限
sudo -u hdfs hadoop dfs -chmod [-R] 755 /user/hdfs #红字部分是指该命令的执行用户,这里使用目录所有者
这种方式破坏了原有的权限设计,个人不建议
②使用对应的用户去执行命令,如
sudo -u hdfs hadoop dfs -ls /user/hive #即 根据目录的权限,选择使用对应的用户
要注意的是,如果要上传文件,最好先用 su someuser 登录,然后再执行(这样路径才不会出错,否则会找不到路径)
其实还有另外一种添加超级权限用户组的方式,感兴趣可参考 HDFS Permissions: Overcoming The “Permission Denied” AccessControlException
7.5 安装遇到其他异常问题
可以通过追踪日志查询问题原因
/var/log/ambari-server/路径下有所有的日志,根据问题对应查找跟踪。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值