开始mysql,上来就咣当
原因?CentOS7带有MariaDB而不是MySQL,但是你自带归自带,不让人家装是不是太霸道了?
非要装?先添加mysql社区repo
#rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
然后就可以该怎么装怎么装了
yum install mysql mysql-server mysql-libs mysql-server mysql-devel ...c
比较忐忑,都不让装了,会不会哪里有些坑等着我呢……
启动:service mysql start
查看一下状态:service mysql status
哦对了,人家提醒了,以后要用systemctl取代service
mysql -uroot登录一下
还行还行,目前没什么问题,我打算一会手欠折腾折腾它,等我先配置完hive的
解压,进入conf,创建一个hive-site.xml(需要创建?)
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.18.241;3306/hive_13?characterEncoding=UTF-8</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mmysql.jdbc.Drivers</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>stariches</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>stariches</value>
</property>
</configuration>
好累
把mysql的java connector复制到lib中
$cp mysql-connector-java-8.0.11.jar /home/elastic/apache-hive-2.3.3-bin/lib/
配置环境变量
加上
#HIVE
export HIVE_HOME=/home/elastic/apache-hive-2.3.3-bin
export PATH=$PATH:$HIVE_HOME/bin
懒得gedit也可以
echo "export HIVE_HOME=/home/elastic/apache-hive-2.3.3-bin">>$PWD/.bash_profile
echo "export PATH=$PATH:$HIVE_HOME/bin">>$PWD/.bash_profile
哪个顺手用哪个,记得source
启动一下:
好的好的
看看环境变量,有啊。。。
查了一下,conf/下有一个hive-env.sh.templete,cp一份到conf/hive-env.sh(怎么这次就有templete了)
编辑一下,发现里面果然有一个HADOOP_HOME
配置好
BUT!!!!
问题依旧!!!
坑先挖了,我要先把presto配了,忙完这个项目我会跳回来的。。。
我回来了,先用hive 2.1.1配置完了,2.3.3等我忙完这段回来继续研究
下载,解压,不说
sudo yum install mysql-connector-java 安装一个java connector,该命令会在/usr/share/java/下产生mysql-connector-java.jar
建立一个软链接,ln -s /usr/share/java/mysql-connector-java.jar /home/elastic/apache-hive-2.1.1-bin/lib/mysql-connector-java.jar,当然cp也可以
sudo service mysqld start(ps aux | grep mysql可以看一下启动了没有)
修改一下密码:
mysql -u root
mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD('root') WHERE user = 'root';(我是为了好记,密码也写成root)
mysql> FLUSH PRIVILEGES;
允许root通过任意机器访问mysql:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
补充一点:
MySQL登录与退出
登录Mysql:“输入mysql -u帐号 -p密码 这是登陆
mysql -uroot -p -P3306 -h127.0.0.1
表示超级用户名root,密码稍后输入,端口号3306(不输入P默认为3306),
主机地址127.0.0.1(若使用本机作为主机,h默认127.0.0.1)
mysql退出三种方法:
mysql > exit;
mysql > quit;
mysql > \q;
配置环境变量(跟上面一样)
source一下(这里有一个不知道是什么的坑,一会说)
配置hive-site.xml
启动metastore和hiveserver2(2?这么随意?)
前台启动
hive --service metastore
hive --service hiveserver2
后台运行
nohup hive --service metastore &
nohup hive --service hiveserver2 &
当然也可以输出重定向到一个日志文件
nohup hive --service metastore >> /home/elastic/apache-hive-2.1.1-bin/metastore.log 2>&1 &
nohup hive --service hiveserver2 >> /home/elastic/apache-hive-2.1.1-bin/hiveserver.log 2>&1 &
关于nohup,可以参考这篇文章《nohup和&后台运行,进程查看及终止》
关于输出重定向,可以参考这篇文章《Linux标准输入、输出和错误和文件重定向 专题》
各有好处,如果是前台,就是这样
ctrl+c可以退出
如果是后台的话,那就只有ps aux|grep hive
看到进程ID了吧,不用我说了吧
beeline进去,输入!connect jdbc:hive2://CentOS7Master:10000/default elastic elastic
该干啥干啥吧
好了现在说一个坑,就是我在执行完hive --service metastore(或者hiveserver2)后,不确定哪次(也就是不是一直这样),环境变量就没了。。。
不用怀疑,文件是好的,source一下就行
可是,为什么?
linux还很白,待我回头自己填这个坑……