Hadoop 2.7.3安装与配置

一、JDK的安装与配置

(1)、自行前往Oracle官网下载JDK

(2)、下载后解压到相关路径,配置环境变量:

vi /etc/profile

添加如下配置

export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export JAVA_BIN=$JAVA_HOME/bin
export JAVA_LIB=$JAVA_HOME/lib
export CLASSPATH=.:$JAVA_LIB/tools.jar:$JAVA_LIB/dt.jar
export PATH=$PATH:$JAVA_HOME/bin

(3)、刷新配置

source /etc/profile

二、配置SSH

sudo apt-get install ssh
sudo apt-get install rsync

(1)、用户主目录(cd ~),ls -a查看文件,其中一个为“.ssh”,该文件价是存放密钥的。生成的密钥都会放到这个文件夹中。
(2)、生成公钥和.ssh文件夹:ssh-keygen -t rsa 一路回车,不需要输入密码
(2)、命令生成密钥: ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa (使用rsa加密方式生成密钥)回车后,会提示三次输入信息,我们直接回车即可。
(3)、将生成的公钥id_rsa.pub 内容追加到authorized_keys,执行命令:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
多服务器间配置参考

验证:
执行命令:ssh localhost(主机名) 无错误提示则配置成功

三、hadoop的相关配置
(1)、官方的下载地址链接:Hadoop下载地址

(2)、下载后解压路径为/usr/hadoop/hadoop-2.7.3

(3)、配置hadoop

第一个:hadoop-env.sh

vim hadoop-env.sh

第27行中

export JAVA_HOME=/usr/jdk1.8.0_101

第二个:core-site.xml

<!-- 制定HDFS的老大(NameNode)的地址 -->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>file:/usr/hadoop/hadoop-2.7.3/tmp</value>
</property>

第三个:hdfs-site.xml

<!-- 指定HDFS副本的数量 -->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <!-- HDFS权限验证 -->
    <property>
        <name>dfs.permissions.enabled</name>
        <value>false</value>
    </property>
    <!-- HDFS文件系统超级权限用户 -->
    <property>
        <name>dfs.permissions.superusergroup</name>
        <value>root</value>
    </property>
    <!-- NameNode临时文件的存放目录 -->
    <property>
        <name>dfs.NameNode.name.dir</name>
        <value>file:/usr/local/Hadoop-2.7.3/tmp/dfs/name</value>
    </property>
    <!-- datanode临时文件的存放目录 -->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/Hadoop-2.7.3/tmp/dfs/data</value>
    </property>

第四个:mapred-site.xml

mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<!-- 指定MapReduce运行在YRAN上 -->
    <property>
        <name>MapReduce.framework.name</name>
        <value>YRAN</value>
    </property>
    <!-- 指定任务是否可以跨平台提交 -->
    <property>
        <name>MapReduce.app-submission.cross-platform</name>
        <value>true</value>
    </property>
    <!-- MapReduce应用程序的依赖包 -->
    <property>
        <name>MapReduce.application.classpath</name>
        <value>
            /usr/local/Hadoop-2.7.3/etc/Hadoop,
            /usr/local/Hadoop-2.7.3/share/Hadoop/common/*,
            /usr/local/Hadoop-2.7.3/share/Hadoop/common/lib/*,
            /usr/local/Hadoop-2.7.3/share/Hadoop/hdfs/*,
            /usr/local/Hadoop-2.7.3/share/Hadoop/hdfs/lib/*,
            /usr/local/Hadoop-2.7.3/share/Hadoop/MapReduce/*,
            /usr/local/Hadoop-2.7.3/share/Hadoop/MapReduce/lib/*,
            /usr/local/Hadoop-2.7.3/share/Hadoop/YRAN/*,
            /usr/local/Hadoop-2.7.3/share/Hadoop/YRAN/lib/*
        </value>
    </property>

第五个:yarn-site.xml

<!-- 指定YRAN的老大(ResourceManager)的地址 -->
    <property>
        <name>YRAN.resourcemanager.hostname</name>
        <value>master</value>
    </property>
    <!-- reducer获取数据的方式 -->
    <property>
        <name>YRAN.nodemanager.aux-services</name>
        <value>MapReduce_shuffle</value>
    </property>
    <!-- YRAN 应用环境 -->
    <property>
        <name>YRAN.application.classpath</name>
        <value>
                /usr/local/Hadoop-2.7.3/etc/Hadoop,
                /usr/local/Hadoop-2.7.3/share/Hadoop/common/*,
                /usr/local/Hadoop-2.7.3/share/Hadoop/common/lib/*,
                /usr/local/Hadoop-2.7.3/share/Hadoop/hdfs/*,
                /usr/local/Hadoop-2.7.3/share/Hadoop/hdfs/lib/*,
                /usr/local/Hadoop-2.7.3/share/Hadoop/MapReduce/*,
                /usr/local/Hadoop-2.7.3/share/Hadoop/MapReduce/lib/*,
                /usr/local/Hadoop-2.7.3/share/Hadoop/YRAN/*,
                /usr/local/Hadoop-2.7.3/share/Hadoop/YRAN/lib/*
        </value>
    </property>

(4)、配置hadoop的环境变量

vi /etc/profile

添加如下配置

export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop

执行指令 source /etc/profile

(5)、格式化namenode(是对namenode进行初始化)

hdfs namenode -format 或 hadoop namenode -format

(6)、安装完成后的验证

验证环境是否配置好:hadoop version

hadoop version

验证Java环境:java -version

java -version

验证节点是否可以启动:

start-all.sh
jps

jps

有六项表示安装成功,否则请查看相应的日志文件,找出问题并重新启动

验证网页端是否正常:

http://192.168.3.97:8088/cluster可以正常查看

四、安装过程中遇到的问题及解决方法

(1)、启动不了Namenode进程,出现IllegalArgumentException异常
hdfs-site.xml 文件中将以下内容:

<property>  
    <name>dfs.namenode.name.dir</name>  
    <value>file://${hadoop.tmp.dir}/dfs/name</value>  
</property>  
<property>  
    <name>dfs.datanode.data.dir</name>  
    <value>file://${hadoop.tmp.dir}/dfs/data</value>  
</property>

修改为:

<property>  
    <name>dfs.namenode.name.dir</name>  
    <value>file:/home/hdusr/hadoop-2.2.0/tmp/dfs/name</value>
</property>  
<property>  
    <name>dfs.datanode.data.dir</name>  
    <value>file:/home/hdusr/hadoop-2.2.0/tmp/dfs/data</value>
</property> 

即使用绝对地址代替,如果没有上面的项,则直接添加即可

(2)、nodemanager启动失败,日志中错误如下:

java.lang.IllegalArgumentException: The ServiceName: mapreduce.shuffle set in yarn.nodemanager.aux-services is invalid.The valid service name should only contain a-zA-Z0-9_ and can not start with numbers

根据提示,Hadoop中命名规则是数字、字母或者下划线,其他字符会出现错误,修改重新启动即可

(3)、安装Hadoop启动之后总有警告:Unable to load native-hadoop library for your platform... using builtin-Java classes where applicable

原因:
解决思路一
解决思路二

Apache提供的hadoop本地库是32位的,而在64位的服务器上就会有问题,因此需要自己编译64位的版本。
查看当前是多少位的方法为:

file /usr/hadoop/hadoop-2.7.3/lib/native/libhadoop.so.1.0.0

去网站:http://dl.bintray.com/sequenceiq/sequenceiq-bin/ 下载对应的编译版本,并将准备好的64位的lib包解压到已经安装好的hadoop安装目录的lib/native 和 lib目录下

我在安装的过程中遇到这个问题,并没有重新编译源代码,虽然这样肯定可行,但是太麻烦,我将Hadoop根目录下etc/hadoop/hadoop-env.sh中的下如下内容注释掉:

export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true"   

然后修改该内容为:

export HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib:$HADOOP_PREFIX/lib/native"
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
注:下文中的 *** 代表文件名中的组件名称。 # 包含: 中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【***.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【***-sources.jar下载地址(官方地址+国内镜像地址).txt】 # 本文件关键字: 中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·本文档为双语同时展示,一行原文、一行译文,可逐行对照,避免了原文/译文来回切换的麻烦; ·有原文可参照,不再担心翻译偏差误导; ·边学技术、边学英语。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值