Hadoop完全分布式搭建

Hadoop完全分布式搭建教程

分析:
1.配好IP
2.修改主机名
3.配置IP映射
4.关闭防火墙
5.配置SSH免密
6.安装Java
7.集群搭建
软件提取链接:https://pan.baidu.com/s/1oxBcv6xRavVtxmBPzEWHuQ 提取码:1000

1.配置IP

在这里插入图片描述

master主节点上配置IP
[root@localhost ~] # vim /etc/sysconfig/network-scripts/ifcfg-ens33
#修改
ONBOOT=yes
BOOTPROTO=static
#添加,网关以实际网关为主
IPADDR=192.168.15.100
NETMASK=255.255.255.0
GATEWAY=192.168.15.2
DNS1=114.114.114.114
DNS2=192.168.15.2
slave1从节点配置IP
[root@localhost ~] # vim /etc/sysconfig/network-scripts/ifcfg-ens33
#修改
ONBOOT=yes
BOOTPROTO=static
#添加,网关以实际网关为主
IPADDR=192.168.15.102
NETMASK=255.255.255.0
GATEWAY=192.168.15.2
DNS1=114.114.114.114
DNS2=192.168.15.2
slave2从节点配置IP
[root@localhost ~] # vim /etc/sysconfig/network-scripts/ifcfg-ens33
#修改
ONBOOT=yes
BOOTPROTO=static
#添加,网关以实际网关为主
IPADDR=192.168.15.103
NETMASK=255.255.255.0
GATEWAY=192.168.15.2
DNS1=114.114.114.114
DNS2=192.168.15.2

2.修改主机名

master主节点修改主机名
[root@localhost ~] # vim /etc/sysconfig/network
#删除原有内容,添加如下字段
HOSTNAME=master
[root@master ~] #hostname master
[root@master ~] #exit
slave1从节点修改主机名
[root@localhost ~] # vim /etc/sysconfig/network
#删除原有内容,添加如下字段
HOSTNAME=slave1
[root@master ~] #hostname slave1
[root@master ~] #exit
slave2从节点修改主机名
[root@localhost ~] # vim /etc/sysconfig/network
#删除原有内容,添加如下字段
HOSTNAME=slave2
[root@master ~] #hostname slave2
[root@master ~] #exit

3.配置IP映射

[root@master ~] #vim /etc/hosts
#添加
192.168.15.100 master
192.168.15.102 slave1
192.168.15.103 slave2
[root@slave1 ~] #vim /etc/hosts
#添加
192.168.15.100 master
192.168.15.102 slave1
192.168.15.103 slave2
[root@slave2 ~] #vim /etc/hosts
#添加
192.168.15.100 master
192.168.15.102 slave1
192.168.15.103 slave2

4.关闭防火墙

[root@master ~] #systemctl stop firewalld.service
[root@master ~] #systemctl disable firewalld.service
[root@slave1 ~] #systemctl stop firewalld.service
[root@slave1 ~] #systemctl disable firewalld.service
[root@slave2 ~] #systemctl stop firewalld.service
[root@slave2 ~] #systemctl disable firewalld.service

5.SSH免密

[root@master ~]#cd .ssh
如果显示没有就执行 mkdir .ssh再执行cd .ssh
[root@master .ssh] #ssh-keygen -t rsa
三下回车
[root@master .ssh] #ssh-copy-id master
输入yes,然后输入密码就完成了免密登入
[root@master .ssh] #ssh-copy-id slave1
输入yes,然后输入密码就完成了免密登入
[root@master .ssh] #ssh-copy-id slave2
输入yes,然后输入密码就完成了免密登入
[root@slave1~]#cd .ssh
如果显示没有就执行 mkdir .ssh再执行cd .ssh
[root@slave1 .ssh] #ssh-keygen -t rsa
三下回车
[root@slave1 .ssh] #ssh-copy-id master
输入yes,然后输入密码就完成了免密登入
[root@slave1 .ssh] #ssh-copy-id slave1
输入yes,然后输入密码就完成了免密登入
[root@slave1 .ssh] #ssh-copy-id slave2
输入yes,然后输入密码就完成了免密登入
[root@slave2~]#cd .ssh
如果显示没有就执行 mkdir .ssh再执行cd .ssh
[root@slave2 .ssh] #ssh-keygen -t rsa
三下回车
[root@slave2 .ssh] #ssh-copy-id master
输入yes,然后输入密码就完成了免密登入
[root@slave2 .ssh] #ssh-copy-id slave1
输入yes,然后输入密码就完成了免密登入
[root@slave2 .ssh] #ssh-copy-id slave2
输入yes,然后输入密码就完成了免密登入

6.Java安装

https://blog.csdn.net/qq_50835159/article/details/117632199?spm=1001.2014.3001.5501

7.集群搭建(需提前装好Java)

Hadoop集群架构图
在这里插入图片描述

(Hadoop软件安装包统一发/opt/software)
[root@master software]#tar -zxvf hadoop-2.7.2.tar.gz -C /usr/local/
[root@master software]#cd /usr/local/hadoop-2.7.2
[root@master hadoop-2.7.2]#cd etc/hadoop
配置全局变量
[root@master hadoop]#vim /etc/profile
#将hadoop载入全局变量
export HADOOP_HOME=/usr/local/hadoop-2.7.2
export PATH=$HADOOP_HOME/bin:$PATH
export PATH=$HADOOP_HOME/sbin:$PATH
[root@master hadoop]#source /etc/profile
配置hadoop-env.sh
[root@master hadoop]#vim hadoop-env.sh
# 修改JAVA_HOME,引入JAVA变量 
export JAVA_HOME=/usr/local/jdk1.8.0_144
配置core-site.xml
[root@master hadoop]#vim core-site.xml
<!-- 指定HDFS中NameNode的地址 -->
<property>
		<name>fs.defaultFS</name>
      	<value>hdfs://master:9000</value>
