背景:由于涉及到 Flink 的学习,想在本机装个测试环境。这里记录下用 VMWare 搭建 hadoop 集群的坑。
安装 VMware
如果是重装的情况要注意: 尽量 把 VMware 清理干净再安装,否则就会出现无法正常使用 VMware 的情况。
安装操作系统
这里是直接用 iso 文件安装。可参考:https://blog.csdn.net/u010780613/article/details/65439856
安装 JDK
- 通过 http-server 将 jdk 安装包上传到 /root/apps/ 文件夹下面, 解压安装包:
wget http://192.168.XXX.X:8080/jdk.tar.gz
tar -zxvf /root/apps/jdk-8u181-linux-x64.tar.gz
- 配置环境变量,vim /etc/profile,在文件行尾加入配置后保存退出:
export JAVA_HOME=/root/apps/jdk1.8.0_181
export PATH=$PATH:$JAVA_HOME/bin
- 重新加载 profile 使配置生效
source /etc/profile
- 环境变量配置完成,测试环境变量是否生效
echo $JAVA_HOME
java -version 输出 Java 信息就是配置好啦
安装 Hadoop
- 通过 http-server 将 jdk 安装包上传到 /root/apps/ 文件夹下面, 解压安装包:
wget http://192.168.XXX.X:8080/hadoop.tar.gz
tar -zxvf /root/apps/hadoop.tar.gz
- hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、slaves、hadoop 的环境变量配置可参考:https://blog.csdn.net/weixin_29218537/article/details/83154843
Linux 配置
- 配置主节点
$vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node1
$source /etc/sysconfig/network
- 修改 /etc/hosts
192.168.70.130 node1
192.168.70.131 node2
192.168.70.132 node3
- 给虚拟机配置密钥
以下命令会生成自己的公钥和私钥, 生成的公私钥将自动存放在 /root/.ssh 目录下。
$ ssh-keygen
把生成的公钥 copy 到远程机器上, 此时在远程主机的 /root/.ssh/authorized_keys 文件中保存了公钥, 在 known_hosts 中保存了已知主机信息,当再次访问的时候就不需要输入密码了:
ssh-copy-id root@192.168.70.130
通过此命令远程连接,检验是否可以不需密码连接:
$ ssh 192.168.70.130
- VMWare 虚拟机 =》管理 =》克隆出另外的两个机器
- 在主节点机器上 /root/apps/hadoop-2.7.3/sbin 目录下,执行以下命令来格式化 namenode:
./hadoop namenode -format
- 启动 Hadoop,在 /root/apps/hadoop-2.7.3/sbin 目录下启动服务,之后打开网页输入 192.168.70.130:50070 可以看到 hadoop 集群文件管理界面:
start-all.sh
- 关闭 hadoop,在 /root/apps/hadoop-2.7.3/sbin 目录下执行以下命令关闭服务:
$stop-all.sh
以上是搭建 Hadoop 集群完成做的总结。