centos7 +hadoop2.7.5+hbase1.4.3 安装 (一)

本贴最后更新于 2048 天前,其中的信息可能已经时过境迁

hadoop2.7.2 完全分布式环境搭建

环境准备

我们准备 3 台服务器

192.168.31.216 namenode  主机名:hbase1 =注意namenode对应hbase1
192.168.31.217 datanode1 主机名:hbase2
192.168.31.218 datanode2 主机名:hbase3
  1. 创建 hadoop 用户(3 台操作)

先使用 groupadd hadoop 建立 hadoop 用户组

新建用户,useradd -d /usr/hadoop -g hadoop -m hadoop (新建用户 hadoop 指定用户主目录/usr/hadoop 及所属组 hadoop)
passwd hadoop 设置 hadoop 密码(这里设置密码为 hadoop)

  1. 配置 hadoop 集群中免密码登录(namenode->datanode1,datanode2)
su hadoop
/usr/hadoop/.ssh
ssh-keygen -t rsa
ssh-copy-id hbase1 
ssh-copy-id hbase2 
ssh-copy-id hbase3 
# hbase1,hbase2,hbase3是我的主机名,主机名自己设置的

尝试下是否实现了无密码切换服务器。

  1. 安装好 jdk1.8 版本
    centos7.4 安装卸载 jdk
  • 查看 jdk 安装包
su root
[hadoop@hbase1 hadoop]$ rpm -qa | grep jdk
copy-jdk-configs-2.2-5.el7_4.noarch
java-1.8.0-openjdk-headless-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-accessibility-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-javadoc-zip-1.8.0.161-0.b14.el7_4.noarch
java-1.8.0-openjdk-javadoc-zip-debug-1.8.0.161-0.b14.el7_4.noarch
java-1.8.0-openjdk-headless-debug-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-debug-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-accessibility-debug-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-demo-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-javadoc-1.8.0.161-0.b14.el7_4.noarch
java-1.8.0-openjdk-src-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-javadoc-debug-1.8.0.161-0.b14.el7_4.noarch
java-1.8.0-openjdk-src-debug-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-devel-debug-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-devel-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-demo-debug-1.8.0.161-0.b14.el7_4.x86_64

  • 卸载 jdk
对于如上的每一行输出,都调用rpm -e --nodeps,如:

rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.161-0.b14.el7_4.x86_64

-e 表示卸载

--nodeps 表示不考虑是否有依赖问题,强制卸载

-安装 openjdk

yum install java-1.8.0-openjdk  java-1.8.0-openjdk-devel  #安装openjdk

vim /usr/hadoop/.bash_profile

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
PATH=$PATH:$JAVA_HOME/bin

source /usr/hadoop/.bash_profile
  1. 修改主机名 vim /etc/hostname 分别改为 hbase1,hbase2,hbase3
  2. 修改 hosts vim /etc/hosts
192.168.31.216 hbase1
192.168.31.217 hbase2
192.168.31.218 hbase3

mkdir -p /usr/local/hadoop
chown -R hadoop:hadoop /usr/local/hadoop
  1. 切换 hadoop 用户
cd /usr/local/hadoop

7.上传 hadoop-2.7.5.tar.gz 到/usr/local/hadoop 并解压

tar zxvf hadoop-2.7.5.tar.gz
  1. 配置 hadoop 环境变量,修改 hadoop 用户目录下的.bash_profile 文件
vim /usr/hadoop/.bash_profile
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.5
PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /usr/hadoop/.bash_profile
  1. 修改/usr/local/hadoop/hadoop-2.7.5/etc/hadoop/hadoop-env.sh 文件,修改内容如下:
  • 加入一行 export HADOOP_LOG_DIR=/usr/local/hadoop/logs ,如果不存在该日志路径,创建。
  • 设置 jdk 安装路径 export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk (把配置文件中 jdk 配置去掉注释,并加上路径即可)

修改 hadoop 配置文件

  • core-site.xml
<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop/hadoop-2.7.5/tmp/</value>
        <description> Abase for other temporary directories</description>
        
    </property>

    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hbase1:9000</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>4096</value>
    </property>
</configuration>
  • hdfs-site.xml
<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/usr/local/hadoop/hadoop-2.7.5/dfs/name</value>
    </property>

    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>

    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/usr/local/hadoop/hadoop-2.7.5/dfs/data</value>
    </property>

    <property>
        <name>dfs.chechpoint.dir</name>
        <value>/usr/local/hadoop/hadoop-2.7.5/checkpoint/dfs/cname</value>
    </property>

    <property>
        <name>dfs.http.address</name>
        <value>hbase1:50070</value>
    </property>

    <property>
        <name>dfs.secondary.http.address</name>
        <value>hbase1:50090</value>
    </property>

    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>

    <property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>
</configuration>
  • mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
        <final>true</final>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>hbase1:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hbase1:19888</value>
    </property>
</configuration>
  • yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>hbase1:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>hbase1:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>hbase1:8031</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>hbase1:8033</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>hbase1:8088</value>
    </property>
</configuration>

配置 slaves

vim etc/hadoop/slaves
hbase1
hbase2
hbase3

在 hbase2,hbase3 上分别修改配置文件

启动之前需要格式化

启动之前,在 namenode 服务器上先格式化,只需格式化一次就好了

hadoop namenode -format

启动 hadoop

start-dfs.sh
start-yarn.sh

这就大功告成了

  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖 • 2 关注
  • Hadoop

    Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    82 引用 • 122 回帖 • 614 关注
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 44 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...