centos6.5 安装hadoop2.7.6 1master2node

环境采用centos 6.5最小化安装,hadoop下载的hadoop2.7.6.tar.gz安装,Java下载的oracle官网的1.8.0_172的包安装。

参考了别人的文档,遇到了不同的问题。



1. 3台centos6.5 vmware

192.168.17.205 Master
192.168.17.206 hadoop1
192.168.17.207 hadoop2
为三台主机添加同一用户,设置密码:

添加用户
useradd hadoop
修改密码
passwd hadoop

SSH 免密码登录安装,配置
保证由master主机能够免密码登录到datanodes节点机上

# ssh-keygen -t rsa -P ‘‘ -f ~/.ssh/id_rsa
#ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.17.206

测试

[[email protected] ~]# ssh 192.168.17.206
Last login: Mon Apr 23 12:56:33 2018 from 192.168.17.1
[[email protected] ~]#

JDK的安装与卸载
卸载 JDK

# 检查当前安装的JDK
rpm -qa|grep gcj
rpm -qa|grep jdk
rpm -e  --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
rpm -e  --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

#查询当前系统中相关java 目录并删除
whereis java
java: /etc/java /usr/lib/java /usr/share/java

#删除查询出的结果目录
rm -fr /usr/share/java
rm -fr /usr/lib/java
rm -fr /etc/java

安装JDK

在usr目录下创建java目录并且下载JDK并且解压到 /usr/java 目录下

cd /usr
mkdir java
cd java
wget http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz
tar -zxvf jdk-8u172-linux-x64.tar.gz

可能要手工下载再传进去,下载到的可能是html而不是tar.

编辑 vim /etc/profile 文件并且在末尾追加

JAVA_HOME=/usr/java/jdk1.8.0_172
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
export PATH JAVA_HOME CLASSPATH

在不重新启动操作系统的情况下使 /etc/profile 文件生效
source /etc/profile
检查java的安装状态
java -version

2. 安装 Hadoop2.7.6

下载hadoop-2.7.6

cd /tmp
wget http://apache.fayea.com/hadoop/common/hadoop-2.7.3/hadoop-2.7.6.tar.gz
解压 hadoop-2.7.6.tar.gz
tar -zxvf hadoop-2.7.6.tar.gz
复制文件到 /usr 目录下
cp -R /tmp/hadoop-2.7.3 /usr/hadoop
配置hadoop的环境变量,在/etc/profile下追加
vi /etc/profile
追加如下的环境变量设置

HADOOP_HOME=/usr/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

修改 etc/hadoop/hadoop-env.sh 文件
vi etc/hadoop/hadoop-env.sh

# The java implementation to use.
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/usr/java/jdk1.8.0_172

修改 etc/hadoop/core-site.xml 文件


<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://Master:9000</value>
    </property>

</configuration>

修改 etc/hadoop/hdfs-site.xml 文件

<!-- Put site-specific property overrides in this file. -->

<configuration>

        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>Master:50090</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/usr/hadoop/tmp/dfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/usr/hadoop/tmp/dfs/data</value>
        </property>

</configuration>

修改 etc/hadoop/yarn-site.xml 文件

<configuration>

        <!-- Site specific YARN configuration properties -->
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>Master</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>

</configuration>

修改 etc/hadoop/mapred-site.xml 文件

<!-- Put site-specific property overrides in this file. -->
<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>Master:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>Master:19888</value>
        </property>
</configuration>

修改 etc/hadoop/slaves 文件,添加

192.168.17.206
192.168.17.207
打包文件夹 /usr/hadoop ,复制到 datanode 节点机,保证节点机环境配置与master保持一致格式化文件系统

