hadoop安裝文件
1. 安裝JDK
1.1 JDK安裝步驟
-
下載JDK安裝包(下載Linux系統的 .tar.gz 的安裝包)
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
-
更新Ubuntu源
sudo apt-get update
-
將JDK壓縮包解壓到Ubuntu系統中 /usr/local/ 中
sudo tar -zxvf jdk-8u251-linux-x64.tar.gz -C /usr/local/
-
將解壓的資料夾重新命名為 jdk8
cd /usr/local/
sudo mv jdk1.8.0_251/ jdk8
-
新增到環境變數
cd /home/tarena/
sudo gedit .bashrc
在檔案末尾新增如下內容:
1export JAVA_HOME=/usr/local/jdk8
2export JRE_HOME=$JAVA_HOME/jre
3export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
4export PATH=.:$JAVA_HOME/bin:$PATH
source .bashrc
-
驗證是否安裝成功
java -version
出現java的版本則證明安裝並新增到環境變數成功 java version "1.8.0_251"
2. 安裝Hadoop並配置偽分散式
2.1 Hadoop安裝配置步驟
-
安裝SSH
sudo apt-get install ssh
-
配置免登入認證,避免使用Hadoop時的許可權問題
ssh-keygen -t rsa (輸入此條命令後一路回車)
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
ssh localhost (發現並未讓輸入密碼即可連線)
exit (退出遠端連線狀態)
-
下載Hadoop 2.10(374M)
https://archive.apache.org/dist/hadoop/common/hadoop-2.10.0/hadoop-2.10.0.tar.gz
-
解壓到 /usr/local 目錄中,並將資料夾重新命名為 hadoop,最後設定許可權
sudo tar -zxvf hadoop-2.10.0.tar.gz -C /usr/local/
cd /usr/local
sudo mv hadoop-2.10.0/ hadoop2.10
sudo chown -R tarena hadoop2.10/
-
驗證Hadoop
cd /usr/local/hadoop2.10/bin
./hadoop version (此處出現hadoop的版本)
-
設定JAVE_HOME環境變數
sudo gedit /usr/local/hadoop2.10/etc/hadoop/hadoop-env.sh
把原來的export JAVA_HOME=${JAVA_HOME}改為 export JAVA_HOME=/usr/local/jdk8
-
設定Hadoop環境變數
sudo gedit /home/tarena/.bashrc
在末尾追加
3 1export HADOOP_HOME=/usr/local/hadoop2.10
2export CLASSPATH=.:{JAVA_HOME}/lib:${HADOOP_HOME}/sbin:$PATH
3export PATH=.:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:$PATH
source /home/tarena/.bashrc
-
偽分散式配置,修改2個配置檔案(core-site.xml 和 hdfs-site.xml)
-
修改core-site.xml
sudo gedit /usr/local/hadoop2.10/etc/hadoop/core-site.xml
新增如下內容
10 1<configuration>
2<property>
3<name>hadoop.tmp.dir</name>
4<value>file:/usr/local/hadoop2.10/tmp</value>
5</property>
6<property>
7<name>fs.defaultFS</name>
8<value>hdfs://localhost:9000</value>
9</property>
10</configuration>
-
修改hdfs-site.xml
sudo gedit /usr/local/hadoop2.10/etc/hadoop/hdfs-site.xml
新增如下內容
14 1<configuration>
2<property>
3<name>dfs.replication</name>
4<value>1</value>
5</property>
6<property>
7<name>dfs.namenode.name.dir</name>
8<value>file:/usr/local/hadoop2.10/tmp/dfs/name</value>
9</property>
10<property>
11<name>dfs.datanode.data.dir</name>
12<value>file:/usr/local/hadoop2.10/tmp/dfs/data</value>
13</property>
14</configuration>
-
配置YARN - 1
cd /usr/local/hadoop2.10/etc/hadoop
cp mapred-site.xml.template mapred-site.xml
sudo gedit mapred-site.xml
新增如下配置
4 1<property>
2<name>mapreduce.framework.name</name>
3<value>yarn</value>
4</property>
-
配置YARN - 2
sudo gedit yarn-site.xml
新增如下配置:
4 1<property>
2<name>yarn.nodemanager.aux-services</name>
3<value>mapreduce_shuffle</value>
4</property>
-
執行NameNode格式化
cd /usr/local/hadoop2.10/bin
./hdfs namenode -format
出現 Storage directory /usr/local/hadoop2.10/tmp/dfs/name has been successfully formatted 則表示格式化成功
-
啟動Hadoop所有元件
cd /usr/local/hadoop2.10/sbin
./start-all.sh
啟動時可能會出現警告,直接忽略即可,不影響正常使用
-
啟動成功後,可訪問Web頁面檢視 NameNode 和 Datanode 資訊,還可以線上檢視 HDFS 中的檔案
-
檢視Hadoop相關元件程序
jps
會發現如下程序
5 1NameNode --- 50070
2DataNode --- 50075
3SecondaryNameNode --- 50090
4ResourceManager --- 8088
5NodeManager
-
測試 - 將本地檔案上傳至hdfs
hadoop fs -put 一個本地的任意檔案 /
hadoop fs -ls /
也可以在瀏覽器中Utilities->Browse the file system檢視
3. Hive安裝
3.1 詳細安裝步驟
-
下載hive安裝包(2.3.7版本)
-
解壓到 /usr/local/ 目錄下
sudo tar -zxvf apache-hive-2.3.7-bin.tar.gz -C /usr/local
-
給資料夾重新命名
sudo mv /usr/local/apache-hive-2.3.7-bin /usr/local/hive2.3.7
-
設定環境變數
sudo gedit /home/tarena/.bashrc 在末尾新增如下內容
2 1export HIVE_HOME=/usr/local/hive2.3.7
2export PATH=.:${HIVE_HOME}/bin:$PATH
-
重新整理環境變數
source /home/tarena/.bashrc
-
下載並新增連線MySQL資料庫的jar包(8.0.19 Ubuntu Linux Ubuntu Linux 18.04)
下載連結: https://downloads.mysql.com/archives/c-j/ 解壓後找到 mysql-connector-java-8.0.19.jar 將其拷貝到 /usr/local/hive2.3.7/lib sudo cp -p mysql-connector-java-8.0.19.jar /usr/local/hive2.3.7/lib/
-
建立hive-site.xml配置檔案
sudo touch /usr/local/hive2.3.7/conf/hive-site.xml
sudo gedit /usr/local/hive2.3.7/conf/hive-site.xml 並新增如下內容
22 1<configuration>
2<property>
3<name>javax.jdo.option.ConnectionURL</name>
4<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
5<description>JDBC connect string for a JDBC metastore</description>
6</property>
7<property>
8<name>javax.jdo.option.ConnectionDriverName</name>
9<value>com.mysql.cj.jdbc.Driver</value>
10<description>Driver class name for a JDBC metastore</description>
11</property>
12<property>
13<name>javax.jdo.option.ConnectionUserName</name>
14<value>root</value>
15<description>username to use against metastore database</description>
16</property>
17<property>
18<name>javax.jdo.option.ConnectionPassword</name>
19<value>123456</value>
20<description>password to use against metastore database</description>
21</property>
22</configuration>
-
在hive配置檔案中新增hadoop路徑
cd /usr/local/hive2.3.7/conf sudo cp -p hive-env.sh.template hive-env.sh sudo gedit /usr/local/hive2.3.7/conf/hive-env.sh 新增如下內容:
2 1HADOOP_HOME=/usr/local/hadoop2.10
2export HIVE_CONF_DIR=/usr/local/hive2.3.7/conf
-
hive元資料初始化
schematool -dbType mysql -initSchema
-
測試hive
hive
hive>show databases;
如果能夠正常顯示內容,則hive安裝並配置完畢