文章分为四篇,1 是安装 Hadoop, 2 MapReduce日志分析样例,3 安装Hive,4 JDBC连接Hive查询数据.

第一篇 Hadoop安装

Hadoop 安装,网上的例子很多,本人也是根据网上的步骤一步一步的执行,安装完成后,运行WordCount.jar时发现,从hadoop官网下的是32位,没有编译好的64的,于是想自己编译下64位的,本人费尽周折,在公司以及在家的电脑上折腾了好久,编译无法通过,主要的原因是下载所需的jar包的过程中超时,于是网上搜索了编译后的64位的hadoop.

http://download.csdn.net/detail/tianhuimin/874736

这位分享的是能用的,但不是2.7.1,是2.7.0

接下来是枯燥的安装过程...

下面的内容是大部分是转载的,因为大部分配置都差不多,转自 http://www.open-open.com/lib/view/open1435761287778.html


总体思路,准备主从服务器,配置主服务器可以无密码SSH登录从服务器,解压安装JDK,解压安装Hadoop,配置hdfs、mapreduce等主从关系。

1、环境,两台CentOS6.5,64位,在每台的hosts文件中绑定:

master 10.68.128.215
slave1 10.68.128.212



2、SSH免密码登录,因为Hadoop需要通过SSH登录到各个节点进行操作,我用的是root用户,每台服务器都生成公钥,再合并到authorized_keys
(1)CentOS默认没有启动ssh无密登录,去掉/etc/ssh/sshd_config其中2行的注释,每台服务器都要设置,
#RSAAuthentication yes
#PubkeyAuthentication yes
(2)输入命令:
ssh-keygen -t rsa

生成key,都不输入密码,一直回车,/root就会生成.ssh文件夹,每台服务器都要设置,
(3)合并公钥到authorized_keys文件,在master服务器,进入/root/.ssh目录,通过SSH命令合并,
cat id_rsa.pub>> authorized_keys
ssh root@10.68.128.212 cat ~/.ssh/id_rsa.pub>> authorized_keys



(4)把master服务器的authorized_keys、kNown_hosts复制到Slave服务器的/root/.ssh目录
(5)完成,ssh root@10.68.128.212就不需要输入密码了


3、安装JDK,Hadoop2.7需要JDK7,由于我的CentOS是最小化安装,所以没有OpenJDK,直接解压下载的JDK并配置变量即可
(1)下载“jdk-7u79-linux-x64.gz”,放到/usr/local/java/ 目录下
(2)解压,输入命令,tar -zxvf jdk-7u79-linux-x64.gz
(3)编辑/etc/profile
export JAVA_HOME=/usr/local/java/jdk1.7.0_79
export CLAsspATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin 

(4)使配置生效,输入命令
source /etc/profile

(5)输入命令
java -version
显示

[root@master hadoop]# java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02,mixed mode)

就OK了


4、安装Hadoop2.7,只在master服务器解压,再复制到slave服务器
(1)下载“hadoop-2.7.0.tar.gz”,放到/home/hadoop目录下
(2)解压,输入命令
tar -xzvf hadoop-2.7.0.tar.gz


(3)在/home/hadoop目录下创建数据存放的文件夹,tmp、hdfs、hdfs/data、hdfs/name


5、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下的core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://10.68.128.215: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>
    
    <!-- JDBC 连接自定义验证 Hive使用的配置 -->
    <property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
    </property>
    <property>
        <name>hadoop.proxyuser.root.hosts</name>
        <value>*</value>
    </property>
</configuration>




6、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下的hdfs-site.xml
<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/home/hadoop/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/hadoop/dfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>10.68.128.215:9001</value>
    </property>
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
</configuration>




7、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下的mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>10.68.128.215:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>10.68.128.215:19888</value>
    </property>
</configuration>



8、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下的mapred-site.xml

<configuration>
    <property>
        <name>yarn.app.mapreduce.am.resource.mb</name>
        <value>1228</value>
    </property>
    <property>
        <name>yarn.app.mapreduce.am.command-opts</name>
        <value>-Xmx983m</value>
    </property>
    <property>
        <name>mapreduce.map.memory.mb</name>
        <value>1228</value>
    </property>
    <property>
        <name>mapreduce.reduce.memory.mb</name>
        <value>1228</value>
    </property>
    <property>
        <name>mapreduce.map.java.opts</name>
        <value>-Xmx983m</value>
    </property>
    <property>
        <name>mapreduce.reduce.java.opts</name>
        <value>-Xmx983m</value>
    </property>
    <property>
        <name>mapreduce.job.tracker</name>
        <value>hdfs://10.68.128.215:9001</value>
        <final>true</final>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>10.68.128.215:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>10.68.128.215:19888</value>
    </property>
