在安装Hadoop,mysql,hive之前,首先要保证电脑上安装了jdk

一.配置jdk

1. 下载jdk

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2. 配置环境变量

(1)在终端使用 sudo su 命令进入root用户模式;

(2)使用 vim /etc/profile 命令打开profile文件,按下大写“I”进入编辑模式,在文件中添加以下信息:

JAVA_HOME对应的是你的JDK安装路径

JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home"
CLASS_PATH="$JAVA_HOME/lib"
PATH=".;$PATH:$JAVA_HOME/bin"
export JAVA_HOME

(3)使用“esc”键推出编辑模式,按下“:”,输入wq并回车,保存且退出。

(4)退出终端并重新打开,输入java -version 命令查看jdk配置情况。

二.配置hadoop

1. 下载Hadoop

Hadoop 2.7.7镜像下载链接:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz

2. 将下载后的压缩文件复制到/Users/finup/opt目录下并解压

3. 配置Hadoop

(1).进入/Users/finup/opt/hadoop-2.7.7/etc/hadoop/目录下,修改hadoop-env.sh配置文件

首先要查看JAVA_HOME的安装路径:

输入以下命令:/usr/libexec/java_home

/usr/libexec/java_home
结果:/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home

然后修改hadoop-env.sh配置文件

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home"
export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc="

(2).配置hdfs地址和端口

进入/Users/finup/opt/hadoop-2.7.7/etc/hadoop/目录下,修改core-site.xml配置文件

<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/Users/finup/opt/hadoop-2.7.7/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

hadoop.tmp.dir  表示自己进程产生的一些数据要放入到该目录中

fs.defaultFS用于设置Hadoop的默认文件系统,设置为“hdfs://localhost:9000”。localhost表示namenade,9000表示端口号。 HDFS的守护程序通过该属性项来确定HDFS namenode的主机和端口。

(3).配置HDFS的默认参数副本数

 进入/Users/finup/opt/hadoop-2.7.7/etc/hadoop/目录下,修改hdfs-site.xml配置文件

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/Users/finup/opt/hadoop-2.7.7/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/Users/finup/opt/hadoop-2.7.7/tmp/dfs/data</value>
</property>
</configuration>

dfs.replication 表示复本数,文件会被保存为几分。dfs.replication的value设置为“1”,这样HDFS就不会按默认设置将文件系统块复本设置为3。否则在单独一个datanode上运行时,HDFS无法将块复制到3个datanode上,所以会持续给出块复本不足的警告。

(4).配置mapreduce中jobtracker的地址和端口

进入/Users/finup/opt/hadoop-2.7.7/etc/hadoop/目录下,修改mapred-site.xml.template配置文件

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>

(5).修改配置文件 yarn-site.xml

进入/Users/finup/opt/hadoop-2.7.7/etc/hadoop/目录下,修改yarn-site.xml配置文件  

<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

(6).文件系统初始化

进入到Hadoop安装路径的bin目录下,使用命令 ./hadoop namenode -format 进行初始化,初始化成功会输出以下信息,注意红框标记处。

(7).配置Hadoop环境变量

目的是方便在任意目录下全局开启关闭hadoop相关服务,而不需要到/Users/finup/opt/hadoop-2.7.7/sbin下去执行启动或关闭命令。使用命令 vim ~/.zshrac 进行编辑,添加以下内容:(注意:zshrac是自己创建的,不要纠结自己找不到这个文件)

export HADOOP_HOME=/Users/finup/opt/hadoop-2.7.7
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

然后使用source ~/.zshrac命令使修改生效,以上关于Hadoop的配置全部结束。

4.启动hadoop 

(1).启动/关闭hadoop服务

进入sbin目录下,使用./start-dfs.sh命令启动,然后使用jps查看启动结果,启动成功如下图所示:

我们在浏览器中输入http://localhost:50070打开以下网页,可以查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件。

使用./stop-dfs.sh命令关闭hadoop服务

(2).启动/关闭yarn服务

