安装hive与mongodb

5 篇文章 0 订阅
3 篇文章 0 订阅

安装hive(我的hadoop版本3.1.2)

安装hive之前要先安装下mysql,选择了mysql-5.7.x版本

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

下载在当前目录下,并在当前目录下执行命令

tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

为了方便,把/usr/local下mysql的文件名重命名下

mv /usr/local/mysql-xx..   /usr/local/mysql/

创建目录data  mkdir -p /usr/local/mysql/data

据说,为mysql创建专门的用户名以及用户组会比较好

groupadd mysql

useradd -r -g mysql mysql  

//-r Create a system account

修改mysql目录所属

chown -R mysql:mysql /usr/local/mysql/

//应该是这个,只要保证文件所有者跟组变成mysql即可

修改服务

vi /etc/init.d/mysql

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

 

修改my.conf

配置:

[mysqld]

basedir = /usr/local/mysql

datadir = /usr/local/mysql/data

port = 3306

character-set-server=utf8

default_storage_engine = InnoDB sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

看到文件里面有其他的配置前面没加#,加上#注释掉!!!

配置:/etc/profile 为了能全局使用

#mysql environment
export MYSQL_HOME=/usr/local/mysql

安装依赖包

yum -y install numactl.x86_64

yum -y install libaio

开启mysql服务

service mysql start 

永久开启:systemctl start mysql

关闭

service mysql stop

systemctl stop mysql

初始化进入mysql:

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

会生成随机密码,在提示最后面...for root@...: xxxxx(就是这个xxxxx)

进入mysql: mysql -u root -p

Enter password: xxxxx

修改密码:set password = password('新密码');//不要空密码,不要空密码,不要空密码

或者 set password for 'root'@'localhost' =password('password');

创建数据库

create database hive;

退出:quit

据说mysql5.7.6以后的版本已经没有user表中password字段和password()方法

密码改完要记得,忘记了的话,https://blog.csdn.net/wen_z_j/article/details/80729489

装hive:官网下载hive 3.1.1 

https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-3.1.1/

选bin的压缩包吧

下完压缩包去linux所在目录 tar -zxvf apache-hive-3.1.1-bin.tar.gz -C /usr/local/

同理,文件名要是太长太难记了就改吧,不改问题也不大

/etc/profile

#hive environment
export HIVE_HOME=/usr/local/apache-hive-3.1.1-bin
export PATH=$PATH:$HIVE_HOME/bin

source /etc/profile

在/usr/local/apache-hive-3.1.1-bin/conf下有个 hive-env.sh.template

cp hive-env.sh.template hive-env.sh

vi hive-env.sh //找到以下地方配置

# Set HADOOP_HOME to point to a specific hadoop install directory
 HADOOP_HOME=/usr/local/hadoop-3.1.2

# Hive Configuration Directory can be controlled by:
 export HIVE_CONF_DIR=/usr/local/apache-hive-3.1.1-bin/conf

# Folder containing extra libraries required for hive compilation/execution can be controlled by:
# export HIVE_AUX_JARS_PATH=/usr/local/apache-hive-3.1.1-bin/lib

vi hive-site.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>你的mysql密码</value>
</property>
<property>
 <name>javax.jdo.option.ConnectionURL</name>
 <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
 </property>
 <property>
 <name>javax.jdo.option.ConnectionDriverName</name>
 <value>com.mysql.cj.jdbc.Driver</value>
 </property>

</configuration>

下载驱动:

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

Select Operating System: Platform Independent (pick 它!!)

tar -zxvf mysql-connector-java-8.0.15.tar.gz -C /usr/local/

cp mysql-connector-java-8.0.15.jar /usr/local/apache-hive-3.1.1/lib

删除slf4j-log4j:不删除会报错,告诉你haddoop有一个,hive又有一个

rm -rf /usr/local/apache-hive-3.1.1-bin/lib/slf4j-log4j.....jar好像是这样,[tab]补全下

 

然后去mysql -u root -p

  1. mysql> grant all on *.* to root@localhost identified by '你mysql的密码'; #将所有数据库的所有表的所有权限赋给用户
  2. mysql> flush privileges; #刷新mysql系统权限关系表
  3. 退出:quit

linux 命令行:schematool -dbType mysql -initSchema 

启动hadoop: start-all.sh

启动hive:hive

hive> show databases;
OK
default

hive>create database student;

成功创建,应该没什么大问题了

-----------------------------------------------------------------------------------------------

mongodb :大部分按照这位博主的https://www.cnblogs.com/saryli/p/9822819.html

记得创建相应目录

 

在创建用户的时候:
>use admin
switched to db admin 
> db.createUser({user:"dba",pwd:"dba",roles:[{role:"userAdminAnyDatabase",db:"admin"}]}) 

如果报了错,no authorized之类的

>quit();

vi /usr/local/mongodb/bin,将其中的auth = true暂时改成false

然后再去添加用户

>use admin
switched to db admin 
> db.createUser({user:"dba",pwd:"dba",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})

>db.auth('dba','dba')

然后再把auth改成true即可

续:19.04.17

现在发现这样子还没能show collections,在以下博客中找到解决方法

https://www.cnblogs.com/herosoft/p/8399974.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值