首页 > 网络 > 云计算 >

Hadoop-2.6.0+Zookeeper-3.4.6+Spark-1.3.1+Hbase-1.1.0+Hive-1.2.0集群搭建教程

2017-10-21

Hadoop-2 6 0+Zookeeper-3 4 6+Spark-1 3 1+Hbase-1 1 0+Hive-1 2 0集群搭建教程。

Hadoop-2.6.0+Zookeeper-3.4.6+Spark-1.3.1+Hbase-1.1.0+Hive-1.2.0集群搭建教程。

第一部分:Ubuntu物理机和虚拟机准备

总览:一台物理机和两台虚拟机

系统安装Ubuntu 64位物理机,在Windows系统下采用easyBCD安装方法

具体安装省略

1.3 Ubuntu相关配置

1)更新

sudo apt-get grade

2)安装vim

sudo apt-get install vim

3)修改root用户登录

sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf

添加

[SeatDefaults]

greeter-session=unity-greeter

user-session=ubuntu

greeter-show-manual-login=true

allow-guest=false

4)设置 root用户密码

sudo passwd root

此处有输入root用户的密码

5)卸载防火墙

ufw disable //关闭

sudo apt-get remove ufw //卸载

sudo ufw status //查看

6)安装ssh

安装ssh-server

sudo apt-get install openssh-server

安装ssh-client

sudo apt-get install openssh-client

确认sshserver是否安装好

ps -e | grep ssh

如果出现以下内容,则安装成功

450 ??00:00:00 sshd

重启ssh

/etc/init.d/ssh restart

2. 在Ubuntu系统下使用VMware安装Ubuntu虚拟机

2.1 下载:VMware-Workstation-Full-11.1.0(下载linux版本)

相关密钥

1F04Z-6D111-7Z029-AV0Q4-3AEH8

YZ7HK-FVG44-H84TQ-C7ZX9-X2A8F

VY3MA-4AD90-089CZ-R4PG9-MKAR0

2.2 配置Ubuntu虚拟机按以上Ubuntu相关配置进行同样操作。

2.3. 配置好虚拟机,关闭虚拟机和VMware,复制虚拟机文件。复制完成后打开虚拟机(两台)。

修改主机名

因为笔者搭建此集群是为了学习spark,故将集群主机名命为

spark01,spark02,spark03

3.1 分别修改:

sudo gedit /etc/hostname

spark01

3.2 虚拟机同上,分别换为spark02,spark03。

4. 修改IP

4.1 集群IP分别设为

192.168.8.101, 192.168.8.102, 192.168.8.103

4.2 先对虚拟机进行修改

1)虚拟机网卡设置为host-only模式

2)进行界面设置

系统设置->网络->选项 ->IPv4设置-> method选择为manual-> 点击add按钮-> 添加IP:192.168.8.102 子网掩码:255.255.255.0 网关:192.168.1.1-> apply

3)同样方式,spark03 IP设置为:192.168.8.103

4)物理机设置一个固定的IP有点麻烦,不过也能实现,一种是采用桥接,第二种是采用虚拟网卡,笔者采用桥接方式.

*点击右上角网络图标栏中的”编辑连接”,网络连接中选中”桥接”,点击”添加”;

*对跳转出来选择连接类型窗口,选择”虚拟–桥接”,点击”新建”,

*在桥接–桥接连接(c)处,点击”添加”,选择”以太网”,点击新建,在设备MAC地址(D)处.选择”eth0”,并”保存”

*点击IPv4设置,方法处选择为”手动”,>点击”添加”设置IP为:192.168.8.101 子网掩码:255.255.255.0 网关:192.168.1.1,”保存”.

修改主机名和IP的映射关系

sudo gedit /etc/hosts

192.168.8.101 spark01

192.168.8.102 spark02

192.168.8.103 spark03

重启虚拟机和物理机

第二部分:ssh配置和jdk安装

ssh配置

本集群的用户名为”huai”,集群统一用一个用户名,用不同的ssh登录时,还要进行一些其他处理,很麻烦,在这就别给自己添麻烦了.

