Centos单机安装Hadoop

被刻印的时光 ゝ 提交于 2021-02-18 11:46:09

安装包准备

  • Hadoop下载:Hadoop
  • JDK 下载:JDK
  • 注意:
    • 所有安装及使用过程不要使用默认root用户,以下安装过程使用www用户进行
    • 当前Hadoop版本3.3.0不支持JDK>=11以上版本
    • Oracle新版本JDK更改了开源协议,需留意(OpenJDK未测试

安装

JDK安装

  • 解压
[hadoop@localhost ~]$ tar -zxvf jdk-8u275-linux-x64.tar.gz -C /opt/
  • 环境变量配置

修改文件 /etc/profile,文件末尾添加如下内容

# Java环境变量
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.275.b01-0.el7_9.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  • 文件生效
[hadoop@localhost ~]$ source /etc/profile
  • JDK安装验证
[hadoop@localhost ~]$ java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

Hadoop安装

  • 解压
# /opt/www 目录为用户 www 拥有权限的目录
[hadoop@localhost ~]$ tar -zxvf hadoop-3.3.0.tar.gz -C /opt/www/
  • 环境变量配置

修改文件 /etc/profile,文件末尾添加如下内容

# Hadoop环境变量
export HADOOP_HOME=/opt/www/hadoop-3.3.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  • 文件生效
[hadoop@localhost ~]$ source /etc/profile
  • 配置文件更改(/opt/www/hadoop-3.3.0/etc/hadoop
    • core-site.xml
    	<configuration> 
    	  <property> 
    		<name>fs.defaultFS</name>  
    		<value>hdfs://10.183.159.133:9000</value> 
    	  </property>  
    	  <!-- 数据目录 -->  
    	  <property> 
    		<name>hadoop.tmp.dir</name>  
    		<!-- /home/www/dfs/data 为用户 www 拥有权限的目录 -->  
    		<value>/home/www/dfs/data</value> 
    	  </property>  
    	  <!-- 客户端代理配置(我们项目中的客户端只有httpfs)-->  
    	  <property> 
    		<name>hadoop.proxyuser.www.hosts</name>  
    		<value>*</value> 
    	  </property>  
    	  <property> 
    		<name>hadoop.proxyuser.www.users</name>  
    		<value>root,www</value> 
    	  </property> 
    	</configuration>
    
    • hdfs-site.xml
    	<configuration> 
    	  <!-- 副本数量,默认是3,我们单机就填1 -->  
    	  <property> 
    		<name>dfs.replication</name>  
    		<value>1</value> 
    	  </property>  
    	  <!-- 开启权限认证,限制操作权限 -->  
    	  <property> 
    		<name>dfs.permissions.enabled</name>  
    		<value>true</value> 
    	  </property>  
    	  <property> 
    		<name>dfs.namenode.name.dir</name>  
    		  <!--/home/www/dfs/namenode 为用户 www 拥有权限的目录 -->
    		<value>/home/www/dfs/namenode</value> 
    	  </property>  
    	  <property> 
    		<name>dfs.datanode.data.dir</name>  
    		  <!--/home/www/dfs/datanode 为用户 www 拥有权限的目录 -->
    		<value>/home/www/dfs/datanode</value> 
    	  </property>  
    	  <property> 
    		<name>dfs.http.address</name>  
    		 <!-- NameNode web管理端口 -->
    		<value>0.0.0.0:9870</value> 
    	  </property> 
    	</configuration>
    
  • 服务启动
    • 第一次启动需要格式化HDFS
    	[hadoop@localhost ~]$ hdfs namenode -format
    
    • 启动NameNode
    	[hadoop@localhost ~]$ hdfs --daemon start namenode
    
    • 启动DataNode
    	[hadoop@localhost ~]$ hdfs --daemon start datanode
    
    • 启动 http 服务
    	[hadoop@localhost ~]$ hdfs --daemon start httpfs
    
  • 服务启动验证
    • jps命令
    	[hadoop@localhost ~]$ jps
    	36624 DataNode
    	33621 Jps
    	36313 NameNode
    	36841 HttpFSServerWebServer
    
  • 如果启动失败,可以查看%HADOOP_HOME%/logs/目录下的日志进行错误排查
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!