搭建此环境主要用来hadoop的学习,因此我们的操作直接在root用户下,不涉及HA。

Software:

  1. Hadoop 2.6.0-cdh5.4.0
  2. Apache-hive-2.1.0-bin
  3. Sqoop-1.4.6-cdh5.5.2
  4. JDK1.7.0_79

集群信息:

一个主节点,2个从节点。

  1. 192.168.75.128 master
  2. 192.168.75.129 slave01
  3. 192.168.75.130 slave02

搭建步骤:

搭建步骤不详细化,主要把相关的hadoop的配置和关键操作写出来。

修改主机名

vim /etc/sysconfig/network(永久修改)

修改主机名IP映射

vim /etc/hosts

这里要注意IP在前面,主机名在后面,由于我颠倒位置,导致了主机名和IP无法进行映射。

SSH免密码登陆

  1. ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
  2. cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

将每个节点的ssh秘钥互相拷贝到各自的authorized_keys,实现各个节点的免密码登陆。

安装JDK

安装Hadoop

这里主要是hadoop的配置文件的修改。

core-site.xml:

  1. <configuration>
  2. <property>
  3. <name>fs.defaultFS</name>
  4. <value>hdfs://master:9000</value>
  5. <description>NameNode URI</description>
  6. </property>
  7. <property>
  8. <name>hadoop.tmp.dir</name>
  9. <value>/data/hadoop/tmp</value>
  10. </property>
  11. <property>
  12. <name>hadoop.proxyuser.root.groups</name>
  13. <value>*</value>
  14. <description>Allow the superuser oozie to impersonate any members of the group group1 and group2</description>
  15. </property>
  16. <property>
  17. <name>hadoop.proxyuser.root.hosts</name>
  18. <value>*</value>
  19. <description>The superuser can connect only from host1 and host2 to impersonate a user</description>
  20. </property>
  21. </configuration>

hadoop-env.sh:

主要配置下java的安装路径

  1. # The java implementation to use.
  2. export JAVA_HOME=/data/jdk1.7.0_79

hdfs-site.xml:

  1. <configuration>
  2. <property>
  3. <name>dfs.replication</name>
  4. <value>2</value>
  5. </property>
  6. <property>
  7. <name>dfs.namenode.name.dir</name>
  8. <value>file:///data/hadoop/hadoopdata/hdfs/namenode</value>
  9. </property>
  10. <property>
  11. <name>dfs.datanode.data.dir</name>
  12. <value>file:///data/hadoop/hadoopdata/hdfs/datanode</value>
  13. </property>
  14. <property>
  15. <name>dfs.namenode.secondary.http-address</name>
  16. <value>master:50090</value>
  17. </property>
  18. <property>
  19. <name>dfs.permissions</name>
  20. <value>false</value>
  21. </property>
  22. </configuration>

mapred-env.sh:

export JAVA_HOME=/data/jdk1.7.0_79

mapred-site.xml:

  1. <configuration>
  2. <property>
  3. <name>mapreduce.framework.name</name>
  4. <value>yarn</value>
  5. <description>Execution framework set to Hadoop YARN.</description>
  6. </property>
  7. </configuration>

slaves:

配置从节点都是哪些。

  1. slave01
  2. slave02

yarn-env.sh:

主要也是对java的安装路径进行修改。

  1. # some Java parameters
  2. export JAVA_HOME=/data/jdk1.7.0_79

yarn-site.xml:

  1. <configuration>
  2. <!-- Site specific YARN configuration properties -->
  3. <property>
  4. <name>yarn.resourcemanager.hostname</name>
  5. <value>master</value>
  6. </property>
  7. <property>
  8. <name>yarn.nodemanager.aux-services</name>
  9. <value>mapreduce_shuffle</value>
  10. <description>Shuffle service that needs to be set for Map Reduce applications.</description>
  11. </property>
  12. </configuration>

配置完成之后,我们需要做的事情是:

  • 配置hadoop和jdk的环境变量在/etc/profile文件里
  • 将jdk、hadoop和/etc/profile配置文件通过scp命令分发到各个节点上,命令格式如下:
  1. scp -r hadoop/ root@slave01:/data

通过source /etc/profile 使环境变量立即生效!

由于hadoop的节点之间需要通信(RPC机制),这样一来就需要监听对应的端口,这里我就直接将防火墙关闭了,命令如下:

  1. chkconfig iptables off

