第一:修改 hadoop 集羣的 hdfs-site.xml 配置文件:加入一條配置信息,表示啓用 webhdfs
cd /home/hadoop/apps/hadoop-2.7.5/etc/hadoop
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
第二:修改 hadoop 集羣的 core-site.xml 配置文件:加入兩條配置信息:表示設置 hadoop的代理用戶
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
最後發送修改的文件給別的節點:
[hadoop@hadoop05 hadoop]$ scp -r hdfs-site.xml hadoop02:$PWD
[hadoop@hadoop05 hadoop]$ scp -r hdfs-site.xml hadoop03:$PWD
[hadoop@hadoop05 hadoop]$ scp -r hdfs-site.xml hadoop04:$PWD
[hadoop@hadoop05 hadoop]$ scp -r core-site.xml hadoop02:$PWD
[hadoop@hadoop05 hadoop]$ scp -r core-site.xml hadoop03:$PWD
[hadoop@hadoop05 hadoop]$ scp -r core-site.xml hadoop04:$PWD
配置解析:
hadoop.proxyuser.hadoop.hosts 配置成*的意義,表示任意節點使用 hadoop 集羣的代理用戶hadoop 都能訪問 hdfs 集羣,hadoop.proxyuser.hadoop.groups 表示代理用戶的組所屬
以上操作做好了之後,請繼續做如下
---------------------------------------------------------------------------------------------------------------------
啓動爲前臺:
第一步:先啓動 hiveserver2 服務
(我的hive裝在hadoop05上所以在05輸入hiveserver2命令):
啓動爲前臺:(窗口不能關不能動,只能在複製一個hadoop05的窗口)
運行 hiveserver2 命令,如下圖,不要管
然後再克隆一個hadoop05窗口
使用jps查看進程
第二步:啓動 beeline客戶端
在克隆的窗口輸出 beeline 命令,進入到beeline客戶端,然後輸入
beeline> !connect jdbc:hive2://hadoop05:10000
!connect jdbc:hive2:// 這是固定的,後面的是hive客戶端服務在哪個節點上(我的hive裝在hadoop05),端口號10000
輸入hadoop05節點的用戶名
Enter username for jdbc:hive2://hadoop05:10000: hadoop
輸入hadoop05節點的密碼
Enter password for jdbc:hive2://hadoop05:10000: hadoop
---------------------------------------------------------------------------------------------------------------------
啓動爲後臺:
第一步:先啓動 hiveserver2 服務
nohup hiveserver2 1>/home/hadoop/hiveserver.log 2>/home/hadoop/hiveserver.err &
或者:nohup hiveserver2 1>/dev/null 2>/dev/null &
或者:nohup hiveserver2 >/dev/null 2>&1 &
以上 3 個命令是等價的,第一個表示記錄日誌,第二個和第三個表示不記錄日誌
命令中的 1 和 2 的意義分別是:
1:表示標準日誌輸出
2:表示錯誤日誌輸出
如果我沒有配置日誌的輸出路徑,日誌會生成在當前工作目錄,默認的日誌名稱叫做:nohup.xxx
第二步:啓動 beeline客戶端
執行命令:
beeline -u jdbc:hive2://hadoop05:10000 -n hadoop
另外還有一種方式也可以去連接:先執行 beeline
然後按圖所示輸入:!connect jdbc:hive2://hadoop02:10000 按回車,然後輸入用戶名,這個用戶名就是安裝 hadoop 集羣的用戶名,(圖應該是hadoop05,因爲我hive裝在05)
最後進入客戶端就是爲了方便的看到下圖的效果,橫豎對其的。
如果發現beeline連接不上,可能是spark版本出了問題,需要在hive的元數據庫中(mysql)修改一下spark的版本號