1)物理机,使用以下命令,四个回车.

huai@spark01:~$ ssh-keygen -t rsa

huai@spark01:~$ cd /home/huai/.ssh

huai@spark01:~/.ssh$ ls

id_rsa id_rsa.pub

生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)

2)对两台虚拟机进行同样操作(操作略)

3)将虚拟机的公钥传到spark01,主要”huai”是我集群的用户名,”huai”应改为你自己设定的用户名

scp id_rsa.pub huai@spark01:/home/huai/.ssh/id_rsa.pub.spark02

scp id_rsa.pub huai@spark01:/home/huai/.ssh/id_rsa.pub.spark03

4)在物理机

huai@spark01:~$ cd /home/huai/.ssh

可以看到以下文件,将公钥_rsa.pub 导入到综合authorized_keys文件中。

huai@spark01:~/.ssh$ ls

authorized_keys id_rsa.pub id_rsa.pub.spark03

id_rsa id_rsa.pub.spark02 known_hosts

导入命令如下

cat id_rsa.pub >> authorized_keys

cat id_rsa.pub.spark02 >> authorized_keys

cat id_rsa.pub.spark03 >> authorized_keys

5)将spark01上的authorized_keys复制到spark02和spark03的/home/huai/.ssh/目录下

scp authorized_keys huai@spark02:/home/huai/.ssh/authorized_keys

scp authorized_keys huai@spark03:/home/huai/.ssh/authorized_keys

7)ssh常见错误修改

因为笔者的已经配置好了,具体错误就没有了,不过只要你按以下操作之后,保证不会再有错误.

1)sudo gedit /etc/ssh/sshd_config

注释”PermitRootLogin without-password”,使用”#”注释,并在其下面添加

PermitRootLogin yes

2)sudo gedit /etc/ssh/ssh_config

添加

StrictHostKeyChecking no

UserKnownHostsFile /dev/nul

3)分别在每台上进行ssh登录,使用”exit”退出

ssh spark01

ssh spark02

ssh spark03

4)登录完成后,在每台机子上分别操作以下命令(“huai”为用户名)

sudo chown huai: /home/huai/.ssh

