搭建测试环境
本文是公司搭建测试环境大数据平台时总结的,按安装相应版本的官方文档的步骤翻译过来的。其中遇到了一些问题,相应的解决方案也都一一列举了。按照这个方式一定可以搭建成功。
- 基本信息:
系统:Ubuntu-14.04.1
JDK版本:jdk-8u111
SCALA版本:
MySQL数据库:
- 各个服务器的角色:
172.28.44.120:nn0
172.28.44.121:dn0
172.28.44.122:dn1
一 配置网络环境(三台机器分别配置):
1 设置静态ip
/etc/network/interfaces配置静态ip:
auto eth0 #设置自动启动eth0接口
iface eth0 inet static #配置静态IP
address 172.28.44.120 #IP地址
netmask 255.255.255.0 #子网掩码
gateway 172.28.44.254 #默认网关
2 修改DNS
/etc/resolvconf/resolv.conf.d/base配置nameserver
nameserver 172.25.9.10
nameserver 172.26.9.10
3 重启网络,使配置生效
sudo /etc/init.d/networking restart
4 用脚本linux_logon.sh进行联网认证
sh linux_logon.sh
需要的username和password是OA系统的用户名和密码。
5 可以ping www.baidu.com验证是否可以访问外网。
二 配置基础环境(三台机器分别配置):
1 配置ssh免密码登录
- 生成ssh-key
ssh-******
- 将namenode的id_rsa.pub添加到datenode的authorized_keys
分别在nn0、dn0、dn1的节点上执行
ssh-copy-id -i id_rsa [email protected]
ssh-copy-id -i id_rsa [email protected]
ssh-copy-id -i id_rsa [email protected]
- 测试免密码登录
2 配置ntp事件同步服务
- 安装ntp
apt-get install ntp
- 运行ntp服务
update-rc.d ntp defaults
3 检查DNS和NSCD
- 修改hosts文件,添加一下内容
vim /etc/hosts
172.28.44.120 nn0.bigo.baina
172.28.44.121 dn0.bigo.baina
172.28.44.122 dn1.bigo.baina
- 设置hostname
vim /etc/hostname
` nn0:nn0.bigo.baina
dn0:dn0.bigo.baina
dn1:dn1.bigo.baina
- 重启生效
4 关闭防火墙
依次执行一下命令
sudo ufw disablesudo iptables -Xsudo iptables -t nat -Fsudo iptables -t nat -Xsudo iptables -t mangle -Fsudo iptables -t mangle -Xsudo iptables -P INPUT ACCEPTsudo iptables -P FORWARD ACCEPTsudo iptables -P OUTPUT ACCEPT
5 关闭SELINUX
setenforce 0
6 安装配置数据库MySQL 5.6
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;
- 修改mysql编码方式
vim /etc/mysql/my.cnf
- 在[client]下追加 default-character-set = utf8
- 在[mysqld]下追加 character-set-server=utf8
- 在[mysql]下追加 default-character-set=utf8
- 重启,登录mysql,采用status校验编码是否生效
- 预先创建Ambari需要依赖的数据库,创建相关用户
(1) 在Ambari Server host安装connector
- 安装connector
apt-get install libmysql-java
- 确保mysql-connector-java.jar在/usr/share/java/目录下
- 确保mysql-connector-java.jar有644的权限
(2) 为Ambri创建一个用户,并赋权限
# mysql -u root -p
CREATE USER '<AMBARIUSER>'@'%' IDENTIFIED BY '<AMBARIPASSWORD>';
GRANT ALL PRIVILEGES ON *.* TO '<AMBARIUSER>'@'%';
CREATE USER '<AMBARIUSER>'@'localhost' IDENTIFIED BY '<AMBARIPASSWORD>';
GRANT ALL PRIVILEGES ON *.* TO '<AMBARIUSER>'@'localhost';
CREATE USER '<AMBARIUSER>'@'<AMBARISERVERFQDN>' IDENTIFIED BY '<AMBARIPASSWORD>';
GRANT ALL PRIVILEGES ON *.* TO '<AMBARIUSER>'@'<AMBARISERVERFQDN>';
FLUSH PRIVILEGES;
* AMBARIUSER是Ambari用户名,AMBARIPASSWORD是Ambari用户密码,AMBARISERVERFQDN是Ambari服务主机对应的域名。
(3) 加载Ambri数据库schema
mysql -u <AMBARIUSER> -p
CREATE DATABASE <AMBARIDATABASE>;
USE <AMBARIDATABASE>;
SOURCE /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;
- 预先创建hive需要依赖的数据库,创建相关用户
(1) 在Ambari Server host安装connector(之前有操作过,可以省略)
* 需要执行一下命令初始化JDBC Driver:
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar
(2) 创建hive数据库
CREATE DATABASE hive;
- 预先创建oozie需要依赖的数据库,创建相关用户
(1) 在Ambari Server host安装connector(之前有操作过,可以省略)
(2) 创建oozie数据库
三 配置本地源(只需要在主节点上配置即可,nn0)
1 准备配置本地源
- 创建HTTP服务器
- 安装Apache httpd
- 启动httpd
- 在nn0为web服务器创建目录
- mkdir -p /var/www/html/
三 安装Ambri
1 下载,安装Ambari
- 用root用户登录
- 下载package
- wget -nv http://public-repo-1.hortonworks.com/ambari/ubuntu14/2.x/updates/2.2.2.18-1/ambari.list -O /etc/apt/sources.list.d/ambari.list
- apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B9733A7A07513CAD
- apt-get update
- 确认name list里面的package是否都下载成功,如果下载成功可以看到版本号
- apt-cache showpkg ambari-server
- apt-cache showpkg ambari-agent
- apt-cache showpkg ambari-metrics-assembly
- 安装Ambari,会默认安装PostgreSQL Ambari database
- apt-get install ambari-server
2 配置Ambari Server
- 运行配置程序。
ambari-server setup
- 如果没有关闭SELinux,会收到提示,输入“y”。
- Customize user account for ambari-server daemon,输入root用户。
- 如果没有关闭防火墙,也会收到提示,输入“y”。
- 选择下载Oracle JDK 1.8,接收Oracle的协议。
- 选择“y”,再选择3:MySQL,使用我们提前安装好的Mysql数据库
(1) 输入Hostname (localhost)。
(2) 输入Port (3306)。
(3) 输入Database name (ambari)。
(4) 输入Username (ambari)。
(5) 输入Database Password (******)。
(6) 重复输入Password。
(7) 此时会有一个警告:WARNING: Before starting Ambari Server, you must run the following DDL against the database to create the schema: /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql。
(8) 我们已经执行过load过schema,选择“y”即可安装成功。
3 启动Ambari Server
- 启动命令
ambari-server start
- 检查状态的命令
ambari-server status
- 停止命令
ambari-server stop
* 如果之后需要安装的hive和oozie需要依赖自己安装的MySQL数据库,需要事先创建hive和oozie相关的数据库,创建用户,赋权限。
四 安装、配置、部署HDP集群
1 登录Apache Ambari集群
- 使用Ambari服务器的host登录Ambari界面
- 用户名:admin 密码:admin
2 选择Lunch Install Wizard
3 给集群命名
4 选择HDP版本
5 配置hosts和Private Key
- 如果需要程序自动安装Ambari Angent,选择Provide your SSH Private Key to automatically register hosts;如果需要手动安装Ambari Angent,选择Perform manual registration on hosts and do not use SSH。
- 如果选择了Provide your SSH Private Key to automatically register hosts,需要添加id_rsa私钥,或者复制进text输入框。
- 输入ssh-key对应的用户名。
- 注册和确认。
6 确认hosts
校验hosts
7 选择需要安装的服务
8 指派Master
9 指派Slaves和clients
10 定制服务
11 预览
12 安装、启动、测试
* 由于在预先安装MySQL数据库的时候,安装过mysql-connector-java,和ambari默认的版本有冲突,导致安装Ooize失败。
错误日志:
Preparing to unpack .../mysql-connector-java_5.1.37-2_all.deb ...
Unpacking mysql-connector-java (5.1.37-2) ...
dpkg: error processing archive /var/cache/apt/archives/mysql-connector-java_5.1.37-2_all.deb (--unpack):
trying to overwrite '/usr/share/java/mysql-connector-java.jar', which is also in package libmysql-java 5.1.28-1
Errors were encountered while processing:
/var/cache/apt/archives/mysql-connector-java_5.1.37-2_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
* 解决方案:手动卸载之前安装的mysql-connector-java即可。
apt-get remove libmysql-java
13 完成
14 管理界面
参考链接:https://docs.hortonworks.com/HDPDocuments/Ambari-2.6.1.0/bk_ambari-installation/content/enable_ntp_on_the_cluster_and_on_the_browser_host.html