使用./start-yarn.sh命令启动yarn服务,让 yarn来负责资源管理与任务调度。启动成功后,使用jps命令可以输出以下信息:

比之前只启动Hadoop服务时多了一个NodeManager和ResourceManager,然后在浏览器中打开http://localhost:8088,可以通过 Web 界面查看任务的运行情况。

使用./stop-yarn.sh命令来关闭yarn服务。

(3) 快速启动和关闭

进入sbin目录下,直接使用命令 ./start-all.sh和./stop-all.sh命令可以同时启动和关闭hadoop和yarn服务,比依次启动和关闭方便很多。

三.安装mysql

可参考该链接:https://jingyan.baidu.com/article/fa4125ac0e3c2928ac709204.html  

四.安装hive

首先要保证hadoop和mysql已经安装好了

1.在mysql数据库创建hive用户

mysql> create user 'hive' identified by 'hive';

2.将mysql的所有权限授权给hive用户

mysql> grant all on *.* to 'hive'@'localhost' identified by 'hive';

3.刷新mysql使1、2步骤生效

mysql> flush privileges;

4.输入sql语句查询hive用户是否存在

mysql> select host,user,authentication_string from mysql.user;
+-----------+---------------+-------------------------------------------+
| host | user | authentication_string |
+-----------+---------------+-------------------------------------------+
| localhost | root | *D391E96D137871ED52CDB352D867D3549815A718 |
| localhost | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| localhost | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| % | hive | *4DF1D66463C18D44E3B001A8FB1BBFBEA13E27FC |
| localhost | hive | *4DF1D66463C18D44E3B001A8FB1BBFBEA13E27FC |
+-----------+---------------+-------------------------------------------+

5.使用hive用户登录mysql

wudejin:~ oldsix$ mysql -u hive -p
Enter password: hive
mysql>

6.创建hive数据库

mysql> create database hive;

7.查看是否创建成功

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| hive |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
6 rows in set (0.00 sec)

至此,前期的准备工作已完成,接下来,我们进入hive的安装过程。

8.下载hive安装包并解压

下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/

下载完成后,通过命令行解压:

tar -zxvf apache-hive-3.1.1-bin.tar.gz

解压完成之后,对解压出来的文件夹重命名

mv apache-hive-3.1.1-bin hive3.1.1

9.修改hive配置:

进入hive3.1.1目录下的bin目录下,修改hive-site.xml配置文件

bin目录下不存在hive-site.xml文件,我们需要先复制一份:

cp hive-default.xml.template hive-site.xml

修改hive-site.xml文件:

--修改数据库连接驱动名  (配置文件中需要将该配置去掉)
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property> --修改数据库连接URL (配置文件中需要将该配置去掉)
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?characterEncoding=UTF-8</value>
<description>
JDBC connect string for a JDBC metastore.
To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL.
For example, jdbc:postgresql://myhost/db?ssl=true for postgres database.
</description>
</property> --修改数据库连接用户名 (配置文件中需要将该配置去掉)
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>Username to use against metastore database</description>
</property> --修改数据库连接密码 (配置文件中需要将该配置去掉)
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
<description>password to use against metastore database</description>
</property> --修改hive数据目录(三处) (配置文件中需要将该配置去掉)
<property>
<name>hive.querylog.location</name>
<value>/Users/finup/opt/hive3.1.1/iotmp</value>
<description>Location of Hive run time structured log file</description>
</property>
<property>
<name>hive.exec.local.scratchdir</name>
<value>/Users/finup/opt/hive3.1.1/iotmp</value>
<description>Local scratch space for Hive jobs</description>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/Users/finup/opt/hive3.1.1/iotmp</value>
<description>Temporary local directory for added resources in the remote file system.</description>
</property> --可以将表头显示出来 (配置文件中需要将该配置去掉)
<property>
<name>hive.cli.print.header</name>
<value>true</value>
<description>Whether to print the names of the columns in query output.</description>
</property>

10.配置hive环境变量

cd ~
sudo vi .base_profile

