鸣谢——主要参考:
1. MySQL运维:设置或修改用户密码的方法
2.Hive:如何开启、关闭server服务
3.ERROR 1396 (HY000): Operation ALTER USER failed for ‘root’@‘localhost’
4.hue从安装到集成hdfs、sql等hadoop环境专栏
正文开始,前置环节:
【说明】:在本分布式中,slave1、slave2主要作为数据存储。而,hive是用于检索的工具,故仅在Master服务器端安装hive与mysql。
Mysql环境搭建:
【说明】:mysql与hive好像没有版本兼容问题,故下载5.7版本
1.下载mysql5.7组件
cd /home/test/install/
#ubantu系统对应指令
sudo apt-get install mysql-server-5.7 #安装MySQL的客户端和服务端
sudo apt install libmysqlclient-dev #安装MySQL需要的依赖
ps -e | grep mysql #查看状态
2.创建Mysql账户信息
2.1. 启动Mysql:
#1.1开启(关闭)mysql
cd /home/test/install #你下载Mysql的目录
service mysql start #启动mysql
#service mysql stop指令就是关闭
service mysql status #查看mysql安装情况:出现绿色灯泡则表示正常启动,ESC键+输入":wq"退出查看
2.2. 初始化Mysql的root账户信息
#2.初始化登入Mysql的root账户信息
mysql_secure_installation #初始化账户信息,如下
3.设置用户hive登录的账户
#3.1进入mysql
cd ~ #进入linux的/root目录
mysql -uroot -p #登录,mysql,之后会提醒输入密码
#3.2创建,hive访问mysql的用户及权限
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' IDENTIFIED BY 'hive' WITH GRANT OPTION; #hive是账户名,identified by后面的是用户密码
flush privileges; #更新操作
#3.3测试用户登录状态
exit #从“mysql”退出到“linux的命令行”
mysql -uhive -p #u后面的就是Mysql的账户名,hive。输入,密码hive即可登录,说明成功
#补充,想修改自己的mysql账户(我修改了,不想修改的别管如下指令)
#确保自己知道过去的密码,并按照“3.3”登录进hive账户
SET password=password("newpassword"); #newpassword:新密码
二、(仅Master-主服务器端)配置hive环境:
【说明】:由于hive类似mysql是作为数据检索的工具,故,不再dataNode端服务器安装,仅在nameNode端安装。
1.装载hive安装包
- 载入安装包
#1.载入安装包
cd /home/test/Downloads
tar -zxvf /home/test/Downloads/hive-1.1.0-cdh5.14.0.tar.gz -C /home/test/install/ #解压到install目录路径下
- 设置安装路径
#2.安装环境配置
vim /etc/profile
#填入如下信息之后:wq退出
export HIVE_HOME=/home/test/install/hive-1.1.0-cdh5.14.0
export CLASSPATH=.:${
HIVE_HOME}/lib:$CLASSPATH
export PATH=${
HIVE_HOME}/bin:${
HIVE_HOME}/conf:$PATH
#退出编辑后,输入:
source /etc/profile #激活环境变量,没输入此命令一般无法使用查看hive命令
- 检查安装路径状态
#3.查看hive安装情况
hive --version #查看hive版本
【正确安装结果】:
【问题-1.1】:查看hive版本时提示,ls: cannot access ‘…/lib/spark-assembly-*.jar’: No such file or directory
【思路】:参考如下步骤。原理:链接
【问题-1.2】:查看hive版本时,提示,“SLF4J: Class path contains multiple SLF4J bindings.”
【思路】本义是指“日志实现”的方式出现冲突。其中,“slf4j-log4j12”是日志自适应接口,“slf4j-impl”是日志的具体接口,故删除自适应接口。参考
【问题-1.3】:查看hive版本时,提示:Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
【思路】hadoop缺少相应的native包,下载并且配置其到hadoop的native库中即可。原理:链接
#1.下载需要的native包(上述链接中,有所有版本的下载地址,或者直接更改下列命令的指令——但可能没有所以还是得看一下)
cd /home/test/Downloads/ #进入自己一般存下载文件的地方
wget http://dl.bintray.com/sequenceiq/sequenceiq-bin/hadoop-native-64-2.6.0.tar #我是2.6.0的hadoop版本,所以下载这个到当前目录
#2.解压上述文件到自己安装hadoop的目录下的两个地方
tar -xvf hadoop-native-64-2.6.0.tar -C /home/test/install/hadoop-2.6.0-cdh5.14.0/lib/native/ #hadoop安装目录/lib/native
tar -xvf hadoop-native-64-2.6.0.tar -C /home/test/install/hadoop-2.6.0-cdh5.14.0/lib #hadoop安装目录/lib
#3.配置环境变量
sudo vim /etc/profile
#加入,如下图:
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
#4.:wq,并刷新环境配置就行了
source /etc/profile
2.创建并修改hive配置文件
#2.1.编辑hive安装配置文件
cd /home/test/install/hive-1.1.0-cdh5.14.0/conf #进入自己安装hive的路径下的conf文件夹
#4.0 复制,temple文件为需要的设置文件,teplate为文件模型(系统自带,但有时不被编译接受)
cp hive-env.sh.template hive-env.sh
#cp hive-default.xml.template hive-site.xml #有的地方有默认的,没有的话自己创建一个
vi hive-site.xml #创建一个“hive-site.xml”文件
cp hive-log4j.properties.template hive-log4j2.properties
cp hive-exec-log4j.properties.template hive-exec-log4j2.properties
2.1.编辑配置文件:vim hive-site.xml
- 编辑“vim hive-site.xml”
<configuration>
<!-- 设置JDBC与MySQL之间的连接 -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&characterEncoding=latin1&useSSL=false</value>