Hadoop集群环境搭建---- 本文大部分来源于《Hadoop大数据挖掘从入门到进阶实战(视频教学版)》 邓杰编著
在云上租了5台学生服务器,系统都是CentOS7.5的,硬件配置如下
主机名 | 角色 | 内存 | CPU |
---|---|---|---|
nna | NameNode Active | 4GB | 2核 |
nns | NameNode Standby | 2GB | 1核 |
dn1 | DataNode | 2GB | 1核 |
dn2 | DataNode | 2GB | 1核 |
dn3 | DataNode | 2GB | 1核 |
# 建名为hadoop的账号
useradd hadoop
# 名为hadoop的账号设置密码
passwd hadoop
根据系统提示设置登录密码,接着给hadoop账号设置免密码登录权限:
```bash
# sudoers文件赋予写权限
chmod +w /etc/sudoers
# 打开sudoers 文件并进行编辑
vi /etc/sudoers
# 在sudoers文件中添加以下内容
hadoop ALL=(root)NOPASSWD:ALL
# 最后保存内容后退出,并取消sudoers文件的写权限
chmod -w /etc/sudoers
所有安装组件下载地址
在hadoop用户下,在nna节点上安装JDK,并同步到其他4个节点上(这里都将主机成为“节点”)
# 查找Java安装依赖库
rpm -qa | grep Java
# 卸载Java依赖库
yum -y remove Java*
# 解压JDK安装包到当前目录
tar -zxvf jdk-8u144-linux-x64.tar.gz
# 移动JDK到 /data/soft 目录下,并改名位jdk
mv jdk-8u144-linux-x64 /data/soft/jdk
# 打开全局环境变量文件
vi /etc/profile
# 添加具体内容如下
export JAVA_HOME=/data/soft/jdk
export PATH=$PATH:$JAVA_HOME/bin
# 编辑完成后按ESC键,输入:wq 保存并退出
注意:等号左右不能有空格。
# 使用source或者英文点(.)命令,立即生效配置文件
souce /etc/profile
# Java语言版本验证命令
java -version
将jdk文件夹复制到其他主机
#Linux 传输命令(例中是将nna节点的文件复制到nns上)
scp -r /data/soft/jdk hadoop@nns:/data/soft
没有配置好hosts文件的,可以用具体的IP地址取代上面命令中的nns, 即hadoop@nns 换成 hadoop@192.168.11.102 。 在这里可能会提示:permission denied. 原因是目标节点的hadoop用户没有对/data目录写的权限,可以用以下命令添加该权限
[hadoop@nns root]sudo chmod 777 /data
下面将介绍hosts配置
五个节点中的hosts配置都相同,用别名取代IP,方便后续的操作和配置,具体配置hosts文件的命令如下:
# 打开hosts文件
vi /etc/hosts
# 在hosts文件中添加以下内容
192.168.11.101 nna
192.168.11.102 nns
192.168.11.103 dn1
192.168.11.104 dn2
192.168.11.105 dn3
# 编辑完成后保存并退出
完成该节点hosts文件的编辑后,可以用scp命令将nna节点上的hosts文件分发到其他节点,具体命令如下:
# 以传输到nns节点为例
scp /etc/hosts hadoop@nns: /etc
Hadoop集群需要保证各个节点互相通信,这里需要用到SSH,具体安装步骤及操作命令如下: #生成该节点的私钥和公钥 ssh-keygen -t rsa 输入上述命令后,只需要按回车键,不需要设置任何信息,命令操作结束后会在~/.ssh/目录下生成对应的私钥和公钥等文件。
防火墙 https://blog.csdn.net/qq_35868412/article/details/86602636 https://blog.csdn.net/alex2917/article/details/50900275