进阶4:hive 安装
Posted kuncy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进阶4:hive 安装相关的知识,希望对你有一定的参考价值。
安装包:
apache-hive-2.1.1-bin.tar.gz
安装步骤:
1.上传 apache-hive-2.1.1-bin.tar.gz 到linux;
2.解压文件:
tar zxvf apache-hive-2.1.1-bin.tar.gz
3.安装mysql (仅支持mysql 5.7以下版本,不支持5.7或更高版本,原因:若采用高版本mysql,部分文档内容需要改写)
sudo yum install mysql-server
4. 安装 mysql connector
sudo yum install mysql-connector-java
该命令会在/usr/share/java/下产生mysql-connector-java.jar
5. 建立链接
ln -s /usr/share/java/mysql-connector-java.jar /usr/local/hadoop-soft/etc/hive-2.1.1/lib/mysql-connector-java.jar
该命令在hive安装目录的lib目录下建立软链接,指向/usr/share/java/mysql-connector-java.jar
6. 启动mysql
sudo service mysqld start
可通过以下命令验证mysql启动成功(显示mysql进程):
ps aux | grep mysql
7. 修改mysql密码 , 修改mysql密码(改为newpass,请根据需要自行替换newpass)
mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD(‘newpass‘) WHERE user = ‘root‘;
mysql> FLUSH PRIVILEGES;
允许用户root通过任意机器访问mysql:
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘newpass‘ WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
8. 进入到根目录,配置环境变量:
vim ~/.bash_profile
export HIVE_HOME=/usr/local/hadoop-soft/etc/hive-2.1.1 export PATH=$HIVE_HOME/bin:$PATH
运行生效:
source ~/.bash_profile
9. 配置hive
a.进入目录:
cd /usr/local/hadoop-soft/etc/hive-2.1.1/conf
b. 新建 并 编辑 hive-site.xml
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>hive.metastore.uris</name> <value>thrift://master:9083</value> </property> <property> <name>hive.server2.thrift.port</name> <value>10000</value> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://master/metastore?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>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>root</value> </property> <property> <name>hive.metastore.schema.verification</name> <value>false</value> </property> <property> <name>hive.metastore.warehouse.dir</name> <value>/usr/local/hadoop-soft/etc/hive-2.1.1/warehouse</value> </property> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>datanucleus.autoCreateSchema</name> <value>true</value> </property> <property> <name>datanucleus.autoStartMechanism</name> <value>SchemaTable</value> </property> <property> <name>datanucleus.schema.autoCreateTables</name> <value>true</value> </property> <property> <name>beeline.hs2.connection.user</name> <value>master</value> </property> <property> <name>beeline.hs2.connection.password</name> <value>master</value> </property> </configuration>
注意 :
1. hive.metastore.uris中的“bigdata“含义为metastore server所在的机器(启动metastore的方法见下一节)
2. javax.jdo.option.ConnectionURL中的“bigdata”为mysql安装机器的hostname
3. javax.jdo.option.ConnectionUserName和javax.jdo.option.ConnectionPassword分别为mysql的访问用户和密码,可通过以下命令验证是否有效(期中bigdata为javax.jdo.option.ConnectionURL中配置的地址,xxx为mysql用户名):
mysql –h bigdata-u xxx –p
4. fs.defaultFS为HDFS的namenode启动的机器地址
5. beeline.hs2.connection.user和beeline.hs2.connection.password是beeline方式访问的用户名和密码,可任意指定,但在beeline访问时要写入你指定的这个(具体参考最后一部分)
10.如果是第一次启动hive,需要执行初始化命令
schematool -dbType mysql -initSchema
注意:仅在第一次启动hive时,运行该命令,以后则只需直接启动metastore和hiveserver
11. 启动metastore
nohup hive --service metastore >> /usr/local/hadoop-soft/etc/hive-2.1.1/metastore.log 2>&1 &
12. 启动hive server
nohup hive --service hiveserver2 >> /usr/local/hadoop-soft/etc/hive-2.1.1/hiveserver.log 2>&1 &
13. 查看hive metastore和hiveserver2是否启动成功
ps aux | grep hive
能输出两个进程,分别对应metastore和hiveserver2.
14. Hive常见两种访问方式
a.不建议使用 hive ,已经被淘汰
b. 建议使用 beeline
15. 修改hadoop 安装目录下 ,core-site.xml 文件
比如要用root 用户启动 hive server2和hive metastore,则增加配置:
<property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property>
16. 之后输入以下命令发起一个连接:
!connect jdbc:hive2://master:10000/default master master
其中master 和master 分别是在hive-site.xml配置文件中由beeline.hs2.connection.user和beeline.hs2.connection.password设置的。
注:如果要使用beeline或JDBC连接hive时,遇到报错:“User: xxx is not allowed to impersonate yyy”,需在hadoop的配置文件core-site.xml中加入以下配置(其中红色标志的“xxx”是你启动hive server2和hive metastore所采用的用户,
用户名中不要包含“.”,比如“cheng.dong”是不支持的),并重启hiveserver2, hive metastore,HDFS和YARN:
以上是关于进阶4:hive 安装的主要内容,如果未能解决你的问题,请参考以下文章
我的Android进阶之旅关于Android平台获取文件的mime类型:为啥不传小写后缀名就获取不到mimeType?为啥android 4.4系统获取不到webp格式的mimeType呢?(代码片段
我的Android进阶之旅关于Android平台获取文件的mime类型:为啥不传小写后缀名就获取不到mimeType?为啥android 4.4系统获取不到webp格式的mimeType呢?(代码片段
我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情
我的OpenGL学习进阶之旅NDK开发中find_library查找的系统动态库在哪里?