格式化namenode:

首次启动需要格式化节点:

  1. hadoop namenode format

启动hadoop:

  1. ./start-all.sh

hadoop安装成功后,我们可以通过访问:http://master:8088/clusterhttp://master:50070/dfshealth.html#tab-overview查看到下面的关于hadoop的信息。



从上图我们可以看到集群的总内存大小、CPU的总核数、以及活着的总节点数。

datanode的信息:

In Service表示datanode节点正在服务中。

Hadoop集群安装完毕!

安装Hive

hive只需要在主节点安装一个就好了。它主要是将SQL解析为MR任务。

将hive安装包解压之后,主要对配置文件做下修改。

hive-env.sh:

  1. # Set HADOOP_HOME to point to a specific hadoop install directory
  2. HADOOP_HOME=/data/hadoop/
  3. # Hive Configuration Directory can be controlled by:
  4. export HIVE_CONF_DIR=/data/apache-hive-2.1.0-bin/conf
  5. #Folder containing extra ibraries required for hive #compilation/execution can be controlled by:
  6. export HIVE_AUX_JARS_PATH=/data/apache-hive-2.1.0-bin/lib

hive-site.xml:

主要对存储hive元数据信息的库-mysql的连接信息做配置。

  1. <configuration>
  2. <property>
  3. <name>javax.jdo.option.ConnectionURL</name>
  4. <value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8</value>
  5. <description>JDBC connect string for a JDBC metastore</description>
  6. </property>
  7. <property>
  8. <name>javax.jdo.option.ConnectionDriverName</name>
  9. <value>com.mysql.jdbc.Driver</value>
  10. <description>Driver class name for a JDBC metastore</description>
  11. </property>
  12. <property>
  13. <name>javax.jdo.option.ConnectionUserName</name>
  14. <value>root</value>
  15. <description>username to use against metastore database</description>
  16. </property>
  17. <property>
  18. <name>javax.jdo.option.ConnectionPassword</name>
  19. <value>123456</value>
  20. <description>password to use against metastore database</description>
  21. </property>
  22. <property>
  23. <name>hive.server2.thrift.port</name>
  24. <value>10000</value>
  25. </property>
  26. <property>
  27. <name>hive.server2.thrift.bind.host</name>
  28. <value>hive安装节点的IP</value>
  29. </property>
  30. <property>
  31. <name>datanucleus.readOnlyDatastore</name>
  32. <value>false</value>
  33. </property>
  34. <property>
  35. <name>datanucleus.fixedDatastore</name>
  36. <value>false</value>
  37. </property>
  38. <property>
  39. <name>datanucleus.autoCreateSchema</name>
  40. <value>true</value>
  41. </property>
  42. <property>
  43. <name>datanucleus.autoCreateTables</name>
  44. <value>true</value>
  45. </property>
  46. <property>
  47. <name>datanucleus.autoCreateColumns</name>
  48. <value>true</value>
  49. </property>
  50. <property>
  51. <name>hive.exec.dynamic.partition.mode</name>
  52. <value>nonstrict</value>
  53. </property>
  54. </configuration>

记得将mysql驱动包扔到hive的lib里。

因为hive的元数据是存在mysql里,所以需要事先安装mysql环境。

安装的时候,主要这几个命令会经常用到:

  1. #连接mysql数据库
  2. #设置密码
  3. use mysql;
  4. update user set password=password('密码') where user='root';
  5. flush privileges;
  6. #设置Mysql远程访问
  7. grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;

最后配置下hive的环境变量:

  1. export HIVE_HOME=/data/apache-hive-2.1.0-bin/
  2. export PATH=${HIVE_HOME}/bin:$PATH

安装Sqoop

Sqoop主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

安装

将sqoop安装包解压

sqoop配置文件修改:

  1. #Set path to where bin/hadoop is available
  2. export HADOOP_COMMON_HOME=/data/hadoop/
  3. #Set path to where hadoop-*-core.jar is available
  4. export HADOOP_MAPRED_HOME=/data/hadoop/
  5. #set the path to where bin/hbase is available
  6. #export HBASE_HOME=/home/hadoop/software/hbase
  7. #Set the path to where bin/hive is available
  8. export HIVE_HOME=/data/apache-hive-2.1.0-bin/
  9. #Set the path for where zookeper config dir is
  10. #export ZOOCFGDIR=/home/hadoop/software/zookeeper

