共计 13945 个字符,预计需要花费 35 分钟才能阅读完成。
在进入大数据领域来,一直使用微软的 Azure HDInsight,当前在中国区仅支持在 Windows 系统上部署集群,虽然创建的过程很简单,但对于开发人员来说,就是一个黑盒子,在更深入的研究和开发扩展的过程中,遇到了不少麻烦。因此准备在本地手工搭建自己的 HDP2.4 集群进行研究和学习,第一步通过 VMWare 创建虚拟机节点,安装操作系统,通过对比选择 CentOS7。
安装过程:
- 软件下载
- 创建虚拟机
- Centos 配置
下载 软件包:
- 虚拟机工具软件:VMware-workstation-full-12.0.1-3160714.exe
- Centos 安装程序:CentOS-7-x86_64-DVD-1511.iso
- Java 安装程序: jdk-8u91-linux-x64.rpm
注意:
- HDP2.4 与 Centos7 中文版有冲突,所以在 Centos7 安装的过程中,必须选择英文版
安装过程:
- 启动 VMware Workstation, 在 VM 管理界面选择 “Create a New Virture Machine”
- 按向导选择 OS 镜像文件(即你下载到本地的 CentOS-7-x86_64-DVD-1511.iso 文件),如图
- 点击向导下一步:输入虚拟机名及本地存储路径。
- 点击向导下一步:输入分配给虚拟机的磁盘大小,选中“Store virtual disk as a single file” (这样文件夹下会比较干净)
- 点击向导下一步:按默认设置,点击”完成“,进入初始化安装界面。(当鼠标移动虚拟机安装界面时,可能出现找不着鼠标的现象,按 Ctrl+Alt 键)
- 初始化结束后,进入安装向导界面,如图(注意我上面说的,一定选择 英文)
- 点击向导 ”Continue”(一次点击不行就点击两次:))
- 设置时间、时区(亚洲、香港)
- “SoftWare Selection”, 对于习惯于 Windows 的新手,可选择 Gonme Desktop(带桌面版的 linux),我选择默认的Mininal Install
- 选择磁盘分区,如果不挂接附加盘,点击此选项后,在弹出的页面,连续两次点击“Done”
- 此时安装配置设置完成,”Begin Installation” 按纽可用,点击开始安装
- 安装过程中,在如上图的界面,点击“Root Password” 图标,给 Root 用户设置密码
- 点击”User Creation”, 在弹出的界面,新建一个用户,同时设置用户管理员权限
- 等待几分钟后,系统安装完成,会提示重启机器
- 在 VM 管理界面,选中名为 hdp1 的机器,点击右键 –> 选择 ”Settings….”, 在弹出界面中,选择网络连接方式为”Bridged”, 如下图:
- 重启后输入用户名和密码后成功进入系统,则表示安装成功
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2016-09/134883p2.htm
CentOS7 Minimal Install 安装完成后是 不支持上网 的,并且大部分常用的软件也未安装,首先要解决的问题就是网络配置。当网络配通后,即可通过 Xshell 或其它工具来远程进行操作与管理,推荐工具 XShell (可在 window 下远程操作和控制 linux 主机)、winSCP(windows 与 linux 系统之间文件上传与下载), 虽然也可以在 xshell 中执行 xz、rz 命令完成上面的操作,但对于比较大的文件,winSCP 工具传送的速度比较快。
配置步骤:
- 网络配置
- 常用软件安装
- 配置主机名
- 配置 ssh
- 配置 ntp 服务
- 配置 firewall
- 配置 selinux
- 安装 java jdk
- 安装 httpd
网络配置:
- 以 root 用户登陆进入系统,找到网络配置模块的配置文件:/etc/sysconfig/network-scripts/ifcfg-eno***
-
使用 vi 编辑器打开该配置文件
将 BOOTPROTO 设置为动态的,即:BOOTPROTO=dhcp
将 ONBOOT 设置为 yes 即:ONBOOT=yes
- 按 ”Esc” 键,输入“:”,“wq“,保存并退出
- 重启网络服务(service network start 或 systemctl start network.service)或重启机器(reboot)
- 测试网络:ping www.baidu.com, 能 ping 通,则 OK
- 在 linux 命令行,输入 ip addr 查看机器 IP 地址,有了这个,就可以在 windows 系统下通过 xshell 来远程操作
常用软件安装:
- 命令:yum install -y net-tools (我习惯使用 ifconfig 命令才安装,自动从网上搜索下载安装)
- 命令: yum install -y vim (安装 vim 文本编辑器工具)
- 命令:yum install -y lrzsz (文件上传下载工具)
配置主机名:
- 命令:vim /etc/sysconfig/network 在编辑器打开的配置文件中增加下面的内容后,保存退出
NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=hdp1 NTPSERVERARGS=iburst
- 命令:vim /etc/hosts 在编辑器打开的文件中增加主机与 IP 地址的对应关系,
- 格式:192.168.0.1 hdp1.jn hdp1 (如果不配置域,则红色省略)
- 命令:reboot (重启机器)
- 命令:hostname -f (查看机器名,若显示为你刚才设置的名,则 OK)
配置 ssh:
- 安装完系统后,已经安装了 ssh 服务,命令:ps -aux|grep ssh 如下图:
- 配置的目的是为了与集群内其它节点进行 ssh 无密码通讯
- 命令:ssh-keygen (按提示一直回车,完成后,在 /root/.ssh 目录下会生成公、私密钥文件)
- 命令:cd /root/.ssh
- 命令:cat id_rsa.pub >> authorized_keys 或 ssh-copy-id hdp1 (将公钥文件导入主机的 authorized_keys 文件)
- 注意: 如果要将当前机器公钥导入另一台物理机器的 authorized_keys 文件时,使用 ssh-copy-id 命令
- 如果多机器要相互 ssh 无密访问,则需如下命令
[root@hdp1 .ssh]# ssh-copy-id hdp2 [root@hdp2 .ssh]# ssh-copy-id hdp1 ........
- 测试命令:ssh hdp1 (显示最后的登陆时间,则 ok, 如访问其它机器,还是用此命令,替换机器名即可)
- 说明:ssh-copy-id 将本机的公钥复制到远程机器的 authorized_keys 文件中,ssh-copy-id 也能让你有到远程机器的 home, ~./ssh , 和 ~/.ssh/authorized_keys 的权利
- 命令:chmod 700 ~/.ssh (设置文件权限)
- 命令:chmod 600 ~/.ssh/authorized_keys
- 权限说明:
-rw------- (600) -- 只有属主有读写权限。-rw-r--r-- (644) -- 只有属主有读写权限;而属组用户和其他用户只有读权限。-rwx------ (700) -- 只有属主有读、写、执行权限。
配置 ntp 服务:
- 因为 hdp 中有服务需要集群的时间同步,所以集群中的每一个机器需要安装启动 ntp 服务保证集群时间的一致
- 命令:yum install -y ntp
- 命令: systemctl enable ntpd
- 命令: systemctl start ntpd
配置 firewall:
- 因为集群中的线程之间需要互相通信,所以需要合理配置防火墙,最简单的方式是直接关闭防火墙
- 命令:systemctl disable firewalld
- 命令:systemctl stop firewalld
- 检测:systemctl status firewalld
配置 selinux:
- selinux(Security-Enhanced Linux) 一个安全体系结构,提供了一个灵活的,可配置的 MAC 机制。
- 在集群安装的过程中,为了避免不必要的麻烦,将集群节点上的 selinux 服务关闭
- 命令:vim /etc/selinux/config (在编辑器中修改 selinux 的配置文件 设置 selinux = disabled),如图
- 命令: umask 0022
安装 java jdk:
-
Centos7 Minimal Install 没安装 jdk, 如果选择 Gnome Desktop 时,默认的 jdk 版本为 1.7
-
有些软件对 jdk 的版本有特殊要求,如 hdp2.4 要求 jdk1.8+,如果本机已经安装了低于 1.8 版本的 JDK,请删除
- 命令:rpm -qa|grep java (查找本机安装的 jdk,如果没有结果,直接可忽略下面一步)
- 命令:rpm -e –nodeps 文件名(上一步查出来的文件一条条执行此命令来删除)
- 安装 Jdk1.8, 建议先下载,再执行本地化安装,文件名:jdk-8u91-linux-x64.rpm
- 在系统 /usr 目录下创建子目录 zhu, 切换至该目录,执行 rz 命令将下载到本地的 jkd 文件上传至该目录,ls 命令查看
- 命令:rpm -ivh jdk-8u91-linux-x64.rpm (安装 java jdk)
- 命令:vim /etc/profile (编辑 profile 文件进行配置, 添加如下脚本)
JAVA_HOME=/usr/java/jdk1.8.0_91 JRE_HOME=/usr/java/jdk1.8.0_91/jre PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export JAVA_HOME JRE_HOME PATH CLASSPATH
- 命令:source /etc/profile
- 安装完成后,执行: java -version (查看 java 版本,如下图,则 OK)
安装 httpd:
- httpd 是 Apache 超文本传输协议 (HTTP) 服务器的主程序, 被设计为一个独立运行的后台进程(把它理解为 windows 的 IIS 即可)
-
主要为了在安装 HDP 时,作为本地源部署主机,供其它主机通过 http 在内网内下载安装包
- ��令:yum install -y httpd
- 安装完成后,会在 /var 下生成www/html 目录, 通过站点方式被访问的文件都会部署到 html 目录下
- 命令:systemctl start httpd (启动命令)
- 命令:systemctl enable httpd(配置命令)
- 其它命令包含:restart /status/restart 等
- 命令:netstat -nltp|grep httpd 如下图 则 ok, 监听 80 端口,
- 如果想修改 httpd 服务监听的端口,可修改 /etc/http/conf/httpd.conf 配置文件里面的 listen
- 试试在浏览器中访问 http://linux 机器 IP 地址, 正常情况下会出现 test page 则 OK
在进入大数据领域来,一直使用微软的 Azure HDInsight,当前在中国区仅支持在 Windows 系统上部署集群,虽然创建的过程很简单,但对于开发人员来说,就是一个黑盒子,在更深入的研究和开发扩展的过程中,遇到了不少麻烦。因此准备在本地手工搭建自己的 HDP2.4 集群进行研究和学习,第一步通过 VMWare 创建虚拟机节点,安装操作系统,通过对比选择 CentOS7。
安装过程:
- 软件下载
- 创建虚拟机
- Centos 配置
下载 软件包:
- 虚拟机工具软件:VMware-workstation-full-12.0.1-3160714.exe
- Centos 安装程序:CentOS-7-x86_64-DVD-1511.iso
- Java 安装程序: jdk-8u91-linux-x64.rpm
注意:
- HDP2.4 与 Centos7 中文版有冲突,所以在 Centos7 安装的过程中,必须选择英文版
安装过程:
- 启动 VMware Workstation, 在 VM 管理界面选择 “Create a New Virture Machine”
- 按向导选择 OS 镜像文件(即你下载到本地的 CentOS-7-x86_64-DVD-1511.iso 文件),如图
- 点击向导下一步:输入虚拟机名及本地存储路径。
- 点击向导下一步:输入分配给虚拟机的磁盘大小,选中“Store virtual disk as a single file” (这样文件夹下会比较干净)
- 点击向导下一步:按默认设置,点击”完成“,进入初始化安装界面。(当鼠标移动虚拟机安装界面时,可能出现找不着鼠标的现象,按 Ctrl+Alt 键)
- 初始化结束后,进入安装向导界面,如图(注意我上面说的,一定选择 英文)
- 点击向导 ”Continue”(一次点击不行就点击两次:))
- 设置时间、时区(亚洲、香港)
- “SoftWare Selection”, 对于习惯于 Windows 的新手,可选择 Gonme Desktop(带桌面版的 linux),我选择默认的Mininal Install
- 选择磁盘分区,如果不挂接附加盘,点击此选项后,在弹出的页面,连续两次点击“Done”
- 此时安装配置设置完成,”Begin Installation” 按纽可用,点击开始安装
- 安装过程中,在如上图的界面,点击“Root Password” 图标,给 Root 用户设置密码
- 点击”User Creation”, 在弹出的界面,新建一个用户,同时设置用户管理员权限
- 等待几分钟后,系统安装完成,会提示重启机器
- 在 VM 管理界面,选中名为 hdp1 的机器,点击右键 –> 选择 ”Settings….”, 在弹出界面中,选择网络连接方式为”Bridged”, 如下图:
- 重启后输入用户名和密码后成功进入系统,则表示安装成功
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2016-09/134883p2.htm
在安装 Ambari 时,Ambari 默认的数据库是 ProstgreSQL,对 ProstgreSQL 不太熟悉,选择使用 MySql。但 CentOS 7 默认支持的是 MariaDB 数据库. MariaDB 是 MySQL 的一个分支,主要由开源社区在维护。安装过程中先将 Centos7 默认安装的 MariaDB 数据库删除,再重新安装 MySql.
安装步骤:
- 软件下载(mysql 的 rpm 包有很多文件,只需要安装 Server 和 Client)
- 数据库安装
- 用户权限配置
- 安装目录及功能
- 常用创建用户方法
- 客户端查询工具(mysql-workbench-community-6.3.7-winx64.msi)
软件安装包:
- MySQL-client-advanced-5.6.22-1.el7.x86_64.rpm
- MySQL-server-advanced-5.6.22-1.el7.x86_64.rpm
数据库安装:
- 删除 Centos 默认安装的 MariaDB
- 命令:rpm -qa|grep mariadb (查 mariadb 安装包)
- 命令:rpm -e –nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64(mariadb-libs-5.5.44-2.el7.centos.x86_64 是上一条命令查出结果)
- 将 MySql 的安装包文件上传至 linux 的某个目录下并在命令行中切换至该目录,如下图
- 命令: yum install -y perl-Module-Install.noarch (解决 mysql server 安装时异常)
- 命令:rpm -ivh MySQL-server-advanced-5.6.22-1.el7.x86_64.rpm (安装 mysqlServer)
- 命令:rpm -ivh MySQL-client-advanced-5.6.22-1.el7.x86_64.rpm(安装 mysqlclient)
- 命令:service mysql start (启动 mysql 提示 sucess 则,ok)
- 若服务启动时 Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/hdp1.pid),按下面步骤操作。
- 命令:rm -rf /usr/my.cnf(删除后重启 reboot, 重新执行上面启动服务命令,提示 sucess, 则 ok)
- 命令:service mysql stop (因为默认 root 没有密码,你进不去)
用户权限配置:
- mysql_secure_installation:是用来提高 mysql 库的安全设置的命令,包括为 root 用户设置密码,删除匿名账号,取消 root 用户远程登录权限,删除 test 库和对 test 库的访问权限,刷新授权表使修改生效等操作
- 查相关资料,可执行:/usr/lib/mysql_secure_installation 来设置 root 密码,在实际安装的过程中,mysql 给 root 生成了一个随机的加密密码,在执行 mysql_secure_installation 时,第一步就过不去. (待研究)
- 上一步走不通,使用 mysqld_safe 命令,绕过密码登陆,必须先将 mysql 服务停掉
- 命令:mysqld_safe –user=mysql –skip-grant-tables –skip-networking & mysql -u root mysql (启动 mysql,避开密码登陆)
- 我在这里遇到了问题 Error 2002,如下图,切换到 /var/lib/mysql 目录下,可以看到mysql.sock 和 hdp1.pid 文件,说明 mysql 已经启动
- 命令:mysql –socket=/var/lib/mysql/mysql.sock (如果没有上面的错误,则省掉这步)
进入 mysql 客户端的操作命令行
- 执行 Sql: use mysql; (切换至 mysql 数据库)
- 执行 Sql: UPDATE user SET Password=PASSWORD(‘123456a?’) where USER=’root’; (更新 root 用户密码,PASSWORD 为加密函数)如图:
- 执行: flush privileges; (刷新权限)
- 输入:quit; (退出 mysql 客户端, 返回至 linux 命令行)
- 命令:service mysql restart (重启 mysql 服务)
- 命令:mysql -u root -p (以 root 用户登陆 mysql 客户端,接下来会提示你输入密码,此时屏幕不可见,不要以为死机)
- 进入 mysql 客户端命令行,随便执行一条 sql, 如: show databases;
- 返回:ERROR 1820 (HY000): You must SET PASSWORD before executing this statement (这也就是常用的第一次登陆需要修改密码)
- 执行 Sql: SET PASSWORD = PASSWORD(‘123456a?’);
- 验证 Sql: show databases; (显示结果则 OK)
- 执行: quit;
- 命令:service mysql restart (重启 mysql 服务)
- 命令:mysql -u root -p (进行 mysql 命令行)
- 执行: GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘123456a?’ WITH GRANT OPTION; (允许所有 IP 远程访问 mysql)
- 执行: flush privileges; (刷新权限)
- 执行:quit;
- 命令:service mysql restart (重启 mysql 服务,mysql 安装完成)
安装目录及功能:
- mysql 安装完成后,文件分布在以下几个目录:
- /var/lib/mysql 数据库文件, 目录下的 ibdata1 用于存放数据,索引等,是 MYSQL 的最主要的数据。ib_filelog 是数据库日志文件,采用二进制存储。
- /usr/share/mysql 命令及配置文件目录
- /usr/bin mysqladmin、mysqldump 等命令
常见用户创建方法:
- mysql 账号由用户名 + 主机组成,可以出现重复的用户名,跟其他的数据库不一样。
- 主机名可以用机器名或 IP 地址,也可以用通配符 %
- mysql 创建用户的方法分成三种:CREATE USER 的方法、GRANT 的方法、INSERT USER 表的方法
- Create User 脚本:CREATE USER ‘username@host’ [IDENTIFIED BY ‘PASSWORD’] 其中密码是可选项;
- 示例:CREATE USER ‘john’@’192.168.189.71’ IDENTIFIED BY “123”;
- Grant 脚本:GRANT <ALL|priv1,priv2,…..privn> ON [object] To [User] [IDENTIFIED BY ‘password’] [WITH GRANT OPTION];
- <privn>: 代表权限 mysqlr 定义的 14 个权限
- [object] : 数据库名. 表名
- [User]: userName@host
- [WITH GRANT OPTION]:赋 User 拥有给其它用户授权的权限
- 示例:grant select,insert,update,delete,create,drop on test.hr to john@192.168.10.1 identified by ‘123’;
- 注意:当 user 用户存在时,grant 会对用户进行授权,但当数据库中不存在该用户时,会创建相应的用户并授权。
- Insert User: 直接向 mysql.user 表插入记录
客户端查询分析工具:
- 类似于 MS sqlserver 的查询分析器或 Oracle 的 PLSql, 在 windows 机器上执行安装
- 新建至 Mysql 的连接,输入用户(root), 密码(上一次设置的密码),点击“OK”
- 进入后,即可进行数据库、表的创建或数据的查询操作,如图:
ambari 是 apache 基金会的开源项目,它的优势在于巧妙溶合已有的开源软件,提供集群自动化安装、中心化管理、集群监控、报警等功能。据 Hortonwork 官方资料介绍,不同的 HDP 版本,对 ambari 的版本也有不同的要求(如下图,来源于 hortonwork 官网),在安装 HDP2.4 的过程中,选择的 ambari 版本为 2.2.2.0
安装过程:
- 软件包下载 (ambari-2.2.2.0-CentOS7.tar.gz)
- 本地源制作 (ambari.repo)
- ambari 安装
- 数据库配置
ambari 安装:
- 检查:httpd 服务(ambari 作为安装 hdp 本地源服务器,必须安装 httpd 服务,以便其它节点通过 http 下载安装包)
- 命令:yum install -y mysql-connector-java(安装 mysql 驱动)
- 检查:cd /usr/share/java (安装完成后,切换至 java 目录,如下图,则 ok)
- 命令:mkdir -p /var/www/zhu (在 /var/www 目录下创建临时目录 zhu)
- 命令:cd /var/www/zhu (切换至该目录,然后将下载的安装包文件上传到新建的目录)
- 命令:tar -zxvf ambari-2.2.2.0-centos7.tar.gz (包装包解压,解压完成后如下图)
-
将解压后生成的 ambari-2.2.2.0 目录 copy 到 /var/www/html 目录下, 命名 ambari (可借助 winSCP 或 cp 命令执行)
- 手工创建一个 ambari.rpo 文件,文件内容如下:
[Updates-ambari-2.2.2.0] name=ambari-2.2.2.0-Updates baseurl=http://192.168.0.100/ambari/centos7/2.2.2.0-460 gpgcheck=1 gpgkey=http://public-repo-1.hortonworks.com/ambari/centos7/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins enabled=1 priority=1
- http://192.168.0.100(指 ambari 主机的 IP 地址),后面的地址必须与 ar/www/html 目录下 ambari 的下级目录对应起来,如图
- 将手工创建的文件 ambari.rpo 文件上传至 /etc/yum.repos.d 目录下
- 检测:在任一台与 192.168.0.100 能 ping 通的机器上,在浏览器中访问 http://192.168.0.100/ambari/centos7/2.2.2.0-460,成功则ok
- 命令:yum install ambari-server (安装 ambari)
- 在安装过程中,会有交互的过程,选择 yes 即可,完成后如图:
-
Ambari 相关服务启动配置命令如下:
ambari-server status ambari-server start ambari-server stop ambari-server restart
- 命令:ambari-server setup(直接开始 start 命令会出错,执行安装命令)
- 在如图界面,选择系统已经安装的 jdk 版本
- 数据库配置,选择 MySQL, 如图:
- 等待安装,完成后如下图,则 ok
- ambari-server 安装完成
数据库配置:
- 如上图,手工去创建 ambari 数据库及用户
- 命令:mysql -u root -p
- 执行:create database ambari; (创建 ambari 数据库)
- 执行:GRANT ALL PRIVILEGES ON *.* TO ‘ambari’@’localhost’ IDENTIFIED BY ‘bigdata’; (创建 ambari 用户)
- 执行:GRANT ALL PRIVILEGES ON *.* TO ‘ambari’@’%’ IDENTIFIED BY ‘bigdata’;
- 执行:FLUSH PRIVILEGES; (刷新权限)
- 执行:quit;
- 命令:service mysql restart;
- 验证:mysql -u ambari -p (成功登陆则 OK)
- 执行:use ambari;
- 执行:source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql; (ambari 数据库建表)
- 验证:show tables; (显示 ambari 数据库所有表则 OK)
- 执行:quit;
- 命令:ambari-server start (如下图则 ok)
- 测试:netstat -nltp|grep java (ambari-server 默认监听的是 8080 端口)
- 说明:cat /etc/ambari-server/conf/ambari.properties (这个文件里面,可看到我们配置的数据库相关的信息)
- 测试:任一能 ping 能 ambari 主机的机器上,打开 http://192.168.2.89:8080 , 以 admin 登陆,密码:admin, 出现如下图,则 OK
HDP(Hortonworks Data Platform)是 hortworks 推出的 100% 开源的 Hadoop 发行版本, 以 YARN 作为其架构中心,包含 pig、hive、phoniex、hbase、storm、spark 等大量组件,在最新的 2.4 版本,监控 UI 实现与 grafana 集成, 包含组件版本对应图如下:(图片来自 hortonwork 官网)
安装过程:
- 集群规划
- 环境准备
- 软件包下载:(HDP2.4 的安装包过大,推荐离线安装)
- HDP 安装部署
集群规划:
- 192.168.2.89 hdp1 (ambari)
- 192.168.2.2 hdp2 (worknode1)
- 192.168.2.99 hdp3 (worknode2)
- 192.168.2.21 hdp4 (masterNode)
- 192.168.2.169 R (secondary master、zookeeper)
环境准备:
- 所有节点操作系统安装完成后,hdp1 用来部署本地安装下载源,要求所有节点均能通过 ssh 无密访问
- 在 hdp1 机器上,执行命令:vim /etc/hosts 配置文件内容如下图. (要求所有节点机器的 hosts 文件内容均是如此)
- hdp1. 命令:cd ~/.ssh (切换目录)
- hdp1. 命令:ssh-copy-id hdp1 (配置 hdp1 能无密访问所有节点)
- hdp1. 命令:ssh-copy-id hdp2
- hdp1. 命令:ssh-copy-id hdp3
- hdp1. 命令:ssh-copy-id hdp4
- hdp1. 命令:ssh-copy-id R
- 注意:其它节点的机器如上配置,必须保证能无密访问 hdp1
- 将 hdp 安装包上传至 hdp1 服务器,并切换至该目录(如:/usr/zhu)
- 命令:tar -zxvf HDP-2.4.2.0-CentOS7-rpm.tar.gz (安装包文件解压)
- 命令:tar -zxvf HDP-UTILS-1.1.0.20-centos7.tar.gz
- 将解压后的生成的 HDP 和 HDP-UTILS-1.1.0.20 目录 copy 到 /var/www/html 目录下
- 手工创建名为 hdp.rpo 的文件,内容如下(http://192.168.2.89 为安装 ambari 的机器 IP)
[HDP-2.4.2.0] name=HDPVersion-HDP-2.4.2.0 baseurl=http://192.168.2.89/HDP/centos7/2.x/updates/2.4.2.0 gpgcheck=1 gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.4.2.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins enabled=1 priority=1
- 注意:baseurl 的地址必须与物理的文件能对应起来(即:http://192.168.2.89/HDP/centos7/2.x/updates/2.4.2.0 能正确访问)
- 同样方式,手工创建名为 hdp-util.repo 的文件,内容如下:
[HDP-UTILS-1.1.0.20] name=HDPUtilsVersion-HDP-UTILS-1.1.0.20 baseurl=http://192.168.2.89/HDP-UTILS-1.1.0.20/repos/centos7 gpgcheck=1 gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.4.2.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins enabled=1 priority=1
- 将 hdp.rpo 和 hdp-util.repo 文件上传至 /etc/yum.repos.d 目录,如下图:
- 将上传至 hdp1 服务器上的 rpo 文件分发至集群内其它机器节点的相同目录,命令如下:
- hdp1 命令:cd /etc/yum.repos.d
- hdp1 命令:scp hdp.repo hdp-util.repo hdp2:/etc/yum.repos.d(将文件 copy 至 hdp2)
- hdp1 命令:scp hdp.repo hdp-util.repo hdp3:/etc/yum.repos.d
- hdp1 命令:scp hdp.repo hdp-util.repo hdp4:/etc/yum.repos.d
- hdp1 命令: scp hdp.repo hdp-util.repo R:/etc/yum.repos.d
HDP 安装:
- 在任意机器浏览器上打开 ambari web 界面(http://192.168.2.89:8080 user:admin psd:admin)
- 在主页面”Create a Cluster“版板,选择”Launch Install Wizard“,如图:
- 按向导输入集群名
- 选择 hdp2.4, 我们采用离线安装,在高级选项中将 RedHat7 以外的其它选项全部去掉,同时配置本地源地址(对应 repo 文件中 baseUrl 地址),如下:
- 将 ambari 主机上生成的私钥文件下载到本地(使用 sz 命令或 winSCP 工具)
- 在下一步中输入主机列表(hdp 要求带 FQDN 的机器名,可不用理会),输入机器列表,导入私钥,如下图
- 选择 ”Register and Confirm”, 忽略弹出的警告提示,继续如下图:
- 选择 “Next”, 进入需要安装的服务选择模板(我主要是为了建 HBase 集群), 选择的服务如下:
- 选择”Next“,进行服务与主机分配,如下图:
- “Next” -> 进入 Slaves and client 分配,如下图:
- ”Next” -> 进入 Customize Services 定义,给 hive metastore 分配数据库, 输入数据库名、用户和密码(bigdata)
- 点击 ” Test Connection”, 肯定是连不上的,手工创建数据库和用户
- 执行:create database hive;(创建 hive 数据库)
- 执行:GRANT ALL PRIVILEGES ON hive.* TO ‘hive’@’localhost’ IDENTIFIED BY ‘bigdata’; (创建 hive 用户)
- 执行:GRANT ALL PRIVILEGES ON hive.* TO ‘hive’@’%’ IDENTIFIED BY ‘bigdata’;
- 执行:FLUSH PRIVILEGES;(刷新权限)
- 执行:quit;
- 命令:service mysql restart;
- 验证:mysql -u hive -p (成功登陆则 OK)
- 点击 ” Test Connection”, 如上图则 OK
- ambari 监控 UI 工具 admin 赋 密码(bigdata), 如图:
- “Next”, 在服务安装清单界面,确认无误后,选择”Deploy”
- 等待系统安装,安装结束后如图:
- 出现如下界面,则表示安装 ok
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-09/134883.htm