概览
关于CDH5的离线安装,网络上充斥着各种安装教程,但漏洞百出,之后的很多问题都和安装过程错误有关。我也深受其害,最后还是使用官方安装教程来进行安装:
为方便起见,全程以root用户进行。
因硬件限制,这里以伪集群模式安装,即只有一台主机,但更多的主机安装过程大致相同
ip host name 192.168.40.130 master 集群间映射关系如下
ip host name 192.168.40.130 master
准备
配置hosts
- 各节点
/etc/hosts
文件内容如下:
127.0.0.1 localhost
# 主节点
192.168.40.130 master
# 其它节点
...
# The following lines are desirable for IPv6
... ...
注意:hosts文件内容必须如上所示,否则会出现各种错误,以下是错误的host文件:
错误1
127.0.0.1 localhost 127.0.1.1 master.localdomain master
错误2
127.0.0.1 localhost localhost.master master 192.168.40.130 master
配置防火墙
ufw enable
ufw allow 3306/tcp
ufw allow ssh/tcp
ufw allow 7180/tcp
reboot
配置ssh
- 安装ssh服务
apt-get install openssh-server
- 修改
/etc/ssh/sshd_config
配置文件中以下选项:
UsePrivilegeSeparation no
PermitRootLogin yes
PasswordAuthentication yes
- 配置免密登录
在每个节点上生成密钥对
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
在每个节点上发送公钥到集群中的所有节点(master, slave1, …)
ssh-copy-id -i ~/.ssh/id_rsa.pub <username>@<hostname>
说明:
<username>
为目标节点的用户名,<hostname>
为目标节点的主机名。
配置JAVA
- 安装JAVA
add-apt-repository ppa:webupd8team/java
apt-get update
apt-get install oracle-java8-installer
- 设置JAVA_HOME
通过update-alternatives --config java
查看当前java信息:
There is 1 choice for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 auto mode
* 1 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 manual mode
Press <enter> to keep the current choice[*], or type selection number:
修改/etc/enviroment
文件,添加JAVA_HOME:
JAVA_HOME="/usr/lib/jvm/java-8-oracle"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
主节点配置MySQL
- 主节点安装mysql
apt-get install mysql-server
- 使其可远程访问
修改/etc/mysql/mysql.conf.d/mysqld.cnf
:
#bind-address = 127.0.0.1
通过mysql -uroot -p
进入mysql命令界面,设置为允许远程访问root账户:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
- 准备mysql数据库:
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database monitor DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
参考: