博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS7-64bit 编译 Hadoop-2.5.0,并分布式安装
阅读量:7144 次
发布时间:2019-06-29

本文共 8583 字,大约阅读时间需要 28 分钟。

hot3.png

1.系统环境说明

CentOS 7.0 x64 版本

192.168.1.7 master

192.168.1.8 slave
192.168.1.9 slave
192.168.1.10 slave

2.安装前的准备工作

2.1 关闭防火墙

# systemctl status firewalld.service  --查看防火墙状态# systemctl stop firewalld.service    --关闭防火墙# systemctl disable firewalld.service --永久关闭防火墙

2.2 检查ssh安装情况,如果没有则安装ssh

# systemctl status sshd.service  --查看ssh状态# yum install openssh-server openssh-clients

2.3 安装vim

# yum -y install vim

2.4 设置静态ip地址

# vim /etc/sysconfig/network-scripts/ifcfg-eno16777736

BOOTPROTO="static"

ONBOOT="yes"
IPADDR0="192.168.1.7"
PREFIX0="255.255.255.0"
GATEWAY0="192.168.1.1"
DNS1="61.147.37.1"
DNS2="101.226.4.6"

2.5 修改host名称

# vim /etc/sysconfig/network

HOSTNAME=master

# vim /etc/hosts

192.168.1.7   master192.168.1.8   slave1192.168.1.9   slave2192.168.1.10  slave3
# hostnamectl set-hostname master    (CentOS7 下原有的修改host方法无效了)

2.6 创建hadoop用户

# useradd hadoop --创建用户名为hadoop的用户# passwd hadoop  --为用户hadoop设置密码

2.7 配置ssh无密钥登录

-----------下面是在master上面的操作

# su hadoop --切换到hadoop用户$ cd ~      --打开用户文件夹$ ssh-keygen -t rsa -P '' --生成密码对,/home/hadoop/.ssh/id_rsa和/home/hadoop/.ssh/id_rsa.pub$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys        --把id_rsa.pub追加到授权的key里面去$ chmod 600 ~/.ssh/authorized_keys        --修改权限$ su  --切换到root用户# vim /etc/ssh/sshd_config   --修改ssh配置文件 RSAAuthentication yes #启用RSA认证 PubkeyAuthentication yes #启用公钥私钥配对认证方式 AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径# su hadoop --切换到hadoop用户$ scp ~/.ssh/id_rsa.pub hadoop@192.168.1.8:~/                --把公钥复制所有的Slave机器上

----------下面是在slave1上面的操作

 # su hadoop --切换到hadoop用户 $ mkdir ~/.ssh $ chmod 700 ~/.ssh $ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys                --追加到授权文件"authorized_keys" $ chmod 600 ~/.ssh/authorized_keys                          --修改权限 $ su --切换回root用户 # vim /etc/ssh/sshd_config   --修改ssh配置文件  RSAAuthentication yes #启用RSA认证  PubkeyAuthentication yes #启用公钥私钥配对认证方式  AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径

3.安装必须的软件

3.1 安装JDK

# rpm -ivh jdk-7u67-linux-x64.rpm

Preparing...

  ##################################### [100%]

1:jdk

  ##################################### [100%]

Unpacking JAR files...

rt.jar...
jsse.jar...
charsets.jar...
tools.jar...
localedata.jar...

# vim /etc/profile export JAVA_HOME=/usr/java/jdk1.7.0_67  export PATH=$PATH:$JAVA_HOME/bin# source profile --修改生效

3.2 安装其他必须软件

# yum install maven svn ncurses-devel gcc* lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel

3.3 安装ant

# tar zxvf apache-ant-1.9.4-bin.tar.gz# vim /etc/profile export ANT_HOME=/usr/local/apache-ant-1.9.4 export PATH=$PATH:$ANT_HOME/bin

3.4 安装findbugs

# tar zxvf findbugs-3.0.0.tar.gz# vim /etc/profile export FINDBUGS_HOME=/usr/local/findbugs-3.0.0 export PATH=$PATH:$FINDBUGS_HOME/bin

3.5 安装protobuf

# tar zxvf protobuf-2.5.0.tar.gz(必须是2.5.0版本的,不然编译hadoop的时候报错)# cd protobuf-2.5.0# ./configure --prefix=/usr/local# make && make install

4. 编译hadoop源码

# tar zxvf hadoop-2.5.0-src.tar.gz# cd hadoop-2.5.0-src# mvn package -Pdist,native,docs -DskipTests -Dtar

4.1 maven中央仓库的配置(改成oschina,增加访问速度)

# vim /usr/share/mavem/conf/settings.xml
    
        
nexus-osc
        
*
        
Nexus osc
        
http://maven.oschina.net/content/groups/public/
    
    
    
jdk17
    
        
true
        
1.7
    
    
        
1.7
        
1.7
        
1.7
    
            
           
                
nexus
                
local private nexus
                
http://maven.oschina.net/content/groups/public/
                
                    
true
                
                
                    
false
                
            
         
        
            
                
nexus
                
local private nexus
                
http://maven.oschina.net/content/groups/public/
                
                    
true
                
                
                    
false
                
            
         
    

4.2 编译完成之后,目录/usr/hadoop-2.5.0-src/hadoop-dist/target/hadoop-2.5.0

# ./bin/hadoop versionHadoop 2.5.0Subversion Unknown -r UnknownCompiled by root on 2014-09-12T00:47ZCompiled with protoc 2.5.0From source with checksum 423dcd5a752eddd8e45ead6fd5ff9a24This command was run using /usr/hadoop-2.5.0-src/hadoop-dist/target/hadoop-2.5.0/share/hadoop/common/hadoop-common-2.5.0.jar# file lib//native/*lib//native/libhadoop.a:        current ar archivelib//native/libhadooppipes.a:   current ar archivelib//native/libhadoop.so:       symbolic link to `libhadoop.so.1.0.0'lib//native/libhadoop.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0x972b31264a1ce87a12cfbcc331c8355e32d0e774, not strippedlib//native/libhadooputils.a:   current ar archivelib//native/libhdfs.a:          current ar archivelib//native/libhdfs.so:         symbolic link to `libhdfs.so.0.0.0'lib//native/libhdfs.so.0.0.0:   ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0x200ccf97f44d838239db3347ad5ade435b472cfa, not stripped

5. 配置hadoop

5.1 基础操作

# cp -r /usr/hadoop-2.5.0-src/hadoop-dist/target/hadoop-2.5.0 /opt/hadoop-2.5.0# chown -R hadoop:hadoop /opt/hadoop-2.5.0# vi /etc/profile export HADOOP_HOME=/opt/hadoop-2.5.0 export PATH=$PATH:$HADOOP_HOME/bin# su hadoop$ cd /opt/hadoop-2.5.0$ mkdir -p dfs/name$ mkdir -p dfs/data$ mkdir -p tmp$ cd etc/hadoop

5.2 配置所有slave节点

$ vim slavesslave1slave2slave3

5.3 修改hadoop-env.sh和yarn-env.sh

$ vim hadoop-env.sh / vim yarn-env.shexport JAVA_HOME=/usr/java/jdk1.7.0_67

5.4 修改core-site.xml

<configuration>

<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131702</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/opt/hadoop-2.5.0/tmp</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value></value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>
</value>
</property>
</configuration>

5.5 修改hdfs-site.xml

<configuration>

<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop-2.5.0/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop-2.5.0/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>

5.6 修改mapred-site.xml

# cp mapred-site.xml.template mapred-site.xml

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

5.7 配置yarn-site.xml

<configuration>

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

5.8 格式化namenode

$ ./bin/hdfs namenode -format

5.9 启动hdfs

$ ./sbin/start-dfs.sh$ ./sbin/start-yarn.sh

5.10 检查启动情况

http://192.168.1.7:8088http://192.168.1.7:50070

参考 

Hadoop- - 2.2.0 4 64  位源码编译及分布式安装.pdf

转载于:https://my.oschina.net/u/1428349/blog/313646

你可能感兴趣的文章
Win10任务栏假死问题解决方案
查看>>
[UWP]为附加属性和依赖属性自定义代码段(兼容UWP和WPF)
查看>>
mysql到JSP之间数据格式转换
查看>>
Thrift原理分析(一) 基本概念
查看>>
老司机避坑指南:如何快速搞定微服务架构?
查看>>
杨老师课堂之JavaScript案例全选、全不选、及反选
查看>>
开源编辑器 Atom 简化代码审查过程
查看>>
等等!这两个mysql慢查询的坑我已经替你们踩了
查看>>
【Python标准库:fileinput】优雅的读取文件
查看>>
“NO GENDER.NO BORDER.”,无性别服饰品牌“Bosie”获近千万元Pre-A轮融资
查看>>
用Python统计你的简书数据
查看>>
全票通过,百度 Doris 项目进入 Apache 基金会孵化器
查看>>
Retrofit2源码解析——网络调用流程(下)
查看>>
5G时代下的移动边缘计算(MEC)探索系列之二
查看>>
白衣天使要承包你的周末咯!快来3小时公益平台!
查看>>
用GitHub Issue取代多说,是不是很厉害?
查看>>
3 个实例带您了解如何快速迁移旧版的 Windows 应用程序
查看>>
第15天,JavaScript之事件介绍
查看>>
去除mysql 大小写敏感
查看>>
find: 路径必须在表达式之前:
查看>>