一、hadoop集群搭建前准备
- 在linux中安装好jdk,配置好jdk环境变量
- 安装好hadoop单机版
注:如果单机版不会安装,可以点击下面连接去查看
hadoop单机版安装
二、安装hadoop集群
-
复制单机版hadoop,复制三分
- 找到虚拟机管理,选择克隆
- 复制时的选项
- 点击完成即可,复制三台虚拟机,作为hadoop的主节点和从节点。
- 找到虚拟机管理,选择克隆
三、启动三台虚拟机配置hadoop
使用root用户登录
- 输入:
vi /etc/sysconfig/network-scripts/ifcfg-enp33
,将最后一行的ip地址修改(一般与主机器连号) - 输入:
systemctl restart network
,重启网络 - 输入:
vi /etc/hostname
,修改主机名,三台虚拟机都要操作 - 输入:
vi /etc/hosts
,修改主机列表(主机器也要修改)然后重启reboot,为简单演示只配三台机器,如下
192.168.222.121 hadoop101
192.168.222.122 hadoop102
192.168.222.123 hadoop103
四、配置免密登录
- 1.由于之前hadoop搭建配置过免登录,需要先删除文件,输入:
cd /root/.ssh/
,删除私钥文件:rm -rf id_rsa
,然后回到家目录:cd ~
- 生成私钥:
ssh-keygen -t rsa -P ""
,输入命令后直接回车,再按回车。 - 输入:
cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys
将密钥变成公钥 - 远程免登录配置:
ssh-copy-id -i .ssh/id_rsa.pub -p22 root@192.168.56.121
(有n个机器,每台机器就要配n-1次) - 验证免登录:
ssh root@192.168.56.121 或 ssh root@hadoop121
,无需密码验证即当前机器对121机器免登录配置成功(有多少台机器都要验证)
五、修改主机配置文件
- 进入打hadoop的配置文件中
cd /opt/hadoop/etc/hadoop
因为这里之前在安装hadoop单机版的时候就已经将hadoop改名,所以是cd /opt/hadoop。 - 修改hdfs配置文件:
vi hdfs-site.xml
<configuration>
<property>
<--设置数据块应该被备份的份数-->
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<--配置备用节点地址,这里选择的是第二台虚拟机-->
<value>hadoop102:50090</value>
</property>
</configuration>
- 修改slaves文件:
vi slaves
把所有节点都添加上去。
hadoop101
hadoop102
hadoop103
保存并退出
- 将修改文件传输到另外两台虚拟机的hadoop配置文件中
scp 当前文件名 root@传输到的主机名:传输到的地址/文件名
- 分别修改三个主机的mapred-site.xml文件:
vi mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>当前主机名:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>当前主机名:19888</value>
</property>
</configuration>
- 在主机器下格式化hdfs:
hadoop namenode -format
- 在主机器下运行:
start-all.sh
和mr-jobhistory-daemon.sh start historyserver
- 启动完成后输入jps查看是否启动成功,效果如下