Linux搭建hive

1.node001机器安装mysqlserver

  1. yum安装yum install mysql-server -y
  2. 服务启动service mysqld start
  3. 开机自启 chkconfig mysqld on
  4. 修改权限GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION; flush privileges;
  5. 登录MySQL,删除多余会对权限造成影响的数据,再刷新权限
mysql -uroot -p
show databases;
use mysql;
select host,user,password from user;
delete from user where host!='%';
flush privilieges;

2.安装hive(多用户模式:remote分开)

  1. 下载hive——地址:http://mirror.bit.edu.cn/apache/hive/
  2. 将hive解压到/usr/local下:tar -zxvf apache-hive-2.1.1-bin.tar.gz -C /usr/local
  3. 将文件重命名为hive文件:mv apache-hive-2.1.1-bin hive
  4. 修改环境变量/etc/profile:vim /etc/profile
1 #hive
2 export HIVE_HOME=/usr/local/hive
3 export PATH=$PATH:$HIVE_HOME/bin
source /etc.profile
  1. (服务端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>  

  1. 复制mysql的驱动程序到hive/lib下面:mysql-connector-java-5.1.18-bin.jar
  2. 在mysql中hive的schema:
1 [root@s100 bin]# pwd
2 /usr/local/hive/bin
3 [root@s100 bin]# schematool -dbType mysql -initSchema
  1. 客户端直接执行hive命令:hive
  2. 启动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包

猜你喜欢

转载自blog.csdn.net/qq_30281559/article/details/88957938
今日推荐