代码如下:
二. 内嵌模式安装 1) 上传安装包 2) 解压并改名hadoop.proxyuser.root.hosts * hadoop.proxyuser.root.groups *
tar zxvf apache-hive-3.1.2-bin.tar.gz
mv apache-hive-3.1.2-bin hive3) 解决hadoop、hive之间guava版本差异
删除19.0版本的guava
cd /export/server/hive rm -rf lib/guava-19.0.jar
把hadoop安装包下的guava复制到删除的文件目录下
cp /export/server/hadoop-3.1.4/share/hadoop/common/lib/guava-27.0-jre.jar ./lib/4) 修改hive环境变量文件 添加Hadoop_HOME
进入配置文件
cd /export/server/hive/conf/
将模板文件修改一份
mv hive-env.sh.template hive-env.sh
修改配置文件
vi hive-env.sh
添加下面的内容(和自己的配置一致)
export HADOOP_HOME=/export/servers/hadoop-3.1.4 export HIVE_CONF_DIR=/export/servers/hive/conf export HIVE_AUX_JARS_PATH=/export/servers/hive/lib5) 初始化metadata
cd /export/servers/hive bin/schematool -dbType derby -initSchema
记得先启动hdfs和yarn
并且关闭安全模式
hdfs dfsadmin -safemode leave
bin/hive
启动运行成功
注意:Hive3版本需要用户手动进行元数据初始化动作。内嵌模式下,判断是否初始化成功的依据是执行命令之后输出信息和执行命令的当前路径下是否有文件产生。
已经安装过,此步骤略过.
2) 上传安装包并删除内嵌模式安装的hive 3) 解压并改名cd /export/servers/ tar zxvf apache-hive-3.1.2-bin.tar.gz mv apache-hive-3.1.2-bin hive
cd /export/servers/hive rm -rf lib/guava-19.0.jar cp /export/servers/hadoop-3.1.4/share/hadoop/common/lib/guava-27.0-jre.jar ./lib/5) 添加mysql jdbc驱动到hive安装包lib/文件下 6) 修改hive环境变量文件 添加Hadoop_HOME
修改配置文件名字
cd /export/servers/hive/conf/ mv hive-env.sh.template hive-env.sh
对其修改
vim hive-env.sh
export HADOOP_HOME=/export/servers/hadoop-3.1.4 export HIVE_CONF_DIR=/export/servers/hive/conf export HIVE_AUX_JARS_PATH=/export/servers/hive/lib7) 新增hive-site.xml 配置mysql等相关信息
vi hive-site.xml
加入以下内容
8) 初始化metadatajavax.jdo.option.ConnectionURL jdbc:mysql://hadoop01:3306/hive?createDatabaseIfNotExist=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8 javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver javax.jdo.option.ConnectionUserName root javax.jdo.option.ConnectionPassword Root123! hive.metastore.event.db.notification.api.auth false hive.metastore.schema.verification false
cd /export/servers/hive bin/schematool -initSchema -dbType mysql -verbos
初始化成功会在mysql中自动创建hive数据库和74张表
记得先启动hdfs和yarn
并且关闭安全模式
hdfs dfsadmin -safemode leave
bin/hive
启动成功并且可以正常操作
cd /export/servers/hive rm -rf lib/guava-19.0.jar cp /export/servers/hadoop-3.1.4/share/hadoop/common/lib/guava-27.0-jre.jar ./lib/3) 添加mysql jdbc驱动到hive安装包lib/文件下 4) 修改hive环境变量文件 添加Hadoop_HOME
cd /export/servers/hive/conf/ mv hive-env.sh.template hive-env.sh
vi hive-env.sh
export HADOOP_HOME=/export/servers/hadoop-3.1.4 export HIVE_CONF_DIR=/export/servers/hive/conf export HIVE_AUX_JARS_PATH=/export/servers/hive/lib5) 新增hive-site.xml 配置mysql等相关信息
vi hive-site.xml
6) 初始化metadatajavax.jdo.option.ConnectionURL jdbc:mysql://hadoop01:3306/hive?createDatabaseIfNotExist=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8 javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver javax.jdo.option.ConnectionUserName root javax.jdo.option.ConnectionPassword Root23! hive.server2.thrift.bind.host hadoop01 hive.metastore.uris thrift://hadoop01:9083 hive.metastore.event.db.notification.api.auth false hive.metastore.schema.verification false
cd /export/servers/hive bin/schematool -initSchema -dbType mysql -verbos
初始化成功会在mysql中创建74张表
/export/servers/hive/bin/hive --service metastore
克隆一个会话重新启动
/export/servers/hive/bin/hive8) 后台启动 进程挂起 关闭使用jps + kill
#输入命令回车执行 再次回车 进程将挂起后台
nohup /export/servers/hive/bin/hive --service metastore &
日志输出到了如下文件中
再次启动hive
退出时记得kill掉后台进程
/export/servers/hive/bin/hive --service metastore --hiveconf hive.root.logger=DEBUG,console四. 将hive安装到hadoop03 1) 将安装包上传 2) 解压改名
cd /export/servers/hive rm -rf lib/guava-19.0.jar cp /export/servers/hadoop-3.1.4/share/hadoop/common/lib/guava-27.0-jre.jar ./lib/4) 修改hive环境变量文件 添加Hadoop_HOME
cd /export/servers/hive/conf mv hive-env.sh.template hive-env.sh
vi hive-env.sh
export HADOOP_HOME=/export/servers/hadoop-3.1.4 export HIVE_CONF_DIR=/export/servers/hive/conf export HIVE_AUX_JARS_PATH=/export/servers/hive/lib5) 新增hive-site.xml 配置mysql等相关信息
vi hive-site.xml
添加以下信息
6) 启动hive(Hadoop01的 metastore服务必须开启)hive.metastore.uris thrift://hadoop01:9083
测试,发现成功同步
/export/servers/hive/bin/hive --service hiveserver2
注意hiveserver启动后需要等一会儿才能使用,这一点比较难受
/export/servers/hive/bin/beeline
无日志启动
/export/servers/hive/bin/beeline --hiveconf hive.server2.logging.operation.level=NONE
设置本地运行避免小数据通过mr处理缓慢
set hive.exec.mode.local.auto=true;
! connect jdbc:hive2://hadoop01:10000
测试,成功运行
并且发现beeline客户端还可以打印日志信息