设置HIVE_HOME,并添加到PATH

export HIVE_HOME=/Users/finup/opt/hive3.1.1
export PATH=$PATH:$HIVE_HOME/bin

保存退出,并使环境变量生效

source .base_profile

11.将对应数据库的驱动包放到hive目录下的lib目录下

下载mysql-connector-java-8.0.16.jar,并上传至hive的lib目录下

12.初始化元数据库:schematool -dbType mysql -initSchema

13.进入hadoop安装目录,启动hadoop

/sbin/start-all.sh

14.启动hive

进入hive的bin目录下,执行命令: ./hive 

15.退出hive命令

exit

hive (zcfw_sda)> exit;

四.安装sqoop

1. 安装和配置

brew install sqoop
sqoop version cd /usr/local/Cellar/sqoop/1.4.6/libexec/conf
cp sqoop-env-template.sh sqoop-env.sh vim sqoop-env.sh export HADOOP_HOME="/Users/finup/opt/hadoop-2.7.7"
export HBASE_HOME="/usr/local"
export HIVE_HOME="/Users/finup/opt/hive3.1.1"
export HCAT_HOME="/usr/local"
export ZOOCFGDIR="/usr/local/etc/zookeeper"
export ZOOKEEPER_HOME="/usr/local/opt/zookeeper"

2. 测试

sqoop list-tables --connect jdbc:mysql://localhost/test --username root --password *****

sqoop eval --connect jdbc:mysql://localhost/test --username root --password ***** --query "select * from test.student"

  

3. 遇到的问题

问题1
java.lang.Exception: java.lang.RuntimeException:java.lang.ClassNotFoundException: Class example not found
原因和解决方法:hadoop 单机模式下无法找到执行目录,切换到伪分布模式可以解决

问题2
No primary key could be found for table test_table. Please specify one with –split-by or perform a sequential import with ‘-m 1’.
原因和解决方法:sqoop导入时依赖于MySQL原表的主键索引进行切片,没有添加主键索引会报错,给原表加上 primary key 或者 在 命令行末尾 加上 -m 1

4. 导入实例