</configuration>



9、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下hadoop-env.sh、yarn-env.sh的JAVA_HOME,不设置的话,启动不了,
export JAVA_HOME=/usr/local/java/jdk1.7.0_79


10、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下的slaves,删除默认的localhost,增加2个从节点,
master
slave1



11、将配置好的Hadoop复制到节点对应位置上,通过scp传送,
scp -r /home/hadoop 10.68.128.212:/home/



12、在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

如果正常,大概是以下信息

[root@master sbin]# ./start-all.sh 
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
Starting namenodes on [master]
master: starting namenode,logging to /home/hadoop/hadoop-2.7.0/logs/hadoop-root-namenode-master.out
master: starting datanode,logging to /home/hadoop/hadoop-2.7.0/logs/hadoop-root-datanode-master.out
slave1: starting datanode,logging to /home/hadoop/hadoop-2.7.0/logs/hadoop-root-datanode-slave1.out
Starting secondary namenodes [master]
master: starting secondarynamenode,logging to /home/hadoop/hadoop-2.7.0/logs/hadoop-root-secondarynamenode-master.out
starting yarn daemons
starting resourcemanager,logging to /home/hadoop/hadoop-2.7.0/logs/yarn-root-resourcemanager-master.out
slave1: starting nodemanager,logging to /home/hadoop/hadoop-2.7.0/logs/yarn-root-nodemanager-slave1.out
master: starting nodemanager,logging to /home/hadoop/hadoop-2.7.0/logs/yarn-root-nodemanager-master.out


(3)停止的话,输入命令,sbin/stop-all.sh
(4)输入命令,jps,可以看到相关信息


13、Web访问,要先开放端口或者直接关闭防火墙
(1)输入命令,service iptables stop
(2)浏览器打开http://10.68.128.215:8088/
(3)浏览器打开http://10.68.128.215:50070/


OK,Hadoop 安装好了. 下一篇,MapReduce示例 :)

Centos6.5 64位 安装Hadoop2.7.0, MapReduce日志分析, Hive2.1.0, JDBC连接Hive查询 (1)的更多相关文章

  1. 使用 Swift语言进行 Hadoop 数据流应用程序开发

    如果您发现了问题,或者希望为改进本文提供意见和建议,请在这里指出.在您开始之前,请参阅目前待解决的问题清单.简介本项目包括两类Hadoop流处理应用程序:映射器mapper和总结器reducer。如上所示,在Hadoop上编写流处理程序是一个很简单的工作,也不需要依赖于特定的软件体系。

  2. spring学习JdbcTemplate数据库事务管理

    这篇文章主要为大家介绍了spring学习JdbcTemplate数据库事务管理,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  3. JDBC获取数据库连接的5种方式实例

    JDBC是一种用于执行SQL语句的JavaAPI,为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成,提供了诸如查询和更新数据库中数据的方法,这篇文章主要给大家介绍了关于JDBC获取数据库连接的5种方式,需要的朋友可以参考下

  4. Mapreduce分布式并行编程

    这篇文章主要为大家介绍了Mapreduce分布式并行编程使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  5. jsp+jdbc实现连接数据库的方法

    这篇文章主要介绍了jsp+jdbc实现连接数据库的方法,较为详细的分析了jsp+jdbc连接数据库的完整技巧,具有一定参考借鉴价值,需要的朋友可以参考下

  6. JSP中使用JDBC连接MySQL数据库的详细步骤

    本文主要介绍了JSP中使用JDBC连接MySQL数据库的详细步骤,对于初学者具有很好的参考价值,需要的朋友一起来看下吧

  7. 一个jdbc 测试程序代码

    一个jdbc测试程序,需要的朋友可以学习下。

  8. Data Source与数据库连接池简介(JDBC简介)

    DataSource是作为DriverManager的替代品而推出的,DataSource 对象是获取连接的首选方法,这篇文章主要介绍了Data Source与数据库连接池简介(JDBC简介),需要的朋友可以参考下

  9. jdbc操作mysql数据库实例

    这篇文章主要介绍了jdbc操作mysql数据库的方法,涉及jsp基于jdbc针对mysql数据库的连接、插入、查询等简单操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下

  10. 一文搞懂Java JDBC中的SQL注入问题

    在用户输入的数据中有SQL关键字或语法,并且关键字或语法参与了SQL语句的编译,导致SQL语句编译后的条件为true,一直得到正确的结果,这种现象就是SQL注入,这篇文章主要介绍了一文搞懂Java JDBC中的SQL注入问题,需要的朋友可以参考下

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部