hive安装总结:
安装的系统是linux centos6.8
1,下载软件,解压
openssh-7.5p1.tar.gz
首先安装ssh,卸载旧的版本
解压后make & make install
安装后设置,/etc/ssh/ssh_config文件设置ForwardAgent yes, 这个设置是为使用ssh-agent(专用密钥高速缓存)和keychain(单点登录)
ssh-keygen -t rsa -P 'hadoop' -f ~/.ssh/id_rsa
ssh-keygen -t dsa -P 'hadoop' -f ~/.ssh/id_dsa
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
cp ~/.ssh/id_dsa.pub ~/.ssh/authorized_keys2
(cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys2)
chmod 0600 ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys2
scp ~/.ssh/authorized_keys userb@slave2:~/.ssh
scp ~/.ssh/authorized_keys2 userb@slave2:~/.ssh
ssh-add ~/.ssh/id_rsa //添加到ssh-agent高速缓存中
ssh-add ~/.ssh/id_dsa //添加到ssh-agent高速缓存中
下面这步hadoop中是需要的,尤其是datanode,否则会抛出错误:master1: ssh: connect to host master1 port 22: No route to host
ssh localhost //Permanently added 'localhost' (ECDSA) to the list of known hosts.
启动:sudo service sshd restart
安装hadoop,用的版本是2.7.7,安装过程不叙述了,网上很多
hadoop-2.7.7.tar.gz
升级mysql, 先卸载旧的版本:
下载软件:
mysql-community-client-8.0.12-1.el6.x86_64.rpm
mysql-community-common-8.0.12-1.el6.x86_64.rpm
mysql-community-libs-8.0.12-1.el6.x86_64.rpm
mysql-community-server-8.0.12-1.el6.x86_64.rpm
查看已安装包:
rpm -qa | grep -i mysql
卸载:
rpm -ev --nodeps mysql-libs-5.1.73-7.el6.x86_64
rpm -ev --nodeps perl-DBD-MySQL-4.013-3.el6.x86_64
rpm -ev --nodeps qt-mysql-4.6.2-28.el6_5.x86_64
rpm -ev --nodeps mysql-server-5.1.73-7.el6.x86_64
rpm -ev --nodeps mysql-5.1.73-7.el6.x86_64
安装顺序:
rpm -ivh mysql-community-common-8.0.12-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.12-1.el6.x86_64.rpm
rpm -ivh mysql-community-client-8.0.12-1.el6.x86_64.rpm
rpm -ivh mysql-community-server-8.0.12-1.el6.x86_64.rpm
安装后设置:
创建data目录,作为数据库存储位置:
mkdir /usr/local/mysql/data
配置my.cnf文件(/etc/my.cnf):
datadir=/usr/local/mysql/data
修改权限 (linux):
cd /usr/local/mysql
chown –R mysql . //把当前目录下的文件及目录的属性改为mysql用户
chgrp –R mysql . //把当前目录下的文件所属的组件改为mysql组
初始化:
mysqld --initialize --console
Mysql 安装之后默认的数据文件存储目录为/var/lib/mysql, 日志文件存储目录/var/log/mysqld.log
修改文件夹属性
chmod g+w -R mysql
chmod g+w -R mysql-files
chmod g+w -R mysql-keyring
chown mysql:mysql -R mysql
chown mysql:mysql -R mysql-files
chown mysql:mysql -R mysql-keyring
启动服务:
net start mysql(windows)
sudo service mysqld start(linux)
登录:
mysql -u root -p //这里要输入密码, 系统初始化密码界面有提示,或查看日志
修改root密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'westking';
如果用客户端登录报错(SQL Manager for MYSQL):
Authentication plugin 'caching_sha2_password' cannot be loaded
解决:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'westking';
连接字符串:
mysql-connector-java-8.0.12.jar, 这是一个平台无关包,连接字符串中必须包含时区信息
第一种方式,参数比较全:
String url = "jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";
Class.forName("com.mysql.cj.jdbc.Driver");//com.mysql.cj.jdbc.Driver 取代com.mysql.jdbc.Driver
mysql-connector-java-8.0.12.tar.gz
安装hive:
下载软件
apache-hive-2.3.3-bin.tar.gz
解压后配置:
$ tar -xzvf hive-x.y.z.tar.gz
设置环境变量 HIVE_HOME 指向安装目录
$ cd hive-x.y.z
$ export HIVE_HOME={{pwd}}
设置PATH环境变量:
$ export PATH=$HIVE_HOME/bin:$PATH
首先hadoop配置,修改core-site.xml
在hadoop中创建目录,设置权限:
$ $HADOOP_HOME/bin/hadoop fs -mkdir /tmp
$ $HADOOP_HOME/bin/hadoop fs -mkdir /user/hive/warehouse
$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /tmp
$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /user/hive/warehouse
其次设置mysql,hive使用的是mysql数据库存储元数据,而不是内置的derby,所以要设置一下,如果使用内置的derby数据库,无需设置:
进入所安装的Hive的conf目录,找到hive-site.xml,(若没修改,则是hive-default.xml.template)。
在hive-site.xml中:
JDBC connect string for a JDBC metastore.
To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL.
For example, jdbc:postgresql://myhost/db?ssl=true for postgres database.
下载mysql-connector-java-8.0.12.jar,并添加到hive目录下的lib中.
cp mysql-connector-java-8.0.12.jar /home/install/apache-hive-2.3.3-bin/lib/ 注意替换/home/install为具体安装目录
设置:
初始化schematool -initSchema -dbType mysql, mysql数据库中会创建一个hive数据库,如果该数据库存在,初始化前手工先删除
启动测试:
$ $HIVE_HOME/bin/hiveserver2
$ $HIVE_HOME/bin/beeline -u jdbc:hive2://localhost:10000
或者beeline
!connect jdbc:hive2://localhost:10000
输入用户名:userb (hadoop配置--core-site.xml中设置的用户名hadoop.proxyuser.userb.hosts)
输入密码:xxxxx
输入命令:
show databases;