大数据Hadoop环境安装

前言

        工作场景的需要,最近开始学习起了大数据相关的东西。对于我这个初学者,大数据入门就是首先得学会Hadoop环境的安装,按照步骤如遇相关问题,请指正。

        Hadoop环境的安装,我是用自己电脑借助VMware workstation构建了三个虚拟机节点,进行安装的。

准备阶段

准备三个虚拟机节点,我分配的资源是2核2G内存50G硬盘资源

每个虚拟机节点,保证

1.关闭三台虚拟机防火墙

三台虚拟机必须保证内网互通(关闭每台虚拟机防火墙)

[root@liuzz-template ~]# systemctl stop firewalld
[root@liuzz-template ~]# systemctl disable firewalld.service

2.分别设置设置好各自静态ip,以及对应代表的hostname

每台虚拟机设置好静态ip,不要设置动态ip,否则下次重启之后ip变了互相就无法通讯

# 服务改名字
[root@hadoop1]#vim /etc/hostname
your server name

#修改静态ip配置
[root@liuzz-hadoop1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
BOOTPROTO="static"  #必要
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="cf82b270-3567-4516-97d1-a45d73fc3fec" #注意,此处要唯一
DEVICE="ens33"
ONBOOT="yes"

# 自定义ip,gateway,dns1
IPADDR=192.168.27.129
GATEWAY=192.168.27.2
DNS1=192.168.27.2

我对应的每个虚拟机节点hosts配置如下

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.27.129 hadoop1
192.168.27.139 hadoop2
192.168.27.149 hadoop3

3.其他软件环境必须具备(如java环境)

4.设置三台虚拟机免密传输配置

配置安装及启动

1.hadoop部署规划

大数据Hadoop环境安装_第1张图片

 

2.下载并安装配置hadoop配置

先在hadoop1上进行以下操作:

下载hadoop包,解压到指定目录

我的是hadoop-3.2.4版本,安装目录是/usr/local/software/apache-hive-3.1.2/

配置环境变量

[root@liuzz-hadoop1 apache-hive-3.1.2]# vim /etc/profile
# JAVA
export JAVA_HOME=/usr/local/java/jdk1.8.0_333
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
export PATH=$PATH:$JAVA_HOME/bin
# Hadoop
export HADOOP_HOME=/usr/local/software/hadoop-3.2.4
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

[root@liuzz-hadoop1 apache-hive-3.1.2]# source /etc/profile

到hadoop包目录下,配置对应的几个配置

core-site.xml




     fs.defaultFS 
     hdfs://hadoop1:8020

 


     hadoop.tmp.dir
     /usr/local/software/hadoop-3.2.4/data/tmp


hdfs-site.xml




dfs.namenode.http-address
hadoop1:9870




dfs.namenode.secondary.http-address
hadoop3:9868

   

yarn-site.xml





  
yarn.nodemanager.aux-services 
mapreduce_shuffle 


 
  
yarn.resourcemanager.hostname 
hadoop2 

 
 
  
yarn.nodemanager.env-whitelist 
JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME 


 

 yarn.log-aggregation-enable
 true


 
 yarn.log.server.url 
 http://hadoop102:19888/jobhistory/logs



 yarn.log-aggregation.retain-seconds
 604800

  

mapred-site.xml





  mapreduce.framework.name
  yarn

 

同步上述配置到hadoop2、hadoop3上!

3.启动hadoop相关组件

a. hadoop1上初始化配置

注意,若要重新执行这个(重置平台),必须先删除目录下 data/logs/这两个再执行初始化配置!!!

[root@liuzz-hadoop1 hadoop]# hdfs namenode -format

遇到的坑:com.ctc.wstx.exc.WstxIOException: Invalid UTF-8 start byte 0xb6 (at char #726, byte #37)

所有配置文件都是unix格式,中文乱码注释需要去掉!

b.hadoop1上启动namenode

[root@liuzz-hadoop1 hadoop-3.2.4]# sbin/start-dfs.sh

遇到的坑:

a. hadoop启动失败:hadoop-functions.sh:行398: 未预期的符号 `<‘ 附近有语法错误

解决:使用 ./sbin/start-dfs.sh 启动

b.hadoop启动报错:Attempting to operate on hdfs namenode as root

解决:环境变量添加如下变量 (解决统一启动hadoop集群这类问题)

export HDFS_NAMENODE_USER=root

export HDFS_DATANODE_USER=root

export HDFS_SECONDARYNAMENODE_USER=root

export YARN_RESOURCEMANAGER_USER=root

export YARN_NODEMANAGER_USER=root

c. 找不到JAVA_HOME

解决:在 $HADOOP_HOME/etc/hadoop/hadoop-env.sh 添加 export JAVA_HOME=你的JAVA_HOME

c.hadoop2上启动ResourceManager

[root@liuzz-hadoop1 hadoop-3.2.4]# sbin/start-yarn.sh

遇到的坑: 执行出现权限问题:没有将当前服务器与其他两台免密ssh

d.4.hadoop1上启动历史服务器(没用spark的情况下)

[root@liuzz-hadoop1 hadoop-3.2.4]# ./bin/mapred --daemon start historyserver

验证

hdfs web端访问地址:http://hadoop1:9870/

yarn web端访问地址:http://hadoop2:8088/ 

1. 验证hdfs是否能操作文件

[root@liuzz-hadoop1 hadoop-3.2.4]# hadoop fs -ls /

2. 验证yarn是否能资源调配并使用mapreduce计算

[root@liuzz-hadoop1 hadoop-3.2.4]# hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.4.jar wordcount /wcinput /wcoutput

你可能感兴趣的:(大数据学习,big,data,hadoop,hdfs,大数据,mapreduce)