CentOS 7 上hadoop伪分布式搭建全流程完整教程

Posted 灞気水笵er

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 7 上hadoop伪分布式搭建全流程完整教程相关的知识,希望对你有一定的参考价值。

CentOS 7 上进行hadoop伪分布式搭建

一、环境搭建

1.安装所需环境

yum -y install gcc* readline* python-devel cmake net-tools psmisc vim* bash-completion.noarch lrzsz

出现报错:

gcc-go-4.8.5-44.el7.x86_64.rpm FAILED                                           
http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/gcc-go-4.8.5-44.el7.x86_64.rpm: [Errno 12] Timeout on http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/gcc-go-4.8.5-44.el7.x86_64.rpm: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')
正在尝试其它镜像。
gcc-go-4.8.5-44.el7.x86_64.rpm FAILED                                          
http://mirrors.bfsu.edu.cn/centos/7.9.2009/os/x86_64/Packages/gcc-go-4.8.5-44.el7.x86_64.rpm: [Errno -1] 软件包与预期下载的不符。建议:运行 yum --enablerepo=base clean metadata

按照提示执行

yum --enablerepo=base clean metadata


再次执行

yum -y install gcc* readline* python-devel cmake net-tools psmisc vim* bash-completion.noarch lrzsz

成功

2.关闭selinux,打开防火墙对50070端口的访问

参考:https://blog.csdn.net/hanwenshan123/article/details/78717782
对问题2、问题3进行配置
进行完之后
查看50070进程是否存在

ps -aux |grep 50070 

确保存在50070进程

二、主机配置

1.设置主机名

hostnamectl set-hostname hadoop4

2.设置 host 列表

查看当前ip

ifconfig

sudo gedit /etc/hosts

在文件末尾添加:

192.168.137.134 hadoop4


测试是否可以连通

ping hadoop4

三、JAVA安装

1.下载java安装包

网盘链接:https://pan.baidu.com/s/1bXLZ20yr8egVmLEwYBSLMA
提取码:hl99

2.安装java

 cd +filepath
sudo  tar -zxf jdk-8u212-linux-x64.tar.gz -C /usr/local/
 sudo mv /usr/local/jdk1.8.0_212/ /usr/local/java

3.配置 java 环境变量/etc/profile

sudo gedit /etc/profile

在文件末尾添加

export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar


保存,退出

刷新/etc/profile

source /etc/profile

4.校验 java 安装成功

java -version

四、hadoop 安装

1.下载hadoop安装包

网盘链接:https://pan.baidu.com/s/1o826SqMe3PnnoO8fVUwCfw
提取码:hl99

2.解压 hadoop

cd +filepath
sudo tar -zxf hadoop-2.7.7.tar.gz -C /usr/local/
sudo mv /usr/local/hadoop-2.7.7/ /usr/local/hadoop

3.修改环境变量

sudo gedit /etc/profile

文件末尾添加:

export PATH=$JAVA_HOME/bin:$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin


刷新

source /etc/profile

4.修改 hadoop 配置文件

4.1配置core-site.xml

sudo gedit /usr/local/hadoop/etc/hadoop/core-site.xml

添加

<configuration>
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://hadoop4:9000</value>
	</property>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/home/huangqifa/data/hadoop/tmp</value>
	</property>
</configuration>

如图:

4.2配置hdfs-site.xml

sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml

添加

<configuration>
	<property>
		<name>dfs.replication</name>
		<value>1</value>
	</property>
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>/home/huangqifa/data/hadoop/namenode</value>
	</property>
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>/home/huangqifa/data/hadoop/datanode</value>
	</property>
</configuration>

如图

core-site.xml、hdfs-site.xml中所涉及的文件夹不用创建,执行后面的命令时会自动创建

4.3配置hadoop-env.sh

sudo gedit hadoop-env.sh

文档末尾添加

export JAVA_HOME=/usr/local/java

五、启动

1.格式化 namenode

hadoop namenode -format  

2.启动集群

sh /usr/local/hadoop/sbin/start-all.sh   

3.启动 namenode 和 datanode

hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode

出现错误的话,可以去找对应的log文件

4.查看服务

jps

5.web访问

浏览器访问
192.168.137.134:50070

hadoop4:50070

192.168.137.134:8088

每次重启需要删除/home/huangqifa/data(core-site.xml、hdfs-site.xml中的存储路径)文件夹,然后将以上1-4再重新做一遍才可以访问

注:以上配置可能会导致此问题,不过依然可以正常联网,毫无影响。解决:systemctl start NetworkManager.service ,但之后ip就变了,原因未知,好在每次重启又自动复原,原因未知。

以上是关于CentOS 7 上hadoop伪分布式搭建全流程完整教程的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 7 伪分布式搭建 hadoop+zookeeper+hbase+opentsdb

Hadoop - Hadoop伪分布式搭建

hadoop2.7.3伪分布式环境搭建详细安装过程

Hadoop伪分布式搭建

Hadoop伪分布式集群搭建总结

hadoop全分布虚拟机网络配置