准备工作
虚拟机:Paralles Desktop 14 for Mac Business Edition
Linux系统:CentOS-7-x86_64-Minimal-1908.iso官方镜像
JDK:jdk-8u241-linux-x64.tar.gz
Hadoop:hadoop-2.10.0.tar.gz
Zookeeper:apache-zookeeper-3.6.0-bin.tar.gz
第一步、准备虚拟机环境
1、虚拟机系统建议一个一个安装,我的电脑是8核、64G内存,同时安装3个Centos系统风扇就转很快了,效率也没有提高多少,安装一个虚拟系统也只需要2分钟。
2、虚拟机的内存和硬盘默认即可,后续可以随时动态调整。
3、网络选择默认的Shared Network,开启文件夹共享(但仍需要配合Paralles Tools才能实现真正的文件夹共享)
4、注意在安装系统界面,选择配置网络----打开网络。避免安装完系统后再手动配置网络。
5、我创建的用户账户为 hadoop:hadoop,所有的操作,除非必要,会使用root账户,其他操作都尽可能使用hadoop账户。
6、进入系统后,首先安装Paralles Tools,可以实现宿主机和虚拟机之间的文件共享。安装Paralles Tools实际上是为Centos系统挂载了一个cdrom。
cd /media
mkdir cdrom
mount -o exec /dev/cdrom /media/cdrom
cd /media/cdrom
./install
然后就可以在/media/psf
下看到宿主机的Home
目录(这里的Home目录是我之前配置的)
6、关闭防火墙
6.1、修改/etc/selinux/config
,SELINUX=enforcing
6.2、systemctl disable firewalld.service #禁用
7、安装常用的软件,如vim之类的
8、修改配色,由于Centos中文件夹是蓝色,在黑色背景下很难看清楚,可以修改/etc/DIR_COLORS
文件,找到DIR 01;35
,将35改为32,这里32代表绿色,默认35代表蓝色。
第二步、配置ssh免密登陆
当5台虚拟机都初步安装完成后,开始配置ssh免密登陆,然后就可以在宿主机使用iterm2终端来操作了,会极大提升我们的效率。
1、每台机器分别生成ssh密钥
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
ssh localhost
2、在每台机器分别将自己的公钥cat到其他机器的authorized_keys中
首先将宿主机的公钥添加到各个虚拟机中,然后各个虚拟机再添加其他机器的公钥,这样就能实现宿主机与虚拟机、虚拟机之间的免密登陆。
cat ~/.ssh/id_rsa.pub | ssh hadoop@hdp-master1 'cat >> .ssh/authorized_keys && echo "Key copied"'
cat ~/.ssh/id_rsa.pub | ssh hadoop@hdp-master2 'cat >> .ssh/authorized_keys && echo "Key copied"'
cat ~/.ssh/id_rsa.pub | ssh hadoop@hdp-slave1 'cat >> .ssh/authorized_keys && echo "Key copied"'
cat ~/.ssh/id_rsa.pub | ssh hadoop@hdp-slave2 'cat >> .ssh/authorized_keys && echo "Key copied"'
cat ~/.ssh/id_rsa.pub | ssh hadoop@hdp-slave3 'cat >> .ssh/authorized_keys && echo "Key copied"'
第三步、安装jdk、hadoop、zookeeper
这里就直接放一段脚本。
#!/bin/bash
cp /media/psf/Home/Downloads/hadoop-2.10.0.tar.gz /usr/local/src
cp /media/psf/Home/Downloads/jdk-8u241-linux-x64.tar.gz /usr/local/src
cp /media/psf/Home/Downloads/apache-zookeeper-3.6.0-bin.tar.gz /usr/local/src
cd /usr/local/src
tar zxf jdk-8u241-linux-x64.tar.gz
tar zxf hadoop-2.10.0.tar.gz
tar zxf apache-zookeeper-3.6.0-bin.tar.gz
mv apache-zookeeper-3.6.0-bin zookeeper-3.6.0
echo -e "\n\n\n\n" >> /etc/profile
cat >> /etc/profile << EOF
export JAVA_HOME=/usr/local/src/jdk1.8.0_241
export HADOOP_HOME=/usr/local/src/hadoop-2.10.0
EOF
echo 'export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin' >> /etc/profile
echo 'export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib' >> /etc/profile
source /etc/profile
有可能需要执行完脚本后再执行一次source /etc/profile
。
1、修改hadoop配置(/usr/local/src/hadoop-2.10.0/etc/hadoop)
core-site.xml
<