hdfs namenode -format
启动文件服务
start-dfs.sh
Make the HDFS directories required to execute MapReduce jobs:
关闭文件服务
stop-dfs.sh
创建用户文件系统文件夹
hdfs dfs -mkdir /user
hdfs dfs -mkdir /user/hadoop
复制文件本地文件到分布式文件系统 input 下
hdfs dfs -mkdir /input
hdfs dfs -put etc/hadoop/*.xml input

3. 遇到的问题

3.1安装后会一直提示错误“WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable ”

export  HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"

把相同配置添加到hadoop-env.sh文件末尾。

3.2hadoop Live Nodes :0

 对于这些网上的说法已经很多了,主要包括:
1 关闭safemode模式,输入如下命令:
bin/hadoop dfsadmin -safemode leave
2 检查存储空间是否足够,输入如下命令:
df -hl
3 重新格式化hdfs,按照如下步骤
a) 删除master和所有slave上的 hadoop目录下的logs文件,并重新建立
b) 删除master和所有slave上的hdfs存储目录,即conf/core-site.xml配置文件中  hadoop.tmp.dir属性对应的value所指向的目录,并重新建立
4 检查防火墙是否关闭,输入下面命令查看状态:
service iptables status
输入下面命令关闭防火墙
service iptables stop
5 重新检查配置文件
不过上述方法都用过了,依然没有解决问题,下面一点是如何解决了该问题的操作。
检查每台机器上的/etc/hosts文件,将没有用或不清楚作何用的ip:name对删除,最后只留下了
[[email protected] hadoop]# cat /etc/hosts
127.0.0.1   localhost
192.168.17.205 Master
192.168.17.206 hadoop1
192.168.17.207 hadoop2

原文地址:http://blog.51cto.com/2863578/2106755

时间: 2024-10-13 22:46:40

centos6.5 安装hadoop2.7.6 1master2node的相关文章

centos6.4安装hadoop2.4.1

#关闭防火墙 service iptablesstop 1:安装JDK 1.1上传jdk-7u_65-i585.tar.gz 1.2解压jdk #创建文件夹 mkdir /home/hadoop/app #解压 tar -zxvf jdk-7u55-linux-i586.tar.gz -C /home/hadoop/app 1.3将java添加到环境变量中 sudo vim /etc/profile #在文件最后添加 export JAVA_HOME=/home/hadoop/app/jdk-7

Centos6下安装Hadoop2.6 问题总结

一. 安装背景:VirtualBox下安装三台Centos6.8虚拟机(一主:master, 两从:slave1,slave2) Centos版本:CentOS-6.8-x86_64 网络配置:三台虚拟机配置静态IP,并配置主机名master,slave1,slave2 系统配置:安装JDK,增加hadoop用户(三台都需要) Hadoop安装包:hadoop-2.6.0-cdh5.6.0.tar.gz 无密码ssh:配置ssh无密码连接(master->slave1, master->sla

CentOS6.7 安装hadoop2.7.5

一.下载hadoop二进制包 下载地址:http://mirrors.hust.edu.cn/apache/hadoop/common/ 二.环境准备 1.安装JDK(1.8.0_151) 2.安装openssh-clients 注意: CentOS6.7 默认没有安装openssh-clients,导致系统没有ssh命令,而hadoop脚本中会使用ssh命令,如果不装openssh-clients,启动服务器时会报错 三.安装hadoop tar zxf hadoop-2.7.5.tar.gz

CentOS6.3安装Hadoop2.4.1

修改主机名和IP的映射关系 vim /etc/hosts 192.168.1.168        cacgg168 安装java export JAVA_HOME=/usr/java/jdk1.6.0_45 export JRE_HOME=/usr/java/jdk1.6.0_45/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JA

64bit Centos6.4编hadoop-2.5.1

64bit Centos6.4编hadoop-2.5.1   1.说明 a)       因为从apache下载下来的tar.gz包是用32 bit编译的,全部假设用Linux 64作为hadoop的平台,将会出现一些问题,所以须要手动的编译成64 bit 2.软件准备 a) JDK jdk1.7.0_51 b) Hadoophardoop-2.5.1-src.tar.gz c) Maven apache-maven-3.0.5-bin.zip d) Protobufprotobuf-2.5.0

CentOS6.4编译Hadoop-2.4.0

因为搭建Hadoop环境的时候,所用的系统镜像是emi-centos-6.4-x86_64,是64位的,而hadoop是默认是32的安装包.这导致我们很多操作都会遇到这个问题(Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /opt/hadoop-2.4.0/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard. The VM w

centos6.4设备hadoop-2.5.1(完全分布式)

环境介绍: 在这两种装备centos6.4(32位置)的server安装Hadoop-2.5.1分布式集群(2台机器,主要试验用.哈哈). 1.改动主机名和/etc/hosts文件 1)改动主机名(非必要) vi /etc/sysconfig/network HOSTNAME=XXX 重新启动后生效. 2)/etc/hosts是ip地址和其相应主机名文件,使机器知道ip和主机名相应关系.格式例如以下: #IPAddress HostName 192.168.1.67 MasterServer 1

安装hadoop-2.3.0-cdh5.1.2全过程

工欲善其事,必先利其器,啥都不说,Hadoop下载:http://archive.cloudera.com/cdh5/cdh/5/  选择好相应版本搞起,在本文讲述的是 围绕hadoop-2.3.0-cdh5.1.2版本安装过程.(安装环境为自己在VMWare 10里面搭建的三台 Linux 虚拟机). 1.hadoop 是大apache开源的分布式离线计算框架,语言:java,既然这样,要想搭建hadoop环境(不管伪分布式 还是多机集群),那必须在服务器上安装好jdk. 简单过程简单说,简要

CentOS6.5、Hadoop-2.2.0、64 位的编译

1.安装CentOS6.5 下载地址是 http://mirror.neu.edu.cn/centos/6.5/isos/x86_64/ 选择 CentOS-6.5-x86_64-bin-DVD1.iso 下载,注意是 64 位的,大小是 4GB,需要下载一段时间的. 其实 6.x 的版本都可以,不一定是 6.5,一定要保持 linux 联网状态. 说明:我把软件下载后全部复制到/usr/local 目录下,以下命令执行的路径是在/usr/local 目录下. 请读者在阅读时,一定要注意路径.