1.node001机器安装mysqlserver
- yum安装
yum install mysql-server -y
- 服务启动
service mysqld start
- 开机自启
chkconfig mysqld on
- 修改权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION; flush privileges;
- 登录MySQL,删除多余会对权限造成影响的数据,再刷新权限
mysql -uroot -p
show databases;
use mysql;
select host,user,password from user;
delete from user where host!='%';
flush privilieges;
2.安装hive(多用户模式:remote分开)
- 下载hive——地址:http://mirror.bit.edu.cn/apache/hive/
- 将hive解压到/usr/local下:
tar -zxvf apache-hive-2.1.1-bin.tar.gz -C /usr/local
- 将文件重命名为hive文件:
mv apache-hive-2.1.1-bin hive
- 修改环境变量/etc/profile:
vim /etc/profile
1 #hive
2 export HIVE_HOME=/usr/local/hive
3 export PATH=$PATH:$HIVE_HOME/bin
source /etc.profile
- (服务端node003;客户端node004)配置文件:
cd /usr/local/hive/conf/
cp hive-default.xml.template hive-site.xml
vim hive-site.xml
服务端node003配置文件
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://node001:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123</value>
</property>
</configuration>
客户端node004配置文件
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value> #与服务端一致
</property>
#元数据管理
<property>
<name>hive.metastore.local</name>
<value>false</value>
</property>
#服务所在位置
<property>
<name>hive.metastore.uris</name>
<value>thrift://node003:9083</value> #启动出错,把value值删掉后运行成功,具体为什么不知道。。。。
</property>
</configuration>
- 复制mysql的驱动程序到hive/lib下面:mysql-connector-java-5.1.18-bin.jar
- 在mysql中hive的schema:
1 [root@s100 bin]# pwd
2 /usr/local/hive/bin
3 [root@s100 bin]# schematool -dbType mysql -initSchema
- 客户端直接执行hive命令:
hive
- 启动hive服务端程序
hive – service metastore
客户端启动的时候要注意:
[ERROR] Terminal initialization failed; falling back to unsupported java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
at jline.TerminalFactory.create(TerminalFactory.java:101)
错误的原因: Hadoop jline版本和hive的jline不一致
找到hodoop解压文件夹中jline包替换成hive中lib文件夹下的jline包