Hadoop3.1.1版本下安装Hive2.3.4,spark

2 篇文章 0 订阅
2 篇文章 0 订阅

在安装Hive前必须确保Hadoop已经安装成功,同样在安装Hive时要注意Hive的版本号和Hadoop的版本号是否兼容。

一、安装包的准备

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用。相对的Hive自己并不是数据库,所以需要安装一个数据库。

mysql   链接:https://dev.mysql.com/downloads/connector/j/

网盘  链接:https://pan.baidu.com/s/14Wjck-sOcMdVWt33yuqQlw    提取码:qzhc
Hive   链接:http://mirror.bit.edu.cn/apache/hive/hive-2.3.4/

网盘    链接:https://pan.baidu.com/s/142zGZXAf4kCFxFDOhXfl9w     提取码:547e 

spark   网盘链接:https://pan.baidu.com/s/1Zp-3jVfkZad12t6QfJgAgw      提取码:4nn0

二、Mysql安装

2.1、安装mysql

命令

yum install -y mysql57-community-release-el7-10.noarch 
yum -y install mysql-server  #安装mysql服务

然后后面会有提示y/n,一路y就可以了

2.2、修改用户密码

启动mysql服务,在安装mysql目录下

service mysqld restart

   

因为在安装mysql时我们一般没有设置密码,在Consto7之前的版本直接回车就可以进去,但是在Consto7之后会每次随机生成一个密码,在/var/log/mysqld.log文件里,因此我们需要获取这个密码

grep "password" /var/log/mysqld.log  #获取随机密码

   

sglvB!fNu8nu就是这次的密码

登录

mysql -h localhost -u root -p
#或者:
mysql -u root -p

下面有password,将得到的密码数据就可以了

   

在更改密码之前,mysql所有的操作都是无效的

更改密码

alter user 'root'@'localhost' identified by 'Sxy!521426';  #''里面是你的密码,字符数据特殊符号,
flush privileges;  #刷新权限,这样就可以操作了

    

三、hive安装

3.1、安装

将下载好的hive解压到/home/software中

tar -zxf apache-hive-2.3.4-bin.tar.gz -C /home/software/

3.2、环境配置

在/etc/profile中添加下面内容

export HIVE_HOME=/home/software/apache-hive-2.3.4-bin
export PATH=$PATH:$HIVE_HOME/bin
#别忘了source /etc/profile

更改/home/software/apache-hive-2.3.4/conf下的两个文件名

mv hive-env.sh.template hive-env.sh
mv hive-default.xml.template hive-default.xml

在hive-env.sh文件中添加

export JAVA_HOME=/usr/java/jdk1.8.0_51
export HIVE_HOME=/home/software/apache-hive-2.3.4-bin
export PATH=/usr/local/hadoop
export HIVE_CONF_DIR=$HIVE_HOME/conf
export HIVE_AUX_JARS_PATH=$HIVE_HOME/lib/*

修改hadoop目录下的/etc/hadoop/hadoop-env.sh,添加

export HADOOP_CLASSPATH=.$CLASSPATH:$HADOOP_CLASSPATH:$HADOOP_HOME/bin

将hive数据库下的所有表的全部权限赋给root用户(如果hadoop安装在hadoop用户下,则赋给hadoop用户),并配置hive-site.xml中配置的密码,刷新权限关系表

CREATE USER  'root'@'%'  IDENTIFIED BY 'Sxy521426!';
GRANT ALL PRIVILEGES ON  *.* TO 'root'@'%' WITH GRANT OPTION;
flush privileges;  #刷新权限列表

   

更改密码使密码变得简单一些,在mysql中使用下面的SQL语句

update mysql.user set authentication_string=password('新密码') where user='root' ;
flush privileges;

在hive的bin中建立hive-site.xml文件,并将下面的内容根据自己的需要修改添加下面内容

<configuration>
        <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://hadoop02:3306/hive_metastore_233?createDatabaseIfNotExist=true</value>
        <description>JDBC connect string for a JDBC metastore</description>
        <!-- 如果 mysql 和 hive 在同一个服务器节点,那么请更改 hadoop02 为 localhost -->
        </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>
</configuration>

 

在apache-hive-2.3.4中加入mysql-connector-java-5.1.40-bin.jar驱动包

链接: https://pan.baidu.com/s/1vCyXvTTehhnqa5JG6obLRg   提取码 iu8z

3.3、启动hive

在确保Hadoop和MySQL正常的情况下启动hive,或者使用hive --help验证,如果说hive命令找不到,那么在再~/.bashrc中配置一下hive的路径就可以了

   

初始化数据库

在使用hive2.x版本之前可以不用初始化数据库,,hive的第一次启动会自动初始化,但是在hive2.x之后,必须手动启动。如果不初始化会出现下面的错误

   

初始化命令

schematool -dbType mysql -initSchema

四、spark安装

1、安装scala

#解压
tar -xvf scala-2.12.8.tgz -C /usr/local
#配置环境变量
vim /etc/profile
export SCALA_HOME=/usr/scala-2.12.8
export PATH=$PATH:$SCALA_HOME/bin

2、将下载好的spark安装包解压到/usr/local/目录下

tar -zvxf spark-2.3.1-bin-hadoop2.7 -C /usr/local

3、配置环境变量

3.1、在/etc/profile中添加

export SPARK_HOME=/usr/local/spark-2.3.1-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin

3.2、将/usr/local/spark-2.3.1-bin-hadoop2.7/conf下的spark-env.sh.template改成spark-env.sh并添加

cp conf/spark-env.sh.template conf /spark-env.sh  #复制并重命名
#下面的添加到spark-env.sh中,因为我配置的是伪分布式,不存在其他节点,配置的比较简单
export JAVA_HOME=/usr/java/jdk1.8.0_151
export HADOOP_HOME=/usr/local/hadoop-3.1.1
export SCALA_HOME=/usr/local/scala-2.12.8
export SPARK_MASTER_IP=master
export SPARK_WORKER_MEMORY=2g
export HADOOP_CONF_DIR=/usr/local/hadoop-3.1.1/etc/hadoop

也可以参考下面的进行自己配置
- JAVA_HOME:Java安装目录 
- SCALA_HOME:Scala安装目录 
- HADOOP_HOME:hadoop安装目录 
- HADOOP_CONF_DIR:hadoop集群的配置文件的目录 
- SPARK_MASTER_IP:spark集群的Master节点的ip地址 
- SPARK_WORKER_MEMORY:每个worker节点能够最大分配给exectors的内存大小 
- SPARK_WORKER_CORES:每个worker节点所占有的CPU核数目 
- SPARK_WORKER_INSTANCES:每台机器上开启的worker节点的数目

3.3、使用spark-shell启动spark的Scala

   

使用pyspark启动spark的python

   

验证安装的spark是否可以使用

bin/spark-submit examples/src/main/python/ml/kmeans_example.py#这是spark中自带的一个python的例子

   

如果出来这个就说明安装成功了!

在spark上运行py文件

命令

spark-submit --driver-memory 1g --master local[*] sparkshiyan.py

如果使用上面的命令出现没有找到/bin/python或者/bin/ipython的错误就需要检查一下下面两个文件里面有没有配置下面的地址

在spark-env.sh配置中添加:

export PYTHON_HOME=/root/anaconda3
export IPYTHON_HOME=/root/anaconda3
export PATH=$PYTHON_HOME/bin:$PATH
export PATH=$IPYTHON_HOME/bin:$PATH

在~/.bashrc中添加:

export PYSPARK_DRIVER_PYTHON=$ANACONDA_PATH/bin/ipython
export PYSPARK_PYTHON=$ANACONDA_PATH/bin/python

export ANACONDA_PATH=/root/anaconda3
export PATH=/root/anaconda3/bin:$PATH

最后别忘了source ~/.bashrc,生效一下

看一下运行的结果

   

 

参考链接:

https://blog.csdn.net/weixin_36394852/article/details/76030317

https://blog.csdn.net/sjhuangx/article/details/82217306

https://blog.csdn.net/xfks55/article/details/80784424

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值