环境准备
1.已安装:Centos6.5、hadoop-2.6.0-cdh5.10.0.tar.gz、hbase-1.2.0-cdh5.10.0.tar.gz、jdk-8u144-linux-x64.tar.gz
2.待安装:hive-1.1.0-cdh5.10.0.tar.gz、sqoop-1.4.6-cdh5.10.0.tar.gz
一、Mysql安装
1.在线安装 MySQL
使用 yum 在线安装 mysql:
yum install mysql-server
2.查看 mysql 服务状态
查看 mysql 状态,使用命令
service mysqld status
3.启动 mysql 服务
启动 mysql 服务 ,使用命令
service mysqld start
4.设置 mysql root 用户密码
Mysql 刚刚安装完成,默认 root 用户是没有密码的,登录 mysql 设置root 用户密码。
第一次登陆输入以下命令:
mysql -u root -p
Enter password: 默认没有密码,回车即可。
然后输入:
set password for root@localhost=password('root');
第二次登陆输入以下命令: mysql -u root -p 密码为 root
5.创建 hive 账号
安装 hive 客户端,我们使用 mysql 元数据库,类似与 Hadoop 安装,需要创建新的用户。这里比如创建 hive 用户
create user 'hive' identified by 'hive';
所有远程地址都可以通过 hive 用户访问数据库
grant all on *.* to 'hive'@'%' identified by 'hive';
flush privileges;
可以用以下代码在mysql创建不同的用户
create user 'root'@'hadoop' identified by 'root';
-
‘root’@‘hadoop’ -------> ‘用户名’@‘主机名’
-
by ‘root’-------->root表示密码
查看 mysql 用户表 user
select host ,user,password from mysql.user;
mysql> select host ,user,password from mysql.user;
+-----------+------+-------------------------------------------+
| host | user | password |
+-----------+------+-------------------------------------------+
| hadoop | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| 127.0.0.1 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| hadoop | | |
| hadoop | hive | *4DF1D66463C18D44E3B001A8FB1BBFBEA13E27FC |
| % | hive | *4DF1D66463C18D44E3B001A8FB1BBFBEA13E27FC |
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+-----------+------+-------------------------------------------+
6 rows in set (0.00 sec)
6.创建 hive 数据库
使用 hive 用户登录 mysql
mysql -h hadoop -uhive -p (密码为 hive)
创建数据库 hive
mysql> create database hive;
查看所有数据库
mysql> show databases;
二、Hive安装
1.下载安装包
CDH 版本: http://archive.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.10.0/
这 里 下 载 hive-1.1.0-cdh5.10.0.tar.gz 版 本 的 安 装 包,上传至规划目录
2.解压Hive 安装包
解压命令:
tar -zxvf hive-1.1.0-cdh5.10.0.tar.gz
3.创建软连接创建软连接:
ln -s hive-1.1.0-cdh5.10.0 hive
4.修改配置文件
1)修改 hive-log4j.properties
Hive 安装包解压后只有 hive-log4j.properties.template 模板文件, 需要通过模板拷贝一份 hive-log4j.properties 文件。
mv hive-log4j.properties.template hive-log4j.properties
修改以下内容:
vi hive-log4j.properties
hive.log.dir=/home/chenbo/hadoop/app/hive/logs #目录提前创建
2) 修改 hive-env.sh
Hive 安装包解压后只有 hive-env.sh.template 模板文件,需要通过模板拷贝一份 hive-env.sh 文件。
mv hive-env.sh.template hive-env.sh
修改以下内容:
vi hive-env.sh
# Set HADOOP_HOME to point to a specific hadoop install directory
export HADOOP_HOME=/home/chenbo/app/hadoop
# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/home/chenbo/app/hive-1.1.0/conf
3) 修改 hive-site.xml
CDH 版本的 Hive 安装包解压后并没有 hive-site.xml 文件,可以从Apache 版本中的解压文件获取 hive-default.xml.template 模板文件,然后再拷贝一份 hive-site.xml 文件。
修改以下内容:
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>
</configuration>
5.添加环境变量
# HIVE_HOME
export HIVE_HOME=/home/chenbo/app/hive-1.1.0
export PATH=$HIVE_HOME/bin:$HIVE_HOME/conf:$PATH
让环境变量生效
source /etc/profile
6.添加 mysql 驱动包下载 mysql-connector-java-5.1.38.jar, 将 mysql 驱动包拷贝到 hive 的lib 目录下。
6.Hive 服务启动与测试
1)启动 HDFS 与 YARN 服务
sbin/start-dfs.sh
sbin/start-yarn.sh
2)启动 hive 服务
bin/hive
如果单独配置的 Metastore,得先启动 metastore 服务,然后再启动hive.bin/hive --service metastorebin/hive
3)测试运行
①创建表通过 hive 服务创建表
CREATE TABLE stu(id INT,name STRING) ROW FORMAT DELIMITED FIELDSTERMINATED BY '\t' ;
②准备测试数据集创建数据文件
vi /home/chenbo/hadoop/app/hive/stu.txt
00001 zhangsan
00002 lisi
00003 wangwu
00004 zhaoliu
③数据加载到 Hive 表通过如下命令加载数据到 hive 表中
load data local inpath '/home/chenbo/hadoop/app/hive/stu.txt' into table stu;
④表数据查询通过标准的 sql 语句查询 hive 表数据
select * from stu;
三、Sqoop安装
1.下载安装包
CDH 版本: http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.6-cdh5.10.0.tar.gz
这 里 下 载 sqoop-1.4.6-cdh5.10.0.tar.gz 版 本 的 安 装 包,上传至规划目录
2.解压Hive 安装包
解压命令:
tar -zxvf sqoop-1.4.6-cdh5.10.0.tar.gz
3.创建软连接创建软连接:
ln -s sqoop-1.4.6-cdh5.10.0.tar.gz sqoop
4.修改配置文件
修改 sqoop-env.sh
#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/home/chenbo/app/hadoop
#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/home/chenbo/app/hadoop
#set the path to where bin/hbase is available
export HBASE_HOME=/home/chenbo/app/hbase-1.2.0
#Set the path to where bin/hive is available
export HIVE_HOME=/home/chenbo/app/hive-1.1.0
#Set the path for where zookeper config dir is
#export ZOOCFGDIR=
5.添加环境变量
# SQOOP_HOME
export SQOOP_HOME=/home/chenbo/app/sqoop-1.4.6
export PATH=$SQOOP_HOME/bin:$SQOOP_HOME/conf:$PATH
让环境变量生效
source /etc/profile
6.添加 mysql jar 包
1) 将 mysql 依赖包拷贝到 sqoop lib 目录下。
2)将/home/chenbo/app/hive-1.1.0/lib目录下的hive-exec-1.1.0-cdh5.10.0.jar拷贝到/home/chenbo/app/sqoop-1.4.6/lib/目录下
cp ./hive-exec-1.1.0-cdh5.10.0.jar /home/chenbo/app/sqoop-1.4.6/lib/
7.测试是否成功安装
[chenbo@hadoop app]$ sqoop help
Warning: /home/chenbo/app/sqoop-1.4.6/../hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /home/chenbo/app/sqoop-1.4.6/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
Warning: /home/chenbo/app/sqoop-1.4.6/../zookeeper does not exist! Accumulo imports will fail.
Please set $ZOOKEEPER_HOME to the root of your Zookeeper installation.
20/03/16 12:14:38 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6-cdh5.10.0
usage: sqoop COMMAND [ARGS]
Available commands:
codegen Generate code to interact with database records
create-hive-table Import a table definition into Hive
eval Evaluate a SQL statement and display the results
export Export an HDFS directory to a database table
help List available commands
import Import a table from a database to HDFS
import-all-tables Import tables from a database to HDFS
import-mainframe Import datasets from a mainframe server to HDFS
job Work with saved jobs
list-databases List available databases on a server
list-tables List available tables in a database
merge Merge results of incremental imports
metastore Run a standalone Sqoop metastore
version Display version information