文档章节

Hadoop 2.7.3安装与配置

s
 sunsyu
发布于 2017/04/13 16:03
字数 988
阅读 19
收藏 0

一、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-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>

第四个:mapred-site.xml

mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>

第五个:yarn-site.xml

<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>localhost</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

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

vi /etc/profile

添加如下配置

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

执行指令 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"

© 著作权归作者所有

s
粉丝 0
博文 109
码字总数 135924
作品 0
深圳
私信 提问
Windows 搭建Hadoop 2.7.3开发环境

1、安装配置Java环境 1.1、安装Windows版本的jkd应用程序 当前的系统环境是64位Windows 7,因此下载64位JDK,下载地址:http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e...

巴利奇
2018/01/06
0
0
大数据TensorFlowOnSpark安装

1. 概述 大数据tensorflowonspark 进行安装和测试。 2 .环境 3 .安装 1.1 删除系统自带jdk: # rpm -e --nodeps java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64rpm -e --nodeps java-1.6.0......

cs312779641
2017/10/19
0
0
CentOS 7下安装集群Hadoop-2.7.3

一、硬件环境 我使用的硬件是云创的一个minicloud设备。由三个节点(每个节点8GB内存+128GB SSD+3块3TB SATA)和一个千兆交换机组成。 二、安装前准备 1.在CentOS 7下新建hadoop用户,官方推...

xhHuang
2016/12/18
1K
0
hadoop分布式安装

分布式安装(至少三台主机):环境所需软件:CentOS7hadoop-2.7.3.tar.gzjdk-8u102-linux-x64.tar.gz 安装前准备工作: 修改 /etc/hosts 文件 vim /etc/hosts内容:192.168.10.11 bigdata1192...

菜鸟的征程
2017/12/10
0
0
CentOS7下编译Hadoop-2.7.3全过程详解

1.工具准备,最靠谱的是hadoop说明文档里要求具备的那些工具。 到hadoop官网,点击source下载hadoop-2.7.3-src.tar.gz。 解压之 tar -zxvf hadoop-2.7.3-src.tar.gz 得到hadoop-2.7.3-src文件...

楠木楠
2016/08/28
190
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Cloud 笔记之Spring cloud config client

观察者模式它的数据的变化是被动的。 观察者模式在java中的实现: package com.hxq.springcloud.springcloudconfigclient;import org.springframework.context.ApplicationListener;i...

xiaoxiao_go
42分钟前
4
0
CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
今天
4
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
今天
7
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
今天
7
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部