环境

本文介绍Hadoop、Hbase的伪分布式安装。

  • 操作系统: Centos7
  • Hadoop: 2.7.3
  • Hbase: 1.2.3

Hadoop安装

JAVA_HOME环境变量配置

由于Hbase是基于HDFS的,所以我们首先部署Hadoop。

下载jdk7和hadoop-2.7.3

cd hadoop-2.7.3/etc/hadoop
vim hadoop-env.sh

打开文件后,搜索这一行

export JAVA_HOME

因为默认是使用系统JAVA_HOME,所以要修改成我们下载的jdk,以笔者的环境为例:

export JAVA_HOME=/home/pay/soft/java/jre

设置完以后,运行如下命令

bin/hadoop

如果出现usage文档,即配置成功。

HDFS配置

etc/hadoop/core-site.xml<configuration>标签内做如下配置:

<property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
</property>

接着在etc/hadoop/hdfs-site.xml<configuration>标签内做如下配置:

<property>
        <name>dfs.replication</name>
        <value>1</value>
</property>
<!-- Hadoop 的Web UI端口配置 -->
<property>
        <name>dfs.http.address</name>
        <value>0.0.0.0:8777</value>
</property>

<property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>

默认的Hadoop的Web UI端口是50070,若你的机器做了端口限制,可以配置dfs.http.address的新的值,从而可以从浏览器访问Web UI。

配置SSH的免key登陆

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

由于Hadoop节点之间通过SSH通信,为了避免连接过程中人工输入密码,所以要配置SSH的免key登陆,由于本文讲得是伪分布式,因此只需要对本机localhost免key登陆即可。

完成以上命令以后,输入以下命令,若不需要输入密码,则说明配置。

ssh localhost

运行

对文件系统格式化:

bin/hdfs namenode -format

起文件系统:

sbin/start-dfs.sh

检查HDFS是否起了,输入jps,看控制台输出

7923 Jps
15782 NodeManager
22139 DataNode
22683 SecondaryNameNode
21842 NameNode
25072 -- process information unavailable
15380 ResourceManager

DataNodeNameNodeSecondaryNameNodeNodeManagerResourceManager这几个进程都起来了,则说明HDFS部署成功。

再访问WEB UI界面,输入http://yourUrl:8777/,yourUrl服务器的地址,浏览器会出现如下界面:

alt text

在HDFS中创建文件夹,并将文件上传到HDFS:

bin/hadoop fs -mkdir /usr
bin/hadoop fs -mkdir /usr/test
./hadoop fs -put /home/pin/hadoop-2.7.3/etc/hadoop/hdfs-site.xml /usr/test

YARN监控任务

etc/hadoop/mapred-site.xml如下配置:

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
</configuration>

再对etc/hadoop/mapred-site.xml做如下配置:

<configuration>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
</configuration>

配置完以后,执行脚本起YARN服务:

sbin/start-yarn.sh

用浏览器访问http://yourUrl:8088即可看到资源和节点的管理信息。如下:

alt text

运行示例程序

运行如下命令:

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar grep /usr/test /usr/output 'dfs[a-z.]+'

示例程序运行一个正则统计程序,我们可以通过访问http://yourUrl:8088来观察job的运行情况,job结束以后,我们输入以下命令:

>> bin/hadoop fs -cat /usr/output/*

1    dfs.replication
1    dfs.namenode.name.dir
1    dfs.http.address
1    dfs.datanode.data.dir

以上即被正则统计到的字符串以及出现的次数。

至此,Hadoop的安装完成。

Hbase安装

解压Hbase的安装包,修改conf/hbase-env.sh文件,如下:

export JAVA_HOME=/home/pay/soft/java
export HBASE_CLASSPATH=/home/pay/pin/hbase-1.2.3/conf
export HBASE_MANAGES_ZK=true

再修改conf/hbase-site.xml文件,如下:

<configuration>
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://localhost:9000/hbase</value>
        </property>
        <!-- Hbase的web UI端口 -->
        <property>
                <name>hbase.master.info.port</name>
                <value>8171</value>
        </property>
</configuration>

启动Hbase:

./bin/start-hbase.sh

在HDFS上查看Hbase文件,如下则创建成功

>> hadoop fs -ls /hbase

drwxr-xr-x   - root supergroup          0 2017-11-13 15:41 /hbase/.tmp
drwxr-xr-x   - root supergroup          0 2017-11-13 15:41 /hbase/MasterProcWALs
drwxr-xr-x   - root supergroup          0 2017-11-13 15:42 /hbase/WALs
drwxr-xr-x   - root supergroup          0 2017-11-13 15:56 /hbase/archive
drwxr-xr-x   - root supergroup          0 2017-11-13 15:22 /hbase/data
-rw-r--r--   3 root supergroup         42 2017-11-13 15:22 /hbase/hbase.id
-rw-r--r--   3 root supergroup          7 2017-11-13 15:22 /hbase/hbase.version
drwxr-xr-x   - root supergroup          0 2017-11-13 16:30 /hbase/oldWALs

输入jps命令,查看进程

27137 HRegionServer
15782 NodeManager
22139 DataNode
22683 SecondaryNameNode
26844 HQuorumPeer
21842 NameNode
25072 -- process information unavailable
27607 Jps
15380 ResourceManager
26959 HMaster

若输出以上的信息,则说明Hadoop和Hbase都创建成功。

以上。

原文链接

https://segmentfault.com/a/11...


扑火的蛾
272 声望30 粉丝

与世界分享你的装逼经验。


引用和评论

0 条评论