Hadoop伪分布式搭建教程
分析:
1.配置好IP
2.修改好主机名
3.做好IP映射
4.关闭防火墙
5.安装好Java(请参考Linux-Java安装文档,如果已经安装可以忽略)
6.配置SSH
7.配置伪分布式集群
软件提取链接:https://pan.baidu.com/s/1oxBcv6xRavVtxmBPzEWHuQ 提取码:1000
1.配置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
2.修改主机名
[root@localhost ~] # vim /etc/sysconfig/network
#删除原有内容,添加如下字段
HOSTNAME=hadoop
[root@localhost ~] #hostname hadoop
[root@localhost ~] #exit
3.配置IP映射
[root@hadoop ~] # vim /etc/hosts
#添加一行
192.168.15.100 hadoop
4.关闭防火墙
[root@hadoop ~] #systemctl stop firewalld.service
[root@hadoop ~] #systemctl disable firewalld.service
5.Java安装
https://blog.csdn.net/qq_50835159/article/details/117632199?spm=1001.2014.3001.5501
6.配置SSH免密登入
[root@hadoop ~]#cd .ssh
如果显示没有就执行 mkdir .ssh再执行cd .ssh
[root@hadoop .ssh] #ssh-keygen -t rsa
三下回车
[root@hadoop .ssh] #ssh-copy-id hadoop
输入yes,然后输入密码就完成了免密登入
7.hadoop伪分布式配置
(Hadoop软件安装包统一发/opt/software)
[root@hadoop software]#tar -zxvf hadoop-2.7.2.tar.gz -C /usr/local/
[root@hadoop software]#cd /usr/local/hadoop-2.7.2
[root@hadoop hadoop-2.7.2]#cd etc/hadoop
配置全局变量
[root@hadoop hadoop]#vim /etc/profile
#将hadoop载入全局变量
export HADOOP_HOME=/usr/local/hadoop-2.7.2
export PATH=$HADOOP_HOME/bin$HADOOP_HOME/sbin:$PATH
[root@hadoop hadoop]#source /etc/profile
配置hadoop-env.sh
[root@hadoop hadoop]#vim hadoop-env.sh
#修改JAVA_HOME,引入JAVA变量
export JAVA_HOME=/usr/local/jdk1.8.0_144
配置core-site.xml
[root@hadoop hadoop]#vim core-site.xml
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop: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@hadoop hadoop]#vim hdfs-site.xml
<!-- 指定副本数为1 -->
<property>
<name>dfs.replication</name>
<value>1</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@hadoop hadoop]#vim yarn-env.sh
#修改JAVA_HOME,引入JAVA变量
export JAVA_HOME=/usr/local/jdk1.8.0_144
配置yarn-site.xml
[root@hadoop 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>hadoop</value>
</property>
配置mapred-env.sh
[root@hadoop hadoop]#vim mapred-env.sh
#修改JAVA_HOME,引入JAVA变量
export JAVA_HOME=/usr/local/jdk1.8.0_144
配置mapred-site.xml
[root@hadoop hadoop]#cp mapred-site.xml.template mapred-site.xml
[root@hadoop hadoop]#vim mapred-site.xml
<!-- 指定MR运行在Yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
格式化Hadoop
[root@hadoop hadoop]#cd /usr/local/hadoop-2.7.2
[root@hadoop hadoop-2.7.2]#hadoop namenode -format
启动Hadoop-dfs、Hadoop-yarn
[root@hadoop hadoop-2.7.2]#start-all.sh
启动resourcemanager
[root@hadoop hadoop-2.7.2]#yarn-daemon.sh start resourcemanager
[root@hadoop hadoop-2.7.2]#jps
13586 NameNode
13668 DataNode
13786 Jps
14687 SecondaryNameNode
14267 ResourceManager
13514 NodeManager
关闭集群
[root@hadoop hadoop-2.7.2]# sbin/stop-all.sh
Hadoop各项进程Web访问端口
hadoop shell命令(常用)
-help:输出这个命令参数
[root@hadoop hadoop-2.7.2]#hadoop fs -help rm
-mkdir:在HDFS上创建目录 -p多级目录
[root@hadoop hadoop-2.7.2]#hadoop fs -mkdir -p /data/Localhost
-put:从本地文件系统中拷贝文件到HDFS路径去
[root@hadoop hadoop-2.7.2]#hadoop fs -put ./test.txt /data/Localhost
-tail:显示一个文件的末尾
[root@hadoop hadoop-2.7.2]#hadoop fs -put ./test.txt /data/Localhost/test.txt
-rm:删除文件或文件夹
[root@hadoop hadoop-2.7.2]#hadoop fs -rm /data/test.txt
-get:从HDFS拷贝到本地
[root@hadoop hadoop-2.7.2]#hadoop fs -get /data/kongming.txt ./
-cp :从HDFS的一个路径拷贝到HDFS的另一个路径
[root@hadoop hadoop-2.7.2]#hadoop fs -cp /data/kongming.txt /zhuge.txt
-cat:显示文件内容
[root@hadoop hadoop-2.7.2]#hadoop fs -cat /test.txt
-mv:在HDFS目录中移动文件
[root@hadoop hadoop-2.7.2]#hadoop fs -mv /zhuge.txt /data
-rmdir:删除空目录
[root@hadoop hadoop-2.7.2]#hadoop fs -rmdir /none
如果遇见启动无法成功,web页面打不开,格式化无法完成等常见问题请参考:
1.IP要配好(使用ifconfig命令查看是否配置好)
2.防火墙必须关闭
3.主机名与主机IP映射必须配好
4.java必须安装好
5.格式化失败时请先检查以上点,然后请将hadoop-2.7.2中的data元数据存储目录删除,如果不存在就不需要删除,同时还需要清空hadoop-2.7.2日志存储目录(logs)下的所有文件,然后重新格式化。
6.如果进程起不来分以下情况:
a.NameNode与DataNode、SecondaryNameNode 起不来就检查hdfs-site与core-site配置文件
b.ResourceManager与NodeManager起不来就检查yarn-site配置文件
c.都起不来请从第一步开始检查、同时还要检查各配置文件