Hadoop環境搭建
Hadoop環境搭建
安裝前準備
檢視防火牆狀態,若處於啟用(inaction)狀態,關閉防火牆
sudo ufw status
檢視時間伺服器是否執行,若NTP尚未安裝就執行安裝命令
dpkg -l | grep ntp #檢查是否安裝
apt-get install ntp #NTP安裝
安裝ssh和設定免密登入
1.安裝ssh服務
ssh服務端openssh-server預設沒有安裝,所以要安裝ssh服務
apt-get install openssh-server #安裝ssh服務
/etc/init.d/ssh restart #重啟ssh服務
可以用 dpkg –l|grep ssh
安裝後可以使用 ssh localhost
登入本機,發現登入時需要密碼.
2.下面我們要設定免密登入.
-
exit
退出剛才的ssh,進入~/.ssh
目錄 -
ssh-keygen -t rsa
生成金鑰 -
cat ./id_rsa.pub >> authorized_keys
將金鑰追加到授權中
至此,免密登入設定完成,再次使用 ssh localhost
登入本機,就會發現不再提示輸入密碼,免密登入設定完成
安裝Java
-
下載並解壓壓縮包
tar -zxvf jdk-8u181-linux-x64.tar.gz -C ~
-
配置jdk環境變數
vi ~/.bashrc
開啟之後在末尾新增
export JAVA_HOME=~/jdk1.8.0_1712 #自己的版本
export JRE_HOME=${JAVA_HOME}/jre #
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/1ib
export PATH=${JAVA_HOME}/bin:$PATH
重新整理使配置生效
source ~/.bashrc
-
檢驗是否安裝成功
java -version
Hadoop偽分散式安裝
-
下載並解壓Hadoop壓縮包
tar -zxvf hadoop-2.7.3.tar.gz -C /usr/local
-
進入解壓目錄,將
hadoop-2.7.3
資料夾名稱改成hadoop
mv hadoop-2.7.3 hadoop
-
修改資料夾許可權
chown -R wz /usr/local/hadoop
-
修改配置檔案
hadoop-env.sh
配置檔案在路徑/usr/local/hadoop/etc/hadoop
下,在配置檔案中找到export JAVA_HOME
,修改為下:
# The java implementation to use.
export JAVA_HOME=/home/hadoop/jdk1.8.0_ 171 #cd ${JAVA_HOME} ; pwd
- 修改配置檔案
core-site.xml
在<configuration>
和</configuration>
之間增加如下圖的內容:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
-
修改
hdfs-site.xml
檔案,在<configuration>
和</configuration>
之間增加如下內容:dfs.replication 1 dfs.namenode.name.dir file:/usr/local/hadoop/tmp/dfs/name dfs.datanode.data.dir file:/usr/local/hadoop/tmp/dfs/data dfs.http.address 0.0.0.0:50070 -
進入
/usr/local/hadoop
路徑,輸入如下指令進行格式化./bin/hdfs namenode -format
-
驗證是否安裝成功
./sbin/start-dfs.sh #啟動hdfs程序
jps #檢視程序(三個程序) -
配置環境變數
為了可以在任意目錄下使用hadoop命令,我們需要在-/.bashrc目錄下配置hadoop的環境變數,使用vi命令開啟/.bashrc
檔案:
$ vi ~/.bashre
在檔案末尾新增如下程式碼,儲存退出
export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin
source ~/.bashrc #使配置生效
hadoop version #驗證
FAQ
-
編輯時按方向鍵出現ABCD: 更新vi編輯器
apt-get install vim
-
執行
./bin/hdfs namenode -format
時報錯:
/home/wz/jdk1.8.0_181': not a valid identifier
Error: JAVA_HOME is not set and could not be found.
開啟/usr/local/hadoop/etc/hadoop/hadoop-env.sh
去掉 JAVA_HOME之前的空格