# 创建mysql表
CREATE TABLE `example` (
`id` int(11) NOT NULL,
`name` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 # 插入数据
mysql> select * from example;
+----+-------+
| id | name |
+----+-------+
| 1 | hello |
| 2 | world |
+----+-------+
2 rows in set (0.00 sec) # 创建 hive 表
create table example(id int, name string) row format delimited fields terminated by '\t' lines terminated by '\n'; # 将mysql表导入hadoop
sqoop import -connect jdbc:mysql://localhost/test --username root --password mima123456 --table example # 将生成的文件导入hive
load data inpath 'hdfs://localhost:9000/user/max/example/part-m-00000' into table example # 以上两步可以合并为一步完成
sqoop import --connect jdbc:mysql://localhost/test --username root --password mima123456 --table example --hive-import --hive-overwrite --hive-table example --fields-terminated-by '\t'

  

  

  

mac安装Hadoop,mysql,hive,sqoop教程的更多相关文章

  1. mac安装配置mysql

    目录 mac安装配置mysql 1.mysql的安装 2.设置root用户的密码 3.分别执行一下命令 4.配置mysql环境变量 mac安装配置mysql 1.mysql的安装 ​ 安装过程十分简单 ...

  2. Mac 安装配置Mysql

    Mac下安装配置Mysql By 白熊花田(http://blog.csdn.net/whiterbear) 转载需注明出处,谢谢. 下载安装 去官网下载Community版本号的mysql安装文件. ...

  3. Mac安装Windows 10的简明教程

    每次在Mac上安装Windows都是一件非常痛苦的事情,曾经为了装Win8把整台Mac的硬盘数据都弄丢了,最后通过龟速系统恢复模式恢复了MacOSX(50M电信光纤下载了3天才把系统下载完),相信和我 ...

  4. 新手安装 hadoop、hive和hbase 笔记

    系统是ubuntu 12.04 , hadoop版本是1.2.1 , hive版本是0.12 , hbase版本我忘记了,不好意思首先是配置好hostnamevi /etc/hosts写入你要配置的i ...

  5. MySQL 5.7.13解压版安装记录 mysql无法启动教程

    1 解压缩 2 添加环境变量,这个不细说了 我的电脑->属性->高级->环境变量 选择PATH,在其后面添加: 你的mysql bin文件夹的路径 (如:C:\Program Fil ...

  6. mac安装navicat mysql破解版

    下载破解中文版http://m6.pc6.com/xuh6/navicat12027pre.zip 完成下载后无法正常进行安装,此时应该打开命令行执行 sudo spctl --master-disa ...

  7. Docker for Mac 安装及Mysql安装使用

    启动 mysql 镜像 docker run -d -p 127.0.0.1:3306:3306 –name mysql -v /Users/flyrPc/docker/mysql/data:/var ...

  8. Mac安装LNMP环境,升级php7

    Mac安装nginx+mysql+php 安装nginx比较麻烦,要安装pcre       ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre ...

  9. Hadoop Hive概念学习系列之HDFS、Hive、MySQL、Sqoop之间的数据导入导出(强烈建议去看)

    Hive总结(七)Hive四种数据导入方式 (强烈建议去看) Hive几种数据导出方式 https://www.iteblog.com/archives/955 (强烈建议去看) 把MySQL里的数据 ...

随机推荐

  1. Java实现蓝桥杯墓地雕塑

    墓地雕塑 问题描述 在一个周长为10000的圆上等距分布着n个雕塑.现在又有m个新雕塑加入(位置可以随意放), 希望所有n+m个雕塑在圆周上均匀分布.这就需要移动其中一些原有的雕塑.要求n个雕塑移动的 ...

  2. Java实现 LeetCode 213 打家劫舍 II(二)

    213. 打家劫舍 II 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金.这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的.同时,相邻的房屋装有相互连通的防盗 ...

  3. Java实现 LeetCode 86 分割链表

    86. 分隔链表 给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前. 你应当保留两个分区中每个节点的初始相对位置. 示例: 输入: head = 1 ...

  4. Java实现凸包问题

    1 问题描述 给定一个平面上n个点的集合,它的凸包就是包含所有这些点的最小凸多边形,求取满足此条件的所有点. 另外,形象生动的描述: (1)我们可以把这个问题看作如何用长度最短的栅栏把n头熟睡的老虎围 ...

  5. Android9.0配置charles的https抓包

    问题: 按照charles的正常流程去安装证书后,然后使用手机(一加5T,安卓9.0)访问https站点发现有些CONNECT请求无法查看,但是其它类型都支持https 解决方案: 前提条件:手机已经 ...

  6. 第一次前端实习机试题 很粗糙的一个天气预报demo

    <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8 ...

  7. PE文件介绍 (2)-DOS头,DOS存根,NT头

    PE头 PE头由许多结构体组成,现在开始逐一学习各结构体 0X00 DOS头 微软创建PE文件格式时,人们正广泛使用DOS文件,所以微软充分考虑了PE文件对DOS文件的兼容性.其结果是在PE头的最前面 ...

  8. Java——几点重要知识笔记(一)

    学了Java有一段时间了,自认为有一些基础知识比较重要,因此记下来共享,不喜勿喷. 一.标识符 (1)定义:在Java语言中,凡是对类,方法,变量,包,参数等命名时,所使用的字符序列 (2)包含的内容 ...

  9. Python format格式化函数

    参考资料:https://www.runoob.com/python/att-string-format.html 在学习Python的时候碰到了一个很有趣的格式化输入的技巧,下面记录在此. Pyth ...

  10. scanf中的%[^\n]%*c格式

    scanf中的%[^\n]%*c格式 (2011-02-19 16:12:38) 转载▼ 标签:  控制字符 空白字符 字符串 变量 整数 it 分类: C语言编程 文章转载自http://blog. ...