微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Centos6.5 64位 安装Hadoop2.7.0, MapReduce日志分析, Hive2.1.0, JDBC连接Hive查询 (1)

文章分为四篇,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示例 :)

原文地址:https://www.jb51.cc/centos/381397.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。