配置Sqoop的环境变量:

  1. export SQOOP_HOME=/data/sqoop/
  2. export PATH=${SQOOP_HOME}/bin:$PATH

sqoop导数据命令:

  1. sqoop import -m 1 --connect jdbc:mysql://master:3306/test --username root --password 123456 --table test --target-dir /data/test

sqoop导数据成功的信息:

至此,hadoop集群、Hive和Sqoop的安装就完成了!

Hadoop 2.6.0-cdh5.4.0集群环境搭建和Apache-Hive、Sqoop的安装的更多相关文章

  1. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十二)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网。

    Centos7出现异常:Failed to start LSB: Bring up/down networking. 按照<Kafka:ZK+Kafka+Spark Streaming集群环境搭 ...

  2. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十)安装hadoop2.9.0搭建HA

    如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...

  3. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(九)安装kafka_2.11-1.1.0

    如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...

  4. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二)安装hadoop2.9.0

    如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...

  5. Hadoop+Spark:集群环境搭建

    环境准备: 在虚拟机下,大家三台Linux ubuntu 14.04 server x64 系统(下载地址:http://releases.ubuntu.com/14.04.2/ubuntu-14.0 ...

  6. hadoop集群环境搭建之安装配置hadoop集群

    在安装hadoop集群之前,需要先进行zookeeper的安装,请参照hadoop集群环境搭建之zookeeper集群的安装部署 1 将hadoop安装包解压到 /itcast/  (如果没有这个目录 ...

  7. hadoop集群环境搭建准备工作

    一定要注意hadoop和linux系统的位数一定要相同,就是说如果hadoop是32位的,linux系统也一定要安装32位的. 准备工作: 1 首先在VMware中建立6台虚拟机(配置默认即可).这是 ...

  8. Hadoop集群环境搭建步骤说明

    Hadoop集群环境搭建是很多学习hadoop学习者或者是使用者都必然要面对的一个问题,网上关于hadoop集群环境搭建的博文教程也蛮多的.对于玩hadoop的高手来说肯定没有什么问题,甚至可以说事“ ...

  9. Hadoop完全分布式集群环境搭建

    1. 在Apache官网下载Hadoop 下载地址:http://hadoop.apache.org/releases.html 选择对应版本的二进制文件进行下载 2.解压配置 以hadoop-2.6 ...

随机推荐

  1. Mac下使用SSH(密钥)访问Github

    1,终端中输入:cd ~/.ssh 如果出现 -bash: cd: /Users/glamor/.ssh: No such file or directory,说明你之前没有用过.直接执行第二步. 如 ...

  2. RegexKitLite编译报错

    报错如下:  Undefined symbols for architecture i386: "_uregex_open", referenced from: _rkl_getC ...

  3. hihocoder 1054 滑动解锁 dfs

    详细分析见滑动解锁分析 AC代码 #include <cstdio> #include <cmath> #include <cctype> #include < ...

  4. dll和lib(包括静态链接库和与dll同时生成的lib)

    转:http://blog.csdn.net/galaxy_li/article/details/7411956 1:神马是Dll和Lib,神马是静态链接和动态链接 大家都懂的,DLL就是动态链接库, ...

  5. 关于我上传的activiti自定义流程demo的说明

    最近又收到了一些询问activiti的问题,其中好几个都是向我索要我上传的这个activiti自定义流程demo的数据库设计. 索要的多了,而我早就把这个库给删掉了,所以我便觉得有必要做一个说明: 我 ...

  6. python︱模块加载(pip安装)以及pycharm安装与报错解决方式

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 准备放下R开始学python,真是痛苦,因为找 ...

  7. Eviews 9.0新版本新功能——预测(Auto-ARIMA预测、VAR预测)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 9.预测功能 新增需要方法的预测功能:Auto ...

  8. dojo实现省份地市级联报错(一)

  9. dojo中的dojox/grid/EnhancedGrid表格报错

    1.错误截图 2.错误出处 <body class="claro"> <div id="gridContainer"> <span ...

  10. Procedure execution failed 2013 - Lost connection to MySQL server during query

    1 错误描述 Procedure execution failed 2013 - Lost connection to MySQL server during query 2 错误原因 由错误描述可知 ...