Hadoop2.7.2 Apache版本安装及Hbase1.2.1安装简要教程

1 篇文章 0 订阅
1 篇文章 0 订阅

Centos 6 安装Hadoop

修改Centos 6的机器名称

vi /etc/sysconfig/network

远程复制文件

scp authorized_keys root@192.168.3.101:~/.ssh/
scp known_hosts root@192.168.3.101:~/.ssh/

设置自己电脑上的Java安装路径(注:环境变量中间不能有空格)

    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.91-0.b14.el7_2.x86_64
    export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$PATH:$JAVA_HOME/bin

设置主hadoop配置文件

vi /home/hadoop/etc/hadoop/core-site.xml
    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://192.168.5.100:9000</value>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>file:/home/hadoop/tmp</value>
        </property>
        <property>
            <name>io.file.buffer.size</name>
            <value>131702</value>
        </property>
    </configuration>

配置hdfs的信息和

vi /home/hadoop/etc/hadoop/hdfs-site.xml

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

配置mapreduce

vi /home/hadoop/etc/hadoop/mapred-site.xml

    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
        <property>
            <name>mapreduce.jobhistory.address</name>
            <value>192.168.3.100:10020</value>
        </property>
        <property>
            <name>mapreduce.jobhistory.webapp.address</name>
            <value>192.168.3.100:19888</value>
        </property>
    </configuration>

配置yarn

vi /home/hadoop/etc/hadoop/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>192.168.3.100:8032</value>
        </property>
        <property>
            <name>yarn.resourcemanager.scheduler.address</name>
            <value>192.168.3.100:8030</value>
        </property>
        <property>
            <name>yarn.resourcemanager.resource-tracker.address</name>
            <value>192.168.3.100:8031</value>
        </property>
        <property>
            <name>yarn.resourcemanager.admin.address</name>
            <value>192.168.3.100:8033</value>
        </property>
        <property>
            <name>yarn.resourcemanager.webapp.address</name>
            <value>192.168.3.100:8088</value>
        </property>
        <property>
            <name>yarn.nodemanager.resource.memory-mb</name>
            <value>1024</value>
        </property>
    </configuration>

配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下hadoop-env.sh、yarn-env.sh的JAVA_HOME,不设置的话,启动不了,

    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.91-0.b14.el7_2.x86_64

vi /home/hadoop/etc/hadoop/hadoop-env.sh
vi /home/hadoop/etc/hadoop/yarn-env.sh

配置子节点IP删除默认的localhost,增加2个从节点,

vi /home/hadoop/etc/hadoop/slaves
192.168.5.101
192.168.5.102

将配置好的Hadoop复制到各个节点对应位置上,通过scp传送,

scp -r /home/hadoop 192.168.3.101:/home/
scp -r /home/hadoop 192.168.3.102:/home/

在Master服务器启动hadoop,从节点会自动启动,进入/home/hadoop/hadoop-2.7.0目录

(1)初始化,输入命令,bin/hdfs namenode -format
(2)全部启动sbin/start-all.sh,也可以分开sbin/start-dfs.sh、sbin/start-yarn.sh
(3)停止的话,输入命令,sbin/stop-all.sh
(4)输入命令,jps,可以看到相关信息

Web访问,要先开放端口或者直接关闭防火墙

(1)输入命令,systemctl stop firewalld.service
(2)浏览器打开http://192.168.3.100:8088/
(3)浏览器打开http://192.168.3.100:50070/

安装完成。这只是大数据应用的开始,之后的工作就是,结合自己的情况,编写程序调用Hadoop的接口,发挥hdfs、mapreduce的作用。

通过hdfs文件系统上传文件

./hadoop fs -put /home/hadoop/etc/hadoop/*.xml /wc/input/

配置环境变量后的添加文件的方法 2.7.2的使用,及命令

hdfs dfs -put /home/hadoop/etc/hadoop/hadoop-env.sh /wc/input

datanode正常启动了,但是,主节点无法看到子节点

解决办法:在/etc/hosts中添加子节点的ip映射

添加任务后 mapreduce作业状态一直是ACCEPTED

从2.7.1后的版本,子节点如果用yarn控制的话,最小的内存要求是1024,小于这个内存,子节点的nodemanager无法启动,希望设置为2048,有可能系统运行时,需要的内存比1024还大
修改一下配置文件
vi /home/hadoop/etc/hadoop/yarn-site.xml
以下的属性

<property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>2048</value>
    </property>

运行示例代码

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /wc/input /wc/testout/

集成安装Hbase 1.2.1

解压 tar -xzvf hbase-1.2.1-bin.tar.gz

查看lib的hadoop的版本的jar包是否与安装hadoop的版本一致,如果不一致,一定要替换为hadoop下的jar包版本

可以用下面的脚本来完成替换
查看当前目录下的文件包含有hadoop的jar
find -name ‘hadoop*jar’
vi f.sh
文件内容如下

            find -name "hadoop*jar" | sed 's/2.5.1/2.7.2/g' | sed 's/\.\///g' > f.log
            rm ./hadoop*jar
            cat ./f.log | while read Line
            do
            find /home/hadoop -name "$Line" | xargs -i cp {} ./
            done
            rm ./f.log

给文件授权,可以执行的权限

chmod u+x f.sh

执行文件

./f.sh

OK,jar 包替换成功;hbase/lib 目录下还有个 slf4j-log4j12-XXX.jar,在机器有装hadoop时,由于classpath中会有hadoop中的这个jar包,会有冲突,直接删除掉

rm slf4j-log4j12-1.7.5.jar

修改配置文件
vi conf/hbase-env.sh

    export JAVA_HOME=/app/java
    export HBASE_CLASSPATH=/home/hadoop/etc/hadoop
    export HBASE_MANAGES_ZK=true 

第一个参数指定了JDK路径;
第二个参数指定了 hadoop 的配置文件路径;
第三个参数设置使用 hbase 默认自带的 Zookeeper

vi conf/hbase-site.xml

    <property>
    <name>hbase.rootdir</name>
    <value>hdfs://node-1:9000/hbase</value>
    </property>
    <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
    </property>
    <property>
    <name>hbase.tmp.dir</name>
    <value>/home/hbase/tmp</value>
    </property>
    <property>
    <name>hbase.zookeeper.quorum</name>
    <value>node-1,node-2,node-3</value>
    </property>
    <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/hbase/zookeeper</value>
    </property>

创建目录

mkdir tmp
mkdir zookeeper

vi conf/regionservers

node-1 
node-2
node-3

设置环境变量
grid@hadoop4 ~]$ vi /etc/profile

export HBASE_HOME=/home/hbase 
export PATH=$PATH:$HBASE_HOME/bin 

[grid@hadoop4 ~]$ source /etc/profile

7.分发 hbase 到其它机器,并在其上设置环境变量
[grid@hadoop4 ~] scpr/home/hbasenode2:/home/[grid@hadoop4 ] scp -r /home/hbase node-3:/home/

8.启动 hbase
[grid@hadoop4 ~]$ sh start-hbase.sh

Hadoop、ZooKeeper和HBase之间应该按照顺序启动和关闭:启动Hadoop—>启动ZooKeeper集群—>启动HBase—>停止HBase—>停止ZooKeeper集
群—>停止Hadoop。
通过以下网址检查hbase是否启动成功
http://192.168.3.100:16010/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值