Hadoop 2.6.0-cdh5.4.0集群环境搭建和Apache-Hive、Sqoop的安装
搭建此环境主要用来hadoop的学习,因此我们的操作直接在root用户下,不涉及HA。
Software:
Hadoop 2.6.0-cdh5.4.0
Apache-hive-2.1.0-bin
Sqoop-1.4.6-cdh5.5.2
JDK1.7.0_79
集群信息:
一个主节点,2个从节点。
192.168.75.128 master
192.168.75.129 slave01
192.168.75.130 slave02
搭建步骤:
搭建步骤不详细化,主要把相关的hadoop的配置和关键操作写出来。
修改主机名
vim /etc/sysconfig/network(永久修改)
修改主机名IP映射
vim /etc/hosts
这里要注意IP在前面,主机名在后面,由于我颠倒位置,导致了主机名和IP无法进行映射。
SSH免密码登陆
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
将每个节点的ssh秘钥互相拷贝到各自的authorized_keys,实现各个节点的免密码登陆。
安装JDK
…
安装Hadoop
这里主要是hadoop的配置文件的修改。
core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
<description>NameNode URI</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/data/hadoop/tmp</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
<description>Allow the superuser oozie to impersonate any members of the group group1 and group2</description>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
<description>The superuser can connect only from host1 and host2 to impersonate a user</description>
</property>
</configuration>
hadoop-env.sh:
主要配置下java的安装路径
# The java implementation to use.
export JAVA_HOME=/data/jdk1.7.0_79
hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///data/hadoop/hadoopdata/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///data/hadoop/hadoopdata/hdfs/datanode</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
mapred-env.sh:
export JAVA_HOME=/data/jdk1.7.0_79
mapred-site.xml:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<description>Execution framework set to Hadoop YARN.</description>
</property>
</configuration>
slaves:
配置从节点都是哪些。
slave01
slave02
yarn-env.sh:
主要也是对java的安装路径进行修改。
# some Java parameters
export JAVA_HOME=/data/jdk1.7.0_79
yarn-site.xml:
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
<description>Shuffle service that needs to be set for Map Reduce applications.</description>
</property>
</configuration>
配置完成之后,我们需要做的事情是:
- 配置hadoop和jdk的环境变量在/etc/profile文件里
- 将jdk、hadoop和/etc/profile配置文件通过scp命令分发到各个节点上,命令格式如下:
scp -r hadoop/ root@slave01:/data
通过source /etc/profile 使环境变量立即生效!
由于hadoop的节点之间需要通信(RPC机制),这样一来就需要监听对应的端口,这里我就直接将防火墙关闭了,命令如下:
chkconfig iptables off
格式化namenode:
首次启动需要格式化节点:
hadoop namenode –format
启动hadoop:
./start-all.sh
hadoop安装成功后,我们可以通过访问:http://master:8088/cluster和http://master:50070/dfshealth.html#tab-overview查看到下面的关于hadoop的信息。
从上图我们可以看到集群的总内存大小、CPU的总核数、以及活着的总节点数。
datanode的信息:
In Service表示datanode节点正在服务中。
Hadoop集群安装完毕!
安装Hive
hive只需要在主节点安装一个就好了。它主要是将SQL解析为MR任务。
将hive安装包解压之后,主要对配置文件做下修改。
hive-env.sh:
# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=/data/hadoop/
# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/data/apache-hive-2.1.0-bin/conf
#Folder containing extra ibraries required for hive #compilation/execution can be controlled by:
export HIVE_AUX_JARS_PATH=/data/apache-hive-2.1.0-bin/lib
hive-site.xml:
主要对存储hive元数据信息的库-mysql的连接信息做配置。
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>hive安装节点的IP</value>
</property>
<property>
<name>datanucleus.readOnlyDatastore</name>
<value>false</value>
</property>
<property>
<name>datanucleus.fixedDatastore</name>
<value>false</value>
</property>
<property>
<name>datanucleus.autoCreateSchema</name>
<value>true</value>
</property>
<property>
<name>datanucleus.autoCreateTables</name>
<value>true</value>
</property>
<property>
<name>datanucleus.autoCreateColumns</name>
<value>true</value>
</property>
<property>
<name>hive.exec.dynamic.partition.mode</name>
<value>nonstrict</value>
</property>
</configuration>
记得将mysql驱动包扔到hive的lib里。
因为hive的元数据是存在mysql里,所以需要事先安装mysql环境。
安装的时候,主要这几个命令会经常用到:
#连接mysql数据库
#设置密码
use mysql;
update user set password=password('密码') where user='root';
flush privileges;
#设置Mysql远程访问
grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;
最后配置下hive的环境变量:
export HIVE_HOME=/data/apache-hive-2.1.0-bin/
export PATH=${HIVE_HOME}/bin:$PATH
安装Sqoop
Sqoop主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
安装
将sqoop安装包解压
sqoop配置文件修改:
#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/data/hadoop/
#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/data/hadoop/
#set the path to where bin/hbase is available
#export HBASE_HOME=/home/hadoop/software/hbase
#Set the path to where bin/hive is available
export HIVE_HOME=/data/apache-hive-2.1.0-bin/
#Set the path for where zookeper config dir is
#export ZOOCFGDIR=/home/hadoop/software/zookeeper
配置Sqoop的环境变量:
export SQOOP_HOME=/data/sqoop/
export PATH=${SQOOP_HOME}/bin:$PATH
sqoop导数据命令:
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的安装的更多相关文章
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十二)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网。
Centos7出现异常:Failed to start LSB: Bring up/down networking. 按照<Kafka:ZK+Kafka+Spark Streaming集群环境搭 ...
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十)安装hadoop2.9.0搭建HA
如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(九)安装kafka_2.11-1.1.0
如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二)安装hadoop2.9.0
如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...
- Hadoop+Spark:集群环境搭建
环境准备: 在虚拟机下,大家三台Linux ubuntu 14.04 server x64 系统(下载地址:http://releases.ubuntu.com/14.04.2/ubuntu-14.0 ...
- hadoop集群环境搭建之安装配置hadoop集群
在安装hadoop集群之前,需要先进行zookeeper的安装,请参照hadoop集群环境搭建之zookeeper集群的安装部署 1 将hadoop安装包解压到 /itcast/ (如果没有这个目录 ...
- hadoop集群环境搭建准备工作
一定要注意hadoop和linux系统的位数一定要相同,就是说如果hadoop是32位的,linux系统也一定要安装32位的. 准备工作: 1 首先在VMware中建立6台虚拟机(配置默认即可).这是 ...
- Hadoop集群环境搭建步骤说明
Hadoop集群环境搭建是很多学习hadoop学习者或者是使用者都必然要面对的一个问题,网上关于hadoop集群环境搭建的博文教程也蛮多的.对于玩hadoop的高手来说肯定没有什么问题,甚至可以说事“ ...
- Hadoop完全分布式集群环境搭建
1. 在Apache官网下载Hadoop 下载地址:http://hadoop.apache.org/releases.html 选择对应版本的二进制文件进行下载 2.解压配置 以hadoop-2.6 ...
随机推荐
- cookie session区别
先理解为什么出现cookie和session: 为了使得网站可以跟踪客户端与服务器之间的交互,保存和记忆每个用户的身份和信息,我们需要一种强有力的解决方案,这样就产生了会话控制. 会话控制思想就是 ...
- JVM性能监控与故障处理命令汇总(jps、jstat、jinfo、jmap、jhat、jstack)
给一个系统定位问题的时候,知识.经验是关键基础,数据是依据,工具才是运用知识处理数据的手段 使用适当的虚拟机监控和分析的工具可以加快我们分析数据.定位解决问题的速度,本文主要介绍了几款服 务器上常用的 ...
- Python print 输出到控制台 丢数据
import xlrd import sys,time data = xlrd.open_workbook("C:\Users\Administrator\Desktop\\new1.xls ...
- ubuntu17 安装中文输入法
在此说的是intelligent pinyin.我首先尝试的是搜狗输入法,虽然最终安装成功了,但还是直接卸载了.因为它不仅需要fcitx框架,在安装成功后,标题栏上面还会出现两个输入法图标.真正不能让 ...
- CodeForces - 727E Games on a CD 字符串Hash
题意:有n个单词,每个单词长度为k,顺时针将它们写成一个圆圈串.现在知道g个长度为k的单词,是否可以从这g个单词中选择n个形成这个圆圈串?如果有多个答案,任意输出一个. 思路 可以发现,如果枚举第一个 ...
- POJ - 3984 bfs [kuangbin带你飞]专题一
bfs搜索过程中将路径保存下即可. AC代码 #include<cstdio> #include<cstring> #include<algorithm> #inc ...
- SQL2005查询死锁的表和具体的语句
查是哪个进程死锁了哪些表 select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName fro ...
- Linux CentOS安装配置MySQL数据库
没什么好说的,直接正面刚吧. 安装mysql数据库 a)下载mysql源安装包:wget http://dev.mysql.com/get/mysql57-community-release-el7- ...
- android的Findbugs问题整理
1. 对字符串不相等的判断 错误 if (chapterInfo.getPayMode() != String.valueOf(com.shuqi.base.common.Constant.PAYMO ...
- dojo单柱状图
dojo单柱状图 1.dojo单柱状图源码 column.html: <!DOCTYPE HTML> <html lang="en"> <head&g ...