Linux下Hadoop3.2.0的安装

我所安装的是hadoop-3.2.0,安装包链接在下方,可自取。

链接:https://pan.baidu.com/s/1o81ZThq7Juw7h8LglAZIfg 
提取码:pgvm 

预操作

首先,在安装Hadoop之前要进行的一个操作是关闭防火墙

关闭系统防火墙:

systemctl stop firewalld

systemctl disable firewalld

修改主机名称为:master

主机文件配置地址:

vi /etc/hostname

在hosts添加  IP和主机名对应关系

vi /etc/hosts

其次,在关闭防火墙后,还需要执行一个操作,那就是设置ssh免密登录在Linux中安装其他软件之前最好先设置ssh免密登录

1、进入root用户,执行ssh-keygen -t rsa,一路回车

Linux下Hadoop3.2.0的安装_第1张图片

执行:

cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

Linux下Hadoop3.2.0的安装_第2张图片

查看/root/.ssh/文件夹中生成一系列文件

Linux下Hadoop3.2.0的安装_第3张图片

JAVA JDK安装 

要运行Hadoop,需要由jdk环境,所有安装java jdk是必不可少的。

由于linux系统在装好时系统里面就自带了一个jdk,但是这个自带的jdk是open jdk,没有oracle jdk功能全,所以需要卸载原有的open jdk再重新安装一个jdk。

已有OpenJdk卸载

查询现有Java Jdk版本

java -version

查看已经安装版本

rpm –qa|grep java

Linux下Hadoop3.2.0的安装_第4张图片

进行卸载:

rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64

rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64

rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64

查看卸载情况

java -version

转到跟Hadoop所在的同一目录下(这个可随意),将安装包解压在这个目录下

cd /usr/local/soft/

解压:

tar -zxvf jdk-8u11-linux-x64.tar.gz

配置环境变量:

 vim /etc/profile

输入

export JAVA_HOME=/usr/local/soft/jdk1.8.0_11  (这个是jdk所在的目录)

export PATH=.:$PATH:$JAVA_HOME/bin

保存退出

 :wq

使修改立即生效(不管安装什么,在是配置完环境变量后都要执行这步操作):

source /etc/profile

验证:

java  -version

 Linux下Hadoop3.2.0的安装_第5张图片

Hadoop部署

在做好上面两步后,就可以开始Hadoop的配置了。

1、软件解压

cd /usr/local/soft/

tar -zxvf hadoop-3.2.0.tar.gz

2、修改Hadoop的Java配置路径:/usr/local/soft/hadoop-3.2.0/etc/hadoop/hadoop-env.sh

export JAVA_HOME=/usr/local/soft/jdk1.8.0_11

 

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

 

export HADOOP_PID_DIR=/data/hadoop/pids

export HADOOP_LOG_DIR=/data/hadoop/logs

修改系统环境变量:vi /etc/profile

export HADOOP_HOME=/usr/local/soft/hadoop-3.2.0

export PATH=$PATH:$HADOOP_HOME/bin

export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

保存系统环境变量:souce /etc/profile

3、修改配置文件

core-site.xml

      

                fs.defaultFS

                hdfs://master:9000

      

      

                hadoop.tmp.dir

                /data/hadoop/tmp

      

hdfs-site.xml

  

            dfs.namenode.secondary.http-address

            master:50090

  

  

            dfs.replication

            2

  

  

            dfs.namenode.name.dir

            file:/data/hadoop/hdfs/name

  

  

            dfs.datanode.data.dir

            file:/data/hadoop/hdfs/data

  

  

        dfs.permissions.enabled

        false

   

dfs.namenode.secondary.http-address是指定secondaryNameNode的http访问地址和端口号,因为在规划中,我们将master1规划为SecondaryNameNode服务器。

Workers.sh中添加   master

workers文件是指定HDFS上有哪些DataNode节点。

yarn-site.xml

   

       yarn.nodemanager.aux-services

       mapreduce_shuffle

  

  

      yarn.nodemanager.localizer.address

      0.0.0.0:8140

  

  

       yarn.resourcemanager.hostname

       master

  

  

       yarn.log-aggregation-enable

       true

  

  

       yarn.log-aggregation.retain-seconds

       604800

  

  

       yarn.log.server.url

       http://master:19888/jobhistory/logs

  

根据规划yarn.resourcemanager.hostname这个指定resourcemanager服务器指向master1。

yarn.log-aggregation-enable是配置是否启用日志聚集功能。

yarn.log-aggregation.retain-seconds是配置聚集的日志在HDFS上最多保存多长时间。

mapred-site.xml配置

  

       mapreduce.framework.name

       yarn

  

  

  

       yarn.app.mapreduce.am.env

       HADOOP_MAPRED_HOME=/usr/local/soft/hadoop-3.2.0

  

  

       mapreduce.map.env

       HADOOP_MAPRED_HOME=/usr/local/soft/hadoop-3.2.0

  

  

       mapreduce.reduce.env

       HADOOP_MAPRED_HOME=/usr/local/soft/hadoop-3.2.0

  

  

  

       mapreduce.jobhistory.address

       master:10020

  

  

       mapreduce.jobhistory.webapp.address

       master:19888

  

mapreduce.framework.name设置mapreduce任务运行在yarn上。

mapreduce.jobhistory.address是设置mapreduce的历史服务器安装在master1机器上。

mapreduce.jobhistory.webapp.address是设置历史服务器的web页面地址和端口号

4、格式化Hadoop系统

./bin/hdfs namenode  -format

5、启动

./sbin/start-dfs.sh

停止:

./sbin/stop-dfs.sh

6、检测进程:

jps

Linux下Hadoop3.2.0的安装_第6张图片

HDFS Web页面

http://127.0.0.1:9870/

Linux下Hadoop3.2.0的安装_第7张图片

YARN Web页面

http://192.168.24.56:8088/(linux的ip地址)

Linux下Hadoop3.2.0的安装_第8张图片

 

常见问题:

1、如果集群正常启动,发现网页中没有子节点,有两种办法解决,但其实都是同一个原理:

Linux下Hadoop3.2.0的安装_第9张图片

 

第一种方法:

先关闭集群:

./sbin/stop-all.sh

查找主节点version中的集群ID,路径/data/hadoop/hdfs/name/current/

 

Linux下Hadoop3.2.0的安装_第10张图片

在两个从节点中找到从节点的version,路径:/data/hdfs/data/current/

Linux下Hadoop3.2.0的安装_第11张图片

 

clusterID从节点需要和主节点保持一致,如果从节点没有current文件夹,再自己检查配置和日志文件里面错误信息

第二种方法:

找到Hadoop目录中的一个data文件夹,里面存放的都是Hadoop的缓存文件,直接删掉就可以解决这个问题。其实一般找不到节点的话可能是因为安装了多次Hadoop,除去第一次安装生成的data文件夹,后面的安装都是在第一次生成的data文件夹上进行的,里面的一些文件什么的可能就会出现问题,所以就需要删除data文件夹再重新安装。

2、启动都成功,网页中没有从节点

检查防火墙是否关闭

3、格式化失败,报权限问题

检查hadoop文件夹所有者是否当前用户,如果不是,执行命令

chown -R root /usr/local/soft/hadoop-3.2.0

4、如果某个端口号不起作用,命令查看端口启动情况

netstat -tlpn

你可能感兴趣的:(大数据)