CentOS 6.5 hadoop 2.7.3 集群环境搭建

前端之家收集整理的这篇文章主要介绍了CentOS 6.5 hadoop 2.7.3 集群环境搭建前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

CentOS 6.5 hadoop 2.7.3 集群环境搭建

所需硬件,软件要求

使用 virtualBox 构建三台虚拟机模拟真实物理环境

操作系统:CentOS6.5

主机列表:

master  ip: 192.168.3.171
slave1  ip: 192.168.3.135
slave2  ip: 192.168.3.136

为三台主机添加同一用户,设置密码:

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

SSH 免密码登录安装,配置

保证由master主机能够免密码登录到datanodes节点机上

# master 生成公钥

  $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
  $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  $ chmod 0600 ~/.ssh/authorized_keys

复制 master 公钥到 datanodes节点机

# 复制 master 主机公钥到 datanode 节点机的 /tmp 目录 
scp  ~/.ssh/id_rsa.pub hadoop@192.168.3.135:/tmp/authorized_keys

scp  ~/.ssh/id_rsa.pub hadoop@192.168.3.136:/tmp/authorized_keys

追加 /tmp/authorized_keys 到 ~/.ssh/authorized_keys

cat /tmp/authorized_keys >>  ~/.ssh/authorized_keys

注意:

1) .ssh目录的权限必须是700

2) .ssh/authorized_keys文件权限必须是600

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-8u102-linux-x64.tar.gz

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

JAVA_HOME=/usr/java/jdk1.8.0_102
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的安装状态

[root@hadoop001 java]# javac
用法: javac <options> <source files>
其中,可能的选项包括:
  -g                         生成所有调试信息
  -g:none                    不生成任何调试信息
  -g:{lines,vars,source}     只生成某些调试信息
  -nowarn                    不生成任何警告
  -verbose                   输出有关编译器正在执行的操作的消息
  -deprecation               输出使用已过时的 API 的源位置
  -classpath <路径>            指定查找用户文件和注释处理程序的位置
  -cp <路径>                   指定查找用户文件和注释处理程序的位置
  -sourcepath <路径>           指定查找输入源文件的位置
  -bootclasspath <路径>        覆盖引导类文件的位置
  -extdirs <目录>              覆盖所安装扩展的位置
  -endorseddirs <目录>         覆盖签名的标准路径的位置
  -proc:{none,only}          控制是否执行注释处理和/或编译。
  -processor <class1>[,<class2>,<class3>...] 要运行的注释处理程序的名称; 绕过默认的搜索进程
  -processorpath <路径>        指定查找注释处理程序的位置
  -parameters                生成元数据以用于方法参数的反射
  -d <目录>                    指定放置生成的类文件的位置
  -s <目录>                    指定放置生成的源文件的位置
  -h <目录>                    指定放置生成的本机标头文件的位置
  -implicit:{none,class}     指定是否为隐式引用文件生成文件
  -encoding <编码>             指定源文件使用的字符编码
  -source <发行版>              提供与指定发行版的源兼容性
  -target <发行版>              生成特定 VM 版本的类文件
  -profile <配置文件>            请确保使用的 API 在指定的配置文件中可用
  -version                   版本信息
  -help                      输出标准选项的提要
  -A关键字[=值]                  传递给注释处理程序的选项
  -X                         输出非标准选项的提要
  -J<标记>                     直接将 <标记> 传递给运行时系统
  -Werror                    出现警告时终止编译
  @<文件名>                     从文件读取选项和文件名
[root@hadoop001 java]# 
[root@hadoop001 java]# java -version
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14,mixed mode)

安装 Hadoop2.7.3

下载hadoop-2.7.3

cd /tmp
wget http://apache.fayea.com/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz

解压 hadoop-2.7.3.tar.gz

tar -zxvf hadoop-2.7.3.tar.gz

复制文件到 /usr 目录下

cp -R /tmp/hadoop-2.7.3  /usr/hadoop

配置hadoop的环境变量,在/etc/profile下追加

vim /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 文件

vim etc/hadoop/hadoop-env.sh

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

修改 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.3.135
192.168.3.136

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

hdfs namenode -format

启动文件服务

start-dfs.sh
Make the HDFS directories required to execute MapReduce jobs:

创建用户文件系统文件

hdfs dfs -mkdir /user
hdfs dfs -mkdir /user/hadoop

复制文件本地文件到分布式文件系统 input 下

hdfs dfs -mkdir input
hdfs dfs -put etc/hadoop/*.xml input

执行提供的默认的例子

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+'

复制分布式文件系统文件到本地系统

hdfs dfs -get output output
cat output/*

或查看分布式文件系统文件内容
hdfs dfs -cat output/*

启动 ResourceManager守护进程和NodeManager守护进程,启动mapResource jobhistory 历史记录服务

start-yarn.sh
mr-jobhistory-daemon.sh start historyserver

分别在各个主机上执行 jps 查看服务情况

[root@Master hadoop]# 
[root@Master hadoop]# jps
10210 Jps
9698 SecondaryNameNode
9864 ResourceManager
9497 NameNode
[root@Master hadoop]# 


[root@Slave1 hadoop]# jps
8071 NodeManager
8279 Jps
7961 Datanode
[root@Slave1 hadoop]# 


[root@Slave2 hadoop]# jps
5266 NodeManager
5155 Datanode
5444 Jps
[root@Slave2 hadoop]# 
[root@Slave2 hadoop]#

web 访问页面

http://master:50070/

http://master:8088/cluster




停止服务

stop-dfs.sh
stop-yarn.sh
mr-jobhistory-daemon.sh stop historyserver

服务备注:

start-dfs.sh
start-yarn.sh
mr-jobhistory-daemon.sh start historyserver
原文链接:https://www.f2er.com/centos/380591.html

猜你在找的CentOS相关文章