Hadoop-2.5.1 编译安装步骤

环境:  系统  CentOS 6.3 64 位  * 2 
Master           10.10.55.112
Slave1           10.10.55.133
软件:  Hadoop- 2.5.1- src.tar.gz

一、准备环境

1.1     分别设置节点ip地址(固定)  此步骤所有节点都要操作

 vi /etc/sysconfig/network- scripts/ifcfg – eth0

     1.2     修改节点主机名此步骤所有节点都要操作

 vi /etc/sysconfig/network   
 以上两步骤需要重启服务器后才生效

    

  1.3     创建 hadoop 用户及主机名  此步骤所有节点都要操作

useradd   hadoop  
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=master.Hadoop   //节点服务器设置为 slave1.Hadoop
vi   /etc/hosts                               
10.10.55.112 master.Hadoop                   
10.10.55.133 slave1.Hadoop

    

 1.4     建立 hadoop 用户之间相互信任(互相无密码登陆)此步骤所有节点都要操作

切换至 hadoop 用户下执行   ssh-keygen -t rsa   
然后将自己的公钥以及其他服务器 hadoop 用户的公钥放置 hadoop 宿主目录下的.ssh/authorized_keys中,
注意 authorized_keys 默认不存在需要手动创建,并且必须设置权限为 600
         ssh-keygen生成密钥;-t生成密钥类型;dsa为dsa密钥认证的意思,密钥类型;-P用于提示密语;-f生成密钥文件;
ssh-keygen -t rsa                       
cat .ssh/id_dsa.pub >> .ssh/authorized_keys
ssh –version

    

   1.5   安装 java(建议每台机器的 JAVA_HOME 路径信息相同)此步骤所有节点都要操作

    下载 jkd(  http://www.oracle.com/technetwork/java/javase/downloads/index.html

下载后解压至自己指定的目录如  /usr/java

添加变量:以 root 用户  vi   /etc/profile
根据自己路径在最后添加以下三行
#jdk
export JAVA_HOME=/usr/java/jdk1.7.0_67                               
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib        
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin       
添加之后执行   sourc   /etc/profile    重新加载  建议 root 用户和 hadoop 用户都操作此步

   

     1.6    安装基本应用程序 (此步骤要求联公网)  此步骤只需在 master 上操作

yum -y install  svn   ncurses-devel   gcc*                                             
yum -y install lzo-devel zlib-devel autoconf    automake    libtool    cmake     openssl –devel

 

       1.7     安装 maven

下载 apache-maven-3.1.1-bin.tar.gz   
(下载地址   http://mirror.bit.edu.cn/apache/maven/maven-3/3.2.3/binaries/apache-maven-3.2.3-bin.tar.gz  )
并解压    tar   zxvf   apache- maven- 3.2.3- bin.tar.gz
mv   apache-maven-3.2.3   maven     (改名)

注意一下 maven 存放路径,可以自定义路径 我的路径是 /home/hadoop/maven 目录下
添加变量:以 root 用户  vi   /etc/profile
根据自己路径在最后添加以下两行
export MAVEN_HOME=/home/hadoop/maven  
export PATH=$PATH:$MAVEN_HOME/bin       
添加之后执行  sourc   /etc/profile   重新加载

1.9     安装 protobuf(不安装,编译将无法完成)

Hadoop使用protocol buffer进行通信,需要下载和安装protobhf-2.5.0.tar.gz;由于官网已经无法下载了,

可以到百度云盘下载http://pan.baidu.com/s/1pJlZubT

编译安装 protobuf

①  cd   protobuf - 2.5.0

②  ./configure

③  make

④  make install

检测  protoc –version

二、编译安装 hadoop-2.5.1

    2.1   下载  hadoop-2.5.1-src.tat.gz

Hadoop-2.2.0 源码包下载地址  http://apache.claz.org/hadoop/common/hadoop-2.5.1/

红色标志  hadoop-2.5.1- src.tar.gz 为源码包

    2.2   解压hadoop-2.5.1-src.tar.gz

    2.3   开始编译

执行命令   mvn clean package –Pdist,native –DskipTests –Dtar       
此步骤要求逐级能访问公网,并且此步骤比较漫长,由于服务器配置和网上的不同因素,时间大致为1小时左右;
完成结果图类似如下:

编译成功后,  /hadoop-dist/target/hadoop-2.5.1.tar.gz   就是我们需要的文件了;
将编译好的  /hadoop-dist/target/hadoop-2.5.1.tar.gz  文件分别拷贝到其他节点,
并将其解压,设置其属主、属组都为Hadoop用户(路径自定义,注:所有节点Hadoop路径必须相同,我这里所有服务器节点都放在/home/hadoop

然后添加环境变量: vi /etc/profile  此步骤所有节点都要操作
添加以下两条:
#set hadoop 环境变量                                              
export HADOOP_HOME=/root/hadoop-2.5.1         指定Hadoop安装路径
export PATH=$HADOOP_HOME/bin:$PATH                              
export CLASSPATH=$HADOOP_HOME/lib:$CLASSPATH                     
添加之后执行   sourc  /etc/profile   重新加载  建议 root 用户和 hadoop 用户都操作此步

   

     2.4  master 操作

解压/hadoop-dist/tast/target/hadoop-2.5.1.tar.gz 到 /home/hadoop 进入配置文件目录

在这里主要修改以下几个文件:(文件内容有些参数根据自己时间情况修改)
slaves   core- site.xml   hadoop-env.sh   hdfs - site.xml  
mapred-site.xml  (此文件默认不存在)  yarn-env.sh   yarn -site.xml

   

    

   2.4.1          修改slaves文件,添加以下内容(目的:添加slave节点,建议写ip地址)

10.10.55.133

  

  2.4.2          修改 core-site.xml 添加以下内容:

<configuration>
       <configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://10.10.55.112:9000</value>
        </property>
        <property>
                <name>io.file.buffer.size</name>
                <value>131072</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>file:/home/hadoop/hadoop-2.5.1/temp</value>
                <description>Abase for other temporary directories.</description>
        </property>
        <property>
                <name>hadoop.proxyuser.hduser.hosts</name>
                <value>*</value>
        </property>
        <property>
                <name>hadoop.proxyuser.hduser.groups</name>
                <value>*</value>
        </property>
</configuration>

 

   2.4.3          修改hdfs-site.xml文件

<configuration>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>10.10.55.112:9001</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/home/hadoop/hadoop-2.5.1/dfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/home/hadoop/hadoop-2.5.1/dfs/data</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
        <property>
                <name>dfs.webhdfs.enabled</name>
                <value>true</value>
        </property>
</configuration>

    2.4.4     修改mapred-site.xml 文件,添加如下内容:

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>10.10.55.112:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>10.10.55.112:19888</value>
        </property>
</configuration>

    2.4.5          修改 yarn-site.xml 文件,添加如下内容:

<configuration>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
                <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>
        <property>
                <name>yarn.resourcemanager.address</name>
                <value>10.10.55.112:8032</value>
        </property>
        <property>
                <name>yarn.resourcemanager.scheduler.address</name>
                <value>10.10.55.112:8030</value>
        </property>
        <property>
                <name>yarn.resourcemanager.resource-tracker.address</name>
                <value>10.10.55.112:8031</value>
        </property>
        <property>
                <name>yarn.resourcemanager.admin.address</name>
                <value>10.10.55.112:8033</value>
        </property>
        <property>
                <name>yarn.resourcemanager.webapp.address</name>
                <value>10.10.55.112:8088</value>
        </property>
</configuration>

    2.4.6        修改hadoop-env.sh  文件

修改JAVA_HOME值( export JAVA_HOME=/usr/java/jdk.1.7.0_67

    2.4.7         修改 yarn-env.sh文件

修改JAVA_HOME值(export JAVA_HOME=/usr/java/jdk1.7.0_67)

    2.4.8         传送文件至各个节点保持一致

配置文件修改完了,然后将修改后的所有文件都复制(覆盖)到各个节点 hadoop 目录下
scp hadoop-env.sh hdfs - site.xml mapred-site.xml slaves yarn-env.sh yarn -site.xml [email protected]:/home/hadoop/hadoop-1.5.1/et/hadoop/
scp hadoop-env.sh hdfs- site.xml mapred-site.xml slaves yarn-env.sh yarn -site.xml [email protected]:/home/hadoop/hadoop-1.5.1/et/hadoop/

三、启动Hadoop

    3.1   初始化Hadoop (注意:请关闭所有节点防火墙)

切换至 hadoop 用户,进入/home/hadoop/hadoop-2.2.0/bin/下执行命令 hdfs namenode - format  进行初始化

...

初始化完之后会自动在/home/hadoop/hadoop-2.5.1/创建 dfs/name/目录
每次初始化都会对dfs进行操作,一般只要初始化一次就可以了,因为如果dfs里面有数据的话会把它给弄丢的

   

 3.2   启动Hadoop (用 Hadoop 用户执行)注意:请关闭所有节点防火墙)

        切换至/home/hadoop/hadoop-2.5.1/sbin/目录下:
     3.2.1        执行脚本 ./start-dfs.sh
                  此时master 上会产生:(两个进程)

Slave 节点上会产:(DataNode进程)  且dfs密钥同步到slave节点上

3.2.2         执行脚本 ./start-yarn.sh  (产生一个进程ResourceManager

                slave节点产生NodeManger进程

四、测试

访问网页: http://10.10.55.112:8088

访问网页:http://10.10.55.112:50070

至此,hadoop 已经启动

关于 hadoop  的启动和关闭:

在/home/hadoop/hadoop-2.5.1/bin 下

hdfs 命令  用来初始化

hdfs namenode -format

在/home/hadoop/hadoop-2.5.1/sbin  下

启动

start-dfs.sh    #Start hadoop dfs daemons

start-yarn.sh   #Start all yarn daemons.   Run this on master node

关闭

stop-dfs.sh

stop-yarn.sh

另外:

start-all.sh  脚本包含  start-dfs.sh 和 start -yarn.sh  两个脚本  所以启动时可以直接执行此脚本

stop-all.sh  关闭  同理

=========================================================================================

常见问题

1、   slave节点DataNode 无法启动

  1. 搭建了很多次,这个问题每次都出现,所以总结了一下:
  2. 防火墙没关                                                            解决办法:你懂得
  3. 所有节点 hosts  链表不统一,或有错误           解决办法:你懂得
  4. 查看节点日志提示namenode.rpc-address is not configured.发现node1没复制过去core-site.xml文件
  5. 因为多次 format namenode  造成 namenode  和 datanode 的 clusterID 不一致

解决方法:

方法一:更改 slave Cluster ID  与 master 相同

修改每一个 datanode 上面的 CID(位于 dfs/data/current/VERSION 文件夹中) 使两  者一致

方法二:删除所有节点/home/hadoop/hadoop-2.5.1/dfs/data/下  curren 目录  然后  重新 start-dfs.sh  即可

时间: 2024-11-09 19:17:39

Hadoop-2.5.1 编译安装步骤的相关文章

Ubuntu安装 Alisql编译安装步骤:

github地址: https://github.com/alibaba/AliSQL 一.直接git下载保存到本地: git clone https://github.com/alibaba/AliSQL.git 二.安装依赖 apt-get install gcc build-essential cmake autoconf libncurses5-dev perl bison 说明: centos里面 build-essental换成 gcc-c++, libncurses5-dev换成n

mysql5.6.25编译安装步骤(这是我复制别人的,方便查看)

原文地址:https://www.cnblogs.com/netsa/p/7088494.html 简略步骤: mysql5.6.25编译安装步骤: 下载mysql准备用户和组yum安装依赖解压mysqlcmake编译mysqlmake && make install ----时间约10分钟mysql安装目录权限设置数据库初始化拷贝配置文件root密码重置,原来是没密码的远程账户授权设置服务启动和开机启动  ======实战==============================#安装

Linux运维 第四阶段 (一) myql基本概念及编译安装步骤

一.相关基础概念: 1.  文件存储:数据冗余和不一致性:数据访问困难:数据孤立:完整性问题:原子性问题:并发访问异常:安全性. 2.  DBMS(DataBase Management System)功能:数据管理的独立性:有效地完成数据存取:数据完整性.安全性:数据集中管理:并发存储.数据恢复:减少应用程序开发周期. 3.  RDBMS(Relational DBMS):数据库和表的创建.删除.修改:索引的创建.删除:用户和权限的管理:数据的增删改查等. 4.  DML(Data Manap

lnmp-详细编译安装步骤

CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14 一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2.安装iptables防火墙 yum ins

MySQL 5.6 编译安装步骤

1.安装编译依赖 yum install -y libaio libaio-devel cmake ncurses-devel perl 2.编译安装 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE

hadoop伪分布安装步骤

2.hadoop的伪分布的安装步骤: 1.1设置静态IP 在centos桌面右上角图标,右键修改 重启网卡,执行命令service network restart 验证:ifconfig 1.2 修改主机名 <1> 修改当前会话中的主机名,执行命令hostname hadoop <2> 修改配置文件中的主机名,执行命令 vi /etc/sysconfig/network 验证:重启机器 1.3 把hostname和ip绑定 执行命令 vi /etc/hosts 增加一行192.16

mysql 5.6.41编译安装详细步骤

转自:https://www.cnblogs.com/netsa/p/7088494.html 简略步骤: mysql5.6.41编译安装步骤: 下载mysql准备用户和组yum安装依赖解压mysqlcmake编译mysqlmake && make install ----时间约10分钟mysql安装目录权限设置数据库初始化拷贝配置文件root密码重置,原来是没密码的远程账户授权设置服务启动和开机启动 ======实战============================== 1 #安装

Centos 6.5编译安装git 2.9.3

记录一下: 开发需求,需要安装新版git,Centos6.5 yum安装最新的是1.7.1,只能通过编译安装 步骤: 1.下载新版的git 地址:https://github.com/git/git/releases,选择 git-2.9.3.tar.gz,下载即可 2.安装依赖包 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel 3.解压,编译安装(root用户下) $ tar -zxf git-

httpd2.4在CentOS 6 上编译安装

httpd-2.4 新特性: 1.MPM支持运行为DSO机制,以模块形式按需加载 2.Event MPM生产环境可用 3.支持异步读写机制 4.支持每模块每目录的日志级别定义 5.每请求相关专用配置 6.增强版表达式分析器 7.毫秒级连接时长 8.基于FQDN的虚拟机不在需要NameVirtualHost指令 9.新指令,AllowOverrideList 10.支持用户自定义变量使用 11.更低的内存消耗 httpd-2.4 新模块:     1.mod_proxy_fcgi   支持php