sudo chown huai: /home/huai/.ssh/*

sudo chmod 700 /home/huai/.ssh

sudo chmod 600 /home/huai/.ssh/*

5)如果ssh登录时,在known_hosts报出警告,后面显示一个数字,使用以下命令将其删除,比如显示数字”8”.

sed -i 8d /home/huai/.ssh/known_hosts

安装JDK

2.1 1)创建文件夹

mkdir /usr/java

2)解压

tar -zxvf jdk-7u80-linux-x64.gz -C /usr/java/

3)修改权限

sudo chmod -R 777 /usr/java/

2.2 修改环境变量

因为笔者集群已经搭建好了,为了让大家不要经常修改环境变量,笔者在此处把所有安装包的环境变量都列出来,供大家参考。

sudo gedit /etc/profile

export JAVA_HOME=/usr/java/jdk1.7.0_80

export JRE_HOME=/usr/java/jdk1.7.0_80/jre

export SCALA_HOME=/spark/scala-2.11.6

export SPARK_HOME=/spark/spark-1.3.1

export HADOOP_HOME=/spark/hadoop-2.6.0

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_HOME/lib/native"

export HIVE_HOME=/spark/hive-1.2.0

export IDEA_HOME=/usr/idea/idea-IC-141.178.9

export HBASE_HOME=/spark/hbase-1.1.0

export ZOOKEEPER_HOME=/spark/zookeeper-3.4.6

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SCALA_HOME/bin:$SPARK_HOME/bin:$IDEA_HOME/bin:$HIVE_HOME/bin:$HBASE_HOME/bin:$ZOOKEEPER_HOME/bin

source /etc/profile

验证,使用命令java -version

出现java version “1.7.0_80”,则安装成功

2.3 设置jdk默认(若以上安装成功,可以跳过设置默认jdk)

sudo update-alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_80/bin/java 300

sudo update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.7.0_80/bin/javac 300

sudo update-alternatives --install /usr/bin/jar jar /usr/java/jdk1.7.0_80/bin/jar 300

sudo update-alternatives --install /usr/bin/javah javah /usr/java/jdk1.7.0_80/bin/javah 300

sudo update-alternatives --install /usr/bin/javap javap /usr/java/jdk1.7.0_80/bin/javap 300

sudo update-alternatives --config java

第三部分:Hadoop-2.6.0+zookeeper-3.4.6集群搭建

1. 集群规划

主机名    IP        安装的软件              运行的进程

spark01 192.168.8.101 jdk、hadoop、zookeeper namenode、ResourceManager(yarn)、QuorumPeerMain、JournalNode、(zkfc)、

spark02 192.168.8.102 jdk、hadoop、zookeeper namenode、ResourceManager(yarn)、DataNode、 JournalNode、QuorumPeerMain

spark03 192.168.8.103 jdk、hadoop、zookeeper DataNode、NodeManager、JournalNode、QuorumPeerMain

搭建zooekeeper

2.1 建立spark文件

sudo mkdir /spar

2.2 解压

tar -zxvf zookeeper-3.4.6.tar.gz -C /spark/

2.3 修改配置

1)修改zoo.cfg

cd /spark/zookeeper-3.4.6/conf/

mv zoo_sample.cfg zoo.cfg

gedit zoo.cfg

修改:

dataDir=/spark/zookeeper-3.4.6/tmp

添加

dataLogDir=/spark/zookeeper-3.4.6/logs

在最后添加:

server.1=spark01:2888:3888

server.2=spark02:2888:3888

server.3=spark03:2888:3888

保存退出

2)建立文件夹

mkdir /spark/zookeeper-3.4.6/tmp

mkdir /spark/zookeeper-3.4.6/logs

3)设置myid

在tmp下创建一个空文件

touch myid

gedit myid

在myid文件写入”1”,

4)修改环境变量

虽然前面已经把所有的环境变量都设置好了,但这个步骤使不能缺的,所以在此处重复一遍

sudo gedit /etc/profile

export ZOOKEEPER_HOME=/spark/zookeeper-3.4.6

export PATH=:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf

source /etc/profile

2.4 将配置好的zookeeper拷贝到其他节点

scp -r /spark/zookeeper-3.4.6/ huai@spark02:/spark/

scp -r /spark/zookeeper-3.4.6/ huai@spark03:/spark/

2.5 分别修改虚拟机的环境变量和myid

cd /spark/zookeeper/tmp

gedit myid

其中

spark02 中写入”2”

spark03 中写入”3”

搭建hadoop集群

3.1 解压hadoop2.6. 0

tar -zxvf hadoop-2.6.0.tar.gz -C /spark

3.2 修改spark文件权限

sudo chmod -R 777 /spark

3.2 配置hadoop2.6.0

1)cd /spark/hadoop-2.6.0/etc/hadoop/

*依次操作以下命令,添加以下内容,保存退出.

gedit hadoop-env.sh

gedit yarn-env.sh

gedit mapred-env.sh

添加

export JAVA_HOME=/usr/java/jdk1.7.0_80

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_HOME/lib/native"

注:在hadoop-env.sh,注释以下部分

#export HADOOP_OPTS="$HADOOP_OPTS -

Djava.net.preferIPv4Stack=true"

以下部分,可以直接复制替换.

2) gedit core-site.xml

fs.defaultFS

hdfs://ns1

hadoop.tmp.dir

/spark/hadoop-2.6.0/tmp

ha.zookeeper.quorum spark01:2181,spark02:2181,spark03:2181

3) gedit hdfs-site.xml

dfs.nameservices

ns1

dfs.ha.namenodes.ns1

nn1,nn2

dfs.namenode.rpc-address.ns1.nn1

spark01:9000

dfs.namenode.http-address.ns1.nn1

spark01:50070

dfs.namenode.rpc-address.ns1.nn2

spark02:9000

dfs.namenode.http-address.ns1.nn2

spark02:50070

dfs.namenode.shared.edits.dir qjournal://spark01:8485;spark02:8485;spark03:8485/ns1

dfs.journalnode.edits.dir

/spark/hadoop-2.6.0/journal

dfs.ha.automatic-failover.enabled

true

dfs.client.failover.proxy.provider.ns1

org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider

dfs.ha.fencing.methods

sshfence

shell(/bin/true)

dfs.ha.fencing.ssh.private-key-files

/home/huai/.ssh/id_rsa

dfs.ha.fencing.ssh.connect-timeout

30000

4) gedit mapred-site.xml

mapreduce.framework.name

yarn

5)gedit yarn-site.xml

yarn.resourcemanager.ha.enabled

true

yarn.resourcemanager.cluster-id

yrc

yarn.resourcemanager.ha.rm-ids

rm1,rm2

yarn.resourcemanager.hostname.rm1

spark01

yarn.resourcemanager.hostname.rm2

spark02

yarn.resourcemanager.zk-address

spark01:2181,spark02:2181,spark03:2181

yarn.nodemanager.aux-services

mapreduce_shuffle

6) gedit slaves

spark02

spark03

2.4 复制到其他节点

scp -r /spark/hadoop-2.6.0 huai@spark02:/spark

scp -r /spark/hadoop-2.6.0 huai@spark03:/spark

2.5 修改环境变量,可略过

sudo gedit /etc/profile

export HADOOP_HOME=/spark/hadoop-2.6.0

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

集群启动(严格按照下面的步骤)

3.1 启动zookeeper集群(分别在spark01、spark02、spark03上启动zk)

cd /spark/zookeeper-3.4.6/bin/

./zkServer.sh start

查看状态:一个leader,两个follower

./zkServer.sh status

3.2 启动journalnode(分别在spark01、spark02、spark03上启动journalnode)

cd /spark/hadoop-2.6.0/sbin

hadoop-daemon.sh start journalnode

运行jps命令检验,spark01、spark02、spark03上多了JournalNode进程

3.3 格式化HDFS

在spark01上执行命令

hdfs namenode -format

格式化成功会生成tmp文件,其路径为core-site.xml中的hadoop.tmp.dir配置路径

将其拷到其他节点

scp -r tmp huai@spark02:/spark/hadoop-2.6.0/

scp -r tmp huai@spark03:/spark/hadoop-2.6.0/

3.4 格式化ZK(在spark01上执行即可)

hdfs zkfc -formatZK

3.5 启动HDFS(在spark01上执行)

sbin/start-dfs.sh

3.6 启动YARN.resourcemanager

sbin/start-yarn.sh

3.7 验证 浏览器访问:

http://192.168.8.101:50070

NameNode 'spark01:9000' (active)

http://192.168.8.102:50070

NameNode 'spark02:9000' (standby)

3.8 验证HDFS HA

1)首先向hdfs上传一个文件

hadoop fs -put /etc/profile /profile

hadoop fs -ls /

2)然后再kill掉active的NameNode

kill -9

访问:http://192.168.8.101:50070 无法打开

访问:http://192.168.8.102:50070

NameNode ‘spark02:9000’ (active)

3)执行

hadoop fs -ls /

-rw-r--r-- 3 root supergroup 1926 2015-05-024 15:36 /profile

4)手动启动那个挂掉的NameNode.spark01上执行

sbin/hadoop-daemon.sh start namenode

访问:http://192.168.8.101:50070

NameNode ‘spark01:9000’ (standby)

5)删除上传文件

hadoop fs -rm -r /profile

第四部分:spark-1.3.1集群搭建

1.安装 Scala

1.1 解压

tar -zxf scala-2.11.6.tgz -C /spack

1.2 修改环境变量

sudo gedit /etc/profile

export SCALA_HOME=/spark/scala-2.11.6

export PATH=PATH:$SCALA_HOME/bin

source /etc/profile

1.3 显示版本 scala -version

1.4 测试

输入”scala”命令,进入scala交互界面

huai@spark01:~$ scala

scala> 8*8

res0: Int = 64

1.5 将scala复制到其他节点

scp -r /spark/scala-2.11.6/ huai@spark02:/spark/

scp -r /spark/scala-2.11.6/ huai@spark03:/spark/

1.6 重复1.2修改其他节点的环境变量

2.安装spark

2.1 解压

tar -zxf spark-1.3.1-bin-hadoop2.6.tgz -C /spark

文件名修改为:spark-1.3.1

2.2 修改环境变量(环境变量原先已经配置好,此处供参考)

sudo gedit /etc/profile

export SPARK_HOME=/spark/spark-1.3.1

export PATH=PATH:$SPARK_HOME/bin

source /etc/profile

2.3 配置spark

1) 进入spark的conf目录

cd /spark/spark-1.3.1/conf/

mv spark-env.sh.template spark-env.sh

sudo gedit spark-env.sh

添加:

export JAVA_HOME=/usr/java/jdk1.7.0_80

export SCALA_HOME=/spark/scala-2.10.5

export SPARK_MASTER_IP=192.168.8.101

export SPARK_WORKER_MEMORY=1g

export HADOOP_CONF_DIR=/spark/hadoop-2.6.0/etc/hadoop

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_HOME/lib/native"

2) mv slaves.template slaves

sudo gedit slaves

spark01

spark02

spark03

2.4 把spark复制到其他节点

scp -r spark-1.3.1 huai@spark02:/spark/

scp -r spark-1.3.1 huai@spark03:/spark/

2.5 修改虚拟阶环境变量

sudo gedit /etc/profile

export SPARK_HOME=/spark/spark-1.3.1

export PATH=PATH:$SPARK_HOME/bin

export SCALA_HOME=/spark/scala-2.11.6

export PATH=PATH:$SCALA_HOME/bin

source /etc/profile

3.启动集群

3.1 启动hadoop集群:主节点上

1)启动zookeeper, 每台运行

zkServer.sh start

2)启动hadoop集群,sbin下

./start-all.sh

3)启动spark集群

/spark/spark-1.3.1/bin$./start-all.sh

第五部分 hbase-1.1.0集群搭建

注:当使用gedit xxx时,都是需要向文件’XXX’添加在其下面给出的内容

解压

tar -zxf hbase-1.1.0.tgz -C /spack

配置hbase集群(使用外部zk)

2.1 gedit hbase-env.sh

export JAVA_HOME=/usr/java/jdk1.7.0_80

export HBASE_MANAGES_ZK=false

export HBASE_PID_DIR=/spark/hbase-1.1.0/pids

export HBASE_CLASSPATH=/spark/hadoop-2.6.0/etc/hadoop

export HBASE_HOME=/spark/hbase-1.1.0

2.2 gedit hbase-site.xml

hbase.tmp.dir

/spark/hbase-1.1.0/tmp

hbase.rootdir

hdfs://ns1/hbase

hbase.cluster.distributed

true

zookeeper.session.timeout

120000

hbase.zookeeper.property.tickTime

6000

hbase.zookeeper.property.clientPort

2181

hbase.zookeeper.quorum

spark01,spark02,spark03

hbase.zookeeper.property.dataDir

/spark/zookeeper-3.4.6/tmp

dfs.replication

2

hbase.master.maxclockskew

180000

2.3 gedit regionservers

spark01

spark02

spark03

把hadoop的hdfs-site.xml和core-site.xml 放到hbase/conf下

拷贝hbase到其他节点

scp -r /spark/hbase-1.1.0 huai@spark02:/spark/

scp -r /spark/hbase-1.1.0 huai@spark03:/spark/

5.将hbase添加到环境变量中

sudo gedit /etc/profile

export HBASE_HOME=/spark/hbase-1.1.0

export PATH=$HBASE_HOME/bin:$PATH

source /etc/profile

6.将配置好的HBase拷贝到每一个节点并同步时间和修改环境变量

7.启动所有的hbase

7.1 启动zk

zkServer.sh start

7.2 启动hadoop集群

start-dfs.sh

7.3 启动hbase,在主节点上hbase-1.1.0/bin运行

start-hbase.sh

8.通过浏览器访问hbase Web页面

8.1 HMaster Web页面

http://192.168.8.101:16010

8.2 HRegionServer Web页面

http://192.168.8.101:16030

9.shell 验证

进入hbase bin目录下:

huai@spark01:/spark/hbase-1.1.0/bin$ ./hbase shell

9.1 使用list验证:

hbase(main):001:0> list

TABLE

user

1 row(s) in 1.4940 seconds

=> ["user"]

hbase(main):002:0>

9.2建表验证

create 'user','name','sex'

如果list和建表都没出现错误的话,就意味着Hbase 安装成功

10.安装过程中错误排除

10.1 当Hbase shell时出现这样的错误

SLF4J: Found binding in [jar:file:/usr/local/hbase-1.1.0/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j /impl/StaticLoggerBinder.class,是因为hadoop和hbase的slf4j-log4j12 jar包冲突,将HBase中的slf4j-log4j12-1.7.5移除

10.2 Hbase运行要在hadoop非安全模式下使用,使用以下命令查看hadoop安全模式和退出安全模式.

hdfs dfsadmin -safemode get //查看

hdfs dfsadmin -safemode leave //退出

10.3 安装失败后,要删除hadoop文件系统下的Hbase文件,使用命令

hadoop fs -rm -r -f /hbase

10.4 这是最最关键的.hosts文件中localhost的IP为127.0.0.1,如果有127.0.1.1的话,要将其改为127.0.0.1,以下是笔者hosts文件中的内容:

sudo gedit /etc/hosts

127.0.0.1 localhost

192.168.8.101 spark01

192.168.8.102 spark02

192.168.8.103 spark03

#The following lines are desirable for IPv6 capable hosts

::1 ip6-localhost ip6-loopback

fe00::0 ip6-localnet

ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters

注:spark01,spark02,spark03为集群主机名

10.5 修改HBase文件目录权限

hadoop fs -chmod -R 777 /hbase

10.6 如果你多次安装过不同版本的HBase且使用外部zookeeper,记得清理zookeeper中Hbase中文件,笔者就是因为这个问题,苦苦折磨了一周.

1)关闭Hbase,在zookeeper的bin目录运行zkCli.sh

终端最后显示:

WATCHER::

WatchedEvent state:SyncConnected type:None path:null

[zk: localhost:2181(CONNECTED) 0]

2)按以下操作删除Hbase

[zk: localhost:2181(CONNECTED) 1] ls /

[hbase, hadoop-ha, yarn-leader-election, zookeeper]

//如果有Hbase则进行下一步

[zk: localhost:2181(CONNECTED) 2] rmr /Hbase

3) 重启HBase

start-hbase.sh

1)单独启动HMaster命令

hbase start master

hbase stop master

2)regionserver单独启动命令

hbase start regionserver

hbase stop regionserver

Hbase安装总结

12.1 Hbase与hadoop有版本兼容要求,一般的解决方式都是把Hbase中与hadoop相关的jar包替换成hadoop版本的jar包.本次安装中,hadoop-2.6.0和hbase-1.1.0没有替换jar包,但经过一周的折腾,也安装成功了。

12.2 集群时间记得要同步,同步方式界面操作调整时区和格式。

12.3 安装会因为环境不同,而出现不同的错误,但整个安装过程应该有这样的心态:屡败屡战,经折腾。

第六部分 hive-1.2.0搭建

1.概述

1.1 hive安装可分为四部分

1)mysql安装

2)Metastore的配置

3)HiveClient 配置

4)spark中的ThriftServer配置

1.2 搭建分布:mysql,Metastore安装配置在主节点spark01上, HiveClient客户端安装在spark02上。

1.3 如果只搭建Metastore话,只在一台机子上配置mysql,Metastore即可。还有hive运行在hadoop集群上,安装运行时,记得启动zookeeper和hadoop。

2.mysql安装

2.1Ubuntu软件中心下载安装mysql服务器

2.2 配置mysql

1)修改mysql的密码

运行

`/usr/bin/mysql_secure_installation

2)输入密码

3)删除匿名用户

Remove anonymous users? [Y/n] Y

4)允许用户远程连接

Disallow root login remotely? [Y/n]n

5)移除test数据库

Remove test database and access to it? [Y/n] Y

6)登陆mysql

mysql -u root -p

7)建立hive数据库,并对其授权,注’huai’为你设立的登录密码

mysql>create database hive;

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'huai' WITH GRANT OPTION;

mysql>FLUSH PRIVILEGES;

3.hive 安装

3.1 解压

tar -zxvf apache-hive-1.2.0.tar.gz -C /spark/

文件名修改为hive-1.2.0

3.2 配置

1)修改配置文件,hive-1.2.0/conf下

mv hive-default.xml.template hive-site.xml

mv hive-log4j.properties.template hive-log4j.properties

mv hive-exec-log4j.properties.template hive-exec-log4j.properties

mv hive-env.sh.template hive-env.sh

2)gedit hive-env.sh

export HADOOP_HOME=/spark/hadoop-2.6.0

export HIVE_CONF_DIR=/spark/hive-1.2.0/conf

3)gedit hive-log4j.properties

添加

hive.log.dir=/spark/hive-1.2.0/logs

4)新建logs文件

mkdir /spark/hive-1.2.0/logs

5)gedit hive-site.xml

删除所有内容,添加如下内容.注意配置文件中的’huai’,为mysql登录密码,记得修改

hive.metastore.warehouse.dir

hdfs://ns1/hive/warehouse

hive.exec.scratchdir

hdfs://ns1/hive/scratchdir

hive.querylog.location

/spark/hive-1.2.0/logs

javax.jdo.option.ConnectionURL

jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true

JDBC connect string for a JDBC metastore

javax.jdo.option.ConnectionDriverName

com.mysql.jdbc.Driver

Driver class name for a JDBC metastore

javax.jdo.option.ConnectionUserName

root

username to use against metastore database

javax.jdo.option.ConnectionPassword

huai

password to use against metastore database

hive.zookeeper.quorum

spark01,spark02,spark03

3.3 配置环境变量

sudo gedit /etc/profile

export HIVE_HOME=/spark/hive-1.2.0

export PATH=:$HIVE_HOME/bin

source /etc/profile

3.4 hive和mysq安装完成后,将mysql-connector-java-5.1.25-bin.jar连接jar拷贝到hive-1.2.0/lib目录下

3.5 运行hive,hive-1.2.0/bin下

./hive

3.5 访问 http://192.168.8.101:50070

查看hadoop文件系统,多了个hive文件,证明安装成功.

3.6 修改hive文件权限

hadoop fs -chmod -R 777 /hive

4.Hive客户端配置

此部分刚开始也可以不安装,在进一步学习之后,学习需要的话,就要安装了。

4.1 将Hive从Master节点(spark01)拷贝到Slave节点(spark02)上

scp -r /spark/hive-1.2.0 huai@spark02:/spark/

4.2 配置Metastore的连接信息

在hive-1.2.0/conf下

gedit hive-site.xml

添加以下内容 :

hive.metastore.uris

thrift://spark01:9083

Thrift URI for the remote metastore.Used by metastore client to connect to remote metastore.

4.3 修改环境变量

sudo gedit /etc/profile

export HIVE_HOME=/spark/hive-1.2.0

export PATH=:$HIVE_HOME/bin

source /etc/profile

5.ThriftServer配置

ThriftServer相当于JDBC,是sparkSQL学习部分,此部分首先可以不做配置

在主节点spark01上,/spark/hive-1.2.0/conf下

gedit hive-site.xml

添加:

hive.metastore.uris

thrift://spark01:9083

Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.

hive.server2.thrift.min.worker.threads

1

Minimum number of Thrift worker threads

hive.server2.thrift.max.worker.threads

100

Maximum number of Thrift worker threads

hive.server2.thrift.port

10000

Port number of HiveServer2 Thrift interface. Can be overridden by setting $HIVE_SERVER2_THRIFT_PORT

hive.server2.thrift.bind.host

spark01

相关文章
最新文章
热点推荐