</property>

<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
		<name>hadoop.tmp.dir</name>
		<value>/usr/local/hadoop-2.7.2/data/tmp</value>
</property>
配置hdfs-site.xml
[root@master hadoop]#vim hdfs-site.xml
<!-- 指定副本为3 -->
<property>
		<name>dfs.replication</name>
		<value>3</value>
</property>

<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>slave2:50090</value>
</property>

<!-- 配置namenode元数据存储目录 -->
<property>
    	<name>dfs.namenode.name.dir</name>
   		<value>/usr/local/hadoop-2.7.2/data/tmp/dfs/name</value>
</property>


<!-- 配置datanode元数据存储目录 -->
<property>
		<name>dfs.datanode.data.dir</name>
		<value>/usr/local/hadoop-2.7.2/data/tmp/dfs/data</value>
</property>
配置yarn-env.sh
[root@master hadoop]#vim yarn-env.sh
#修改JAVA_HOME,引入JAVA变量
export JAVA_HOME=/usr/local/jdk1.8.0_144
配置yarn-site.xml
[root@master hadoop]#vim yarn-site.xml
<!-- Reducer获取数据的方式 -->
<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
</property>

<!-- 指定YARN的ResourceManager的地址 -->
<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>slave1</value>
</property>
配置mapred-env.sh
[root@master hadoop]#vim mapred-env.sh
#修改JAVA_HOME,引入JAVA变量
export JAVA_HOME=/usr/local/jdk1.8.0_144
配置mapred-site.xml
[root@master hadoop]#cp mapred-site.xml.template mapred-site.xml
[root@master hadoop]#vim mapred-site.xml
<!-- 指定MR运行在Yarn上 -->
<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
</property>
配置slaves,不能出现多余空行或者空格否则将会出错。
[root@master hadoop]#vim slaves
master
slave1
slave2
分发Hadoop
[root@master hadoop]#cd /usr/local
[root@master local]#scp -r /usr/local/hadoop-2.7.2 root@slave1:/usr/local/
[root@master local]#scp -r /usr/local/hadoop-2.7.2 root@slave2:/usr/local/
配置slave1节点hadoop全局环境变量
[root@slave1 ~]#vim /etc/profile
#将hadoop载入全局变量
export HADOOP_HOME=/usr/local/hadoop-2.7.2
export PATH=$HADOOP_HOME/bin:$PATH
export PATH=$HADOOP_HOME/sbin:$PATH
[root@slave1 ~]#source /etc/profile
配置slave2节点hadoop全局环境变量
[root@slave2 ~]#vim /etc/profile
#将hadoop载入全局变量
export HADOOP_HOME=/usr/local/hadoop-2.7.2
export PATH=$HADOOP_HOME/bin:$PATH
export PATH=$HADOOP_HOME/sbin:$PATH
[root@slave2 ~]#source /etc/profile
Master节点:格式化Hadoop
[root@master local]#cd hadoop-2.7.2
[root@master hadoop-2.7.2]#hadoop namenode -format
启动Hadoop-dfs、Hadoop-yarn
[root@master hadoop-2.7.2]#start-all.sh
启动resourcemanager
[root@slave1 ~]#cd /usr/local/hadoop-2.7.2
[root@slave1 hadoop-2.7.2]#yarn-daemon.sh start resourcemanager
查看集群
[root@master ~]#jps
4166 NameNode
4482 Jps
4263 DataNode
4524 NodeManager

[root@slave1 ~]#jps
4389 ResourceManager
3218 DataNode
3288 Jps
3564 NodeManager

[root@slave2 ~]#jps
3221 DataNode
3283 SecondaryNameNode
3514 NodeManager
3364 Jps
关闭hadoop
[root@master ~]#stop-all.sh
[root@master ~]#jps
3288 Jps

[root@slave1 ~]#jps
3364 Jps

[root@slave2 ~]#jps
3543 Jps
hadoop shell命令(常用)
-help:输出这个命令参数
[root@master hadoop-2.7.2]#hadoop fs -help rm

-mkdir:在HDFS上创建目录 -p多级目录
[root@master hadoop-2.7.2]#hadoop fs -mkdir -p /data/Localhost

-put:从本地文件系统中拷贝文件到HDFS路径去
[root@master hadoop-2.7.2]#hadoop fs -put ./test.txt /data/Localhost

-tail:显示一个文件的末尾
[root@master hadoop-2.7.2]#hadoop fs -put ./test.txt /data/Localhost/test.txt

-rm:删除文件或文件夹
[root@master hadoop-2.7.2]#hadoop fs -rm /data/test.txt

-get:从HDFS拷贝到本地
[root@master hadoop-2.7.2]#hadoop fs -get /data/kongming.txt ./

-cp :从HDFS的一个路径拷贝到HDFS的另一个路径
[root@master hadoop-2.7.2]#hadoop fs -cp /data/kongming.txt /zhuge.txt

-cat:显示文件内容
[root@master hadoop-2.7.2]#hadoop fs -cat  /test.txt

-mv:在HDFS目录中移动文件
[root@master hadoop-2.7.2]#hadoop fs -mv /zhuge.txt /data

-rmdir:删除空目录
[root@master hadoop-2.7.2]#hadoop fs -rmdir /none
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值