关于linux环境创建,yum源配置等基础系统搭建过程就不在此赘述了。以下内容完全是基于centos7环境,root用户。
1) 下载jdk套件,此处作者使用的是:jdk1.8.0_111 (选择合适的稳定版本即可)
oracle官方下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
2) 将下载的jdk解压至 /usr/java目录下,执行命令
修改文件权限:
chmod -R 777 /usr/java
修改环境变量:
vi /etc/profile
添加内容:
JAVA_HOME=/usr/java/jdk1.8.0_111
PATH=$JAVA_HOME/bin:$PATH:$HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH JAVA_HOME CLASSPATH CATALINA_HOME
3) 启用新的环境变量,并验证:
source /etc/profile
java –version
javac –version
效果如图所示:
1) 修改本地域名(必须为FQDN的完整域名形式(Ambari要求))
修改命令:
hostnamectl set-hostname
检查修改后的状态:
hostnamectl status
效果如图所示:
2) 修改/etc/hosts
修改命令:
vi /etc/hosts
添加内容:
192.168.61.41 config.hadoop.com
192.168.61.42 master1.hadoop.com
192.168.61.43 master2.hadoop.com
192.168.61.44 slave1.hadoop.com
192.168.61.45 slave2.hadoop.com
192.168.61.46 slave3.hadoop.com
效果如图所示:
1) 生成秘钥对
生成密钥对命令(连续回车即可):
ssh-keygen -t rsa
效果如图所示:
2) 将id_rsa.pub导入到authorized_keys文件中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3) 用scp命令,将母服务器的authorized_keys文件分发到远程的子服务器的对应目录上
scp ~/.ssh/authorized_keys [email protected]:/root/.ssh/authorized_keys
4) 测试无密码登录
ssh [email protected]
效果如图所示:
注:.ssh/目录必须是700权限;.ssh/authorized_keys文件必须是600权限
1) 全部服务器——校验并安装ntpd服务
检查是否已经安装:
rpm –q ntp
若没有,则执行yum安装:
yum install ntp -y
设置系统开机自动启动并启动服务:
systemctl enable ntpd
systemctl start ntpd
2) 母服务器——校准服务端时间
同步时间至正确(xxx.xxx.xxx 为ntp同步服务器):
ntpdate –u xxx.xxx.xxx
3) 母服务器——修改服务端配置文件
修改命令:
/etc/ntp.conf
添加:
restrict xxx.xxx.xxx.0 mask 255.255.255.0 nomodify notrap
server 1.cn.pool.ntp.org
server 1.asia.pool.ntp.org
server 2.asia.pool.ntp.org
restrict 1.cn.pool.ntp.org nomodify notrap noquery
restrict 1.asia.pool.ntp.org nomodify notrap noquery
restrict 2.asia.pool.ntp.org nomodify notrap noquery
server 127.0.0.1 # local clock
fudge 127.0.0.1 stratum 10
效果如图所示:
4) 母服务器——重启ntpd服务并检查ntp同步状态
systemctl restart ntpd
ntpstat
效果如图所示(需要等待5-10分钟):
5) 子服务器——修改客户端配置文件
修改命令:
vi /etc/ntp.conf
添加内容:
server xxx.xxx.xxx.xxx
restrict xxx.xxx.xxx.xxx nomodify notrap noquery
server 127.0.0.1
fudge 127.0.0.1 stratum 10
效果如图所示:
systemctl restart ntpd
ntpstat
1) 获取mysql仓库地址并下载、解包(mysql版本请自行选择)
wget http://repo.mysql.com/mysql57-community-release-el7-9.noarch.rpm
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
2) yum安装mysql
yum install mysql-server -y
可能会缺少依赖库:
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libaio-0.3.109-13.el7.x86_64.rpm
rpm -Uvh libaio-0.3.109-13.el7.x86_64.rpm
3) 启动mysql服务并查看状态
systemctl start mysqld
systemctl status mysqld
4) 设置开机启动
systemctl enable mysqld
systemctl daemon-reload
5) 找到root默认密码并修改(需要修改密码策略)
根据日志找到默认密码:
grep 'temporary password' /var/log/mysqld.log
用找到的默认密码登录mysql,并进入mysql命令行:
mysql -uroot –p
mysql命令行,查看密码策略:
SHOW VARIABLES LIKE 'validate_password%';
mysql命令行,修改密码策略(取消特殊字符的要求):
set global validate_password_special_char_count=0;
mysql命令行,修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass123!';
6) mysql默认只允许root帐户在本地登录,因此修改root允许远程连接
还是在mysql命令行下,执行:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MyNewPass123!' WITH GRANT OPTION;
7) 修改配置文件,配置默认编码为UTF-8
修改命令:
vi /etc/my.cnf
在[mysqld]下添加:
character_set_server=utf8
init_connect='SET NAMES utf8'
8) 重启mysql服务
systemctl restart mysqld
进入mysql命令行,检查修改情况:
show variables like '%character%';
效果如图所示:
9) 使用桌面客户端或是CLI连接,并建立ambari用户
客户端或mysql命令行,执行命令:
CREATE USER 'ambari'@'%' IDENTIFIED BY 'Ambarixxx41';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
CREATE USER 'ambari'@'localhost' IDENTIFIED BY 'Ambarixxx41';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'localhost';
FLUSH PRIVILEGES;