前言
本次部署使用3台服务器,分布如下:
服务器地址 | hostname | NameNode | DataNode |
---|---|---|---|
10.57.22.116 | tdcdh116 | no | yes |
10.57.22.117 | tdcdh117 | no | yes |
10.57.22.119 | tdcdh119 | yes | yes |
下载地址: https://archive.apache.org/dist/hadoop/common/hadoop-2.7.7/
一、同步服务器时间
1 | 因为安装centos镜像时的选项不同,可能会导致我们各个节点的系统时间不一致,这会导致接收到的信息因为时间相差过大而被认为是过时信息。为了同步各个节点之间的时间,我们借用ntp工具 |
二、修改hostname
1) 修改主机名
1 | sudo hostname tdcdh119 |
2) 修改hosts
1 | sudo vi /etc/hosts |
3) 关闭防火墙
1 | sudo systemctl stop firewalld |
三、配置免密登录
a. 查看本地是否有秘钥:执行命令ls ~/.ssh
查看是否有文件id_rsa
和id_rsa.pub
b. 生成秘钥:如果没有看到a
步骤中的两个文件则执行下面命令生成公钥和私钥ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
c. 免密设置:第a,b步是在所有节点执行,当前步骤只在主节点(本文档为10.57.22.119节点)
执行如下命令:
1 | ssh-copy-id -i ~/.ssh/id_rsa.pub admin@tdcdh116 |
d. 验证免密是否配置成功: 在10.57.22.116机器上执行命令ssh admin@tdcdh119
, 如果不需要密码就能登录证明成功;
四、安装Hadoop
A). 创建数据目录和临时目录:
1 | cd hadoop-2.7.7 |
B). 配置JAVA_HOME
vi /hadoop-2.7.7/etc/hadoop/hadoop-env.sh
1 | export JAVA_HOME=/data01/admin/local/jdk8u191 |
C). 修改配置文件
1) hdfs-site.xml
10.57.22.116配置如下:
1 | <property> |
10.57.22.117配置如下:
1 | <property> |
10.57.22.119配置如下:
1 | <property> |
2)core-site.xml
10.57.22.116、10.57.22.117、10.57.22.119配置均如下:
1 | <!-- 指向namenode节点 --> |
3) 修改slaves(即datanode节点)
1 | tdcdh116 |
D)第一次启动前格式化namenode
1 | cd /hadoop-2.7.7 |
E)只需要在10.57.22.119节点启动就启动了整个集群(即就把其他2台全部启动了):
1 | cd /hadoop-2.7.7 |
五、环境变量配置
1) 修改sudo vi ~/.bashrc
1 | export HADOOP_HOME=/data01/bigdata/hadoop-2.7.7 |
2)生效:source ~/.bashrc