1:开盘第一段,了解一下可还行!
as we known,hive is a very 重要的一环在大数据组件中,数据仓库,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制,数据也是存在hdfs上的,可以直接在hdfs上自行查看,话不多说,老板?上货啦!
2:安装
对,老生常谈,第一步先装上,
{{{友情提醒,装之前先df看下磁盘,哪个磁盘大装在哪,不理解的请转linux专区}}}
装之前捏要把hadoop装上,hadoop装之前nie,要把zk,JDK装上,一套罗汉拳下来,才能装hive,{{来自一个小坑的重要提醒,装hadoop的时候要添加如下配置,sss为安装程序所在用户的用户名,否则hive启动会报权限错误,但是这样也就造成了对于主机和组的无约束性,增加了被攻击的风险,具体需要怎么配置可以自行上百度Google一下子}}
<property>
<name>hadoop.proxyuser.sss.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.sss.groups</name>
<value>*</value>
</property>
如果您已经自己安装好了hadoop,请自行重启,重启有问题请转hadoop专区,{{{PS:如果是测试环境直接kill也可以,但是生产会出问题的}}}
3:配置
hadoop安装之后,下载hive的安装包,解压,在conf里主要编辑两个文件,hive-env.sh和hive-site.xml,这两个文件都是带.template结尾的,可以cp出来一份不带.template结尾的即可,env里主要配置hadoop_home/java_home。hive-site.xml主要配置mysql的连接,可以参考我的简单配置, 如下:{{{ps:xml文件一定要注意格式,不然会一直报错让改格式}}}
<configuration>
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
<description>Port number of HiveServer2 Thrift interface.
Can be overridden by setting $HIVE_SERVER2_THRIFT_PORT</description>
</property> <property>
<name>hive.server2.thrift.bind.host</name>
<value>0.0.0.0</value>
</property>
<!-- 设置 hive仓库的HDFS上的位置 --> <property>
<name>hive.exec.scratchdir</name>
<value>/user/hive/tmp</value>
</property>
<!--数据仓库数据存放位置 -->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<!-- 设置日志位置 -->
<property>
<name>hive.querylog.location</name>
<value>/user/hive/log</value>
</property>
<!-- 设置mysql连接信息 -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://mysqlip:3306/sxhive?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=false
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<!-- 设置mysql用户名 -->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>mysql用户名替代r</value>
</property>
<!-- 设置mysql密码 -->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>数据库密码值</value>
</property>
<property>
<name>hive.exec.local.scratchdir</name>
<value>/home/sxlt/hive-3.1.2/hive</value>
<description>Local scratch space for Hive jobs本地job空间</description>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/home/sxlt/hive-3.1.2/download/</value>#自定义目录
<description>Temporary local directory for added resources in the remote file system.</description>
</property>
<property>
<name>hive.querylog.location</name>
<value>/user/local/hive/querylog-location-addDir/</value>#自定义目录
<description>Location of Hive run time structured log file</description>
</property>
<property>
<name>hive.server2.logging.operation.log.location</name>
<value>/user/local/hive/hive-logging-operation-log-addDir/</value>#自定义目录
<description>Top level directory where operation logs are stored if logging functionality is enabled</description>
</property>
</configuration>hive-env.sh配置如下:
其实就是在最后把环境变量加上去:
export HIVE_AUX_JARS_PATH=${HIVE_HOME}/lib
export JAVA_HOME=JDK位置
export HADOOP_HOME=hadoop家目录
export HIVE_HOME=hive家目录
export HIVE_CONF_DIR=${HIVE_HOME}/conf
--------------------------------------------------------------------这是一条有面子的分割线--------------------------------------------------------------------
{{{如果连家目录是啥都不知道,可以去linux专区先充充电}}}
4:启动
hive跟redis差不多,可能没玩过的人,网上宕了前台启动方案,ctrl+C之后程序又没了,其实很简单,nohup后台启动就行,命令如下:
前端启动:/bin/hiveserver2
后台启动:nohup hiveserver2 1>nohup.out 2>&1 &
验证的话可以:
beeline -u jdbc:hive2://node1:10000 然后输入用户名密码{{{hive-site.xml}}}里配置的。
进去之后,show tables;就能看到里面的表了,到此安装完毕,下面是拓展内容。