栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

大数据学习笔记-hadoop(2)

大数据学习笔记-hadoop(2)

目录

前言:

安装hadoop:

hadoop单机配置:

hadoop伪分布配置:

关于一些遇到的报错:

总结:


前言:

由于笔者最近有比赛,所以隔了好久才更新第二篇,上篇文章是关于ubuntu的基础配置,这篇我们开始正式学习hadoop。


安装hadoop:


下载地址:http://hadoop.apache.org/

练习使用版本:hadoop-3.3.0.tar.gz

连接xftp,将安装包传入虚拟机。

#在虚拟机中解压安装包,解压到/usr的local目录下,该目录为用户下载目录。

tar -zxf hadoop-3.3.0.tar.gz -C /usr/local/hadoop

注:xftp的非商业版需在其官方网站上填报邮箱申请,官方网址如下家庭/学校免费 - NetSarang Website

如果是用作商业用途,需购买。


hadoop单机配置:

将hadoop加入环境配置

vi ~/.bashrc

#添加以下内容
#Hadoop Environment
export HADOOP_HOME=/usr/local/hadoop-3.3.0
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

修改环境变量配置文件

vi /etc/profile

#添加以下内容
export HADOOP_HOME=/usr/local/hadoop-3.3.0
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NaTIVE_DIR"

#加载环境变量配置文件
source /etc/profile

修改hadoop配置

#首先备份原配置文件
cp /usr/local/hadoop-3.3.0/etc/hadoop/hadoop-env.sh /usr/local/hadoop-3.3.0/etc/hadoop/hadoop-env.bak 

#然后再修改
vi /usr/local/hadoop-3.3.0/etc/hadoop/hadoop-env.sh

#The java implemention to use.
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

#export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-"/etc/hadoop"}
export HADOOP_CONF_DIR=/usr/local/hadoop-3.3.0/etc/hadoop

#测试hadoop版本信息,显示版本即配置成功
hadoop version

hadoop伪分布配置:

我们在单机模式的基础上继续配置。

首先关闭防火墙,selinux0

#重启网卡
systemctl retstart network-manager

#检查当前防火墙状态
sudo ufw status

#开启防火墙
sudo ufw enable

#关闭防火墙
sudo ufw disable

#设置selinux为permissive模式
setenforce 0

#设置selinux为enforcing模式
setenforce 1

#查看jdk版本
java -version

修改主机相关

#修改主机名
vi /etc/hostname
 
#主机名
master

#修改ip与主机名的对应关系
vi /etc/hosts
 
127.0.0.1    localhost
10.211.4.103    master


 在单机模式的基础上修改配置文件

#修改配置
vi /usr/local/hadoop-3.3.0/etc/hadoop/core-site.xml
 
#配置hadoop的tmp目录和fs的链接,tmp用于存放hdfs的关键文件
 
        
                hadoop.tmp.dir
                file:/usr/local/hadoop-3.3.0/tmp
        
        
                fs.defaultFS
                hdfs://localhost:9000
        


#创建tmp下的一系列目录
mkdir /usr/local/hadoop-3.3.0/tmp
mkdir tmp/dfs
mkdir tmp/dfs/name
mkdir tmp/dfs/data
mkdir tmp/dfs/namesecondary

#修改tmp目录下(包括tmp)的目录权限
chmod -R +777 tmp

#修改文件块在hdfs中保存的副本数以及namenode和datanode文件的保存目录
vi /usr/local/hadoop-3.3.0/etc/hadoop/hdfs-site.xml

#配置namenode和datanode的保存路径为上面配置的同名目录

        
                dfs.replication
                1
             
        
                dfs.namenode.name.dir
                file:/usr/local/hadoop-3.3.0/tmp/dfs/name
        
        
                dfs.datanode.data.dir
                file:/usr/local/hadoop-3.3.0/tmp/dfs/data
        


#格式化namenode,若找到name has been successfully formatted信息,则成功
hdfs namenode -format

#启动服务
start-dfs.sh

#使用浏览器访问127.0.0.1:9870
#ubuntu20.04版本的namenode端口为9870
#如果显示页面即配置成功

关于一些遇到的报错:

配置过程中免不了的就是遇到报错,解决了的报错写下来,以后再遇到就能很好解决。

###报错:
root@master:~# start-dfs.sh
Starting namenodes on [localhost]
ERROR: Attempting to operate on hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.
Starting datanodes
ERROR: Attempting to operate on hdfs datanode as root
ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation.
Starting secondary namenodes [master]
ERROR: Attempting to operate on hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.

#原因:使用root账户启动但没将root加入配置文件,启动被阻止

#解决方法:进入hadoop安装目录下的sbin,修改以下内容
#增加在第一行下,如果放在文档尾部会读取不到导致配置无效

cd /usrl/local/hadoop-3.3.0/sbin

vi start-dfs.sh

#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

vi stop-dfs.sh

#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

vi start-yarn.sh

#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

vi stop-yarn.sh

#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

#重新start-dfs.sh即可

###

#jps 查看进程号和进程名 -l 显示详细

#使用firefox访问127.0.0.1:9870

#不能访问的解决方案(过长)

#禁用TLS 1.3
#1、在Firefox的地址栏中输入“ about:config ”。
#2、在搜索条目“tls.version.max ”。将值从4更改为3。
#3、值4所表示TLS 1.3,3个代表TLS 1.2。

#重新启动浏览器即可。

总结:

好好学习天天向上,下一篇讲hadoop的分布式配置,不知道多久写出来。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/389080.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号