Hadoop-2.9.2單機版安裝(偽分散式模式)
一、環境
硬體:虛擬機器VMware、win7
作業系統:Centos-7 64位
主機名: hadoopServerOne
安裝使用者:root
軟體:jdk1.8.0_181、Hadoop-2.9.2
二、安裝jdk
1.建立hadoop目錄,並賦許可權chmod 777 hadoop
2.下載jdk-8u181-linux-x64.tar.gz移動到hadoop目錄下,解壓。
tar -zxvf jdk-8u181-linux-x64.tar.gz
三、配置ssh無密碼登入
(我並沒有這一步,前面配置過)
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
驗證ssh,# ssh localhost
不需要輸入密碼即可登入。
四、安裝Hadoop
1.下載Hadoop-2.9.2
2,解壓安裝
1),複製 hadoop-2.6.5.tar.gz 到/hadoop目錄下,
然後#tar -xzvf hadoop-2.6.5.tar.gz 解壓,解壓後目錄為:/hadoop/hadoop-2.6.5
2),在/hadoop/目錄下,建立tmp、hdfs/name、hdfs/data目錄,執行如下命令 (PS:可以略過,格式化namenode時會根據配置檔案建立)
#mkdir /root/hadoop/tmp
#mkdir /root/hadoop/hdfs
#mkdir /root/hadoop/hdfs/data
#mkdir /root/hadoop/hdfs/name
3),設定環境變數,#vi ~/.bash_profile
編輯insert
儲存退出esc :wq :q!(退出不儲存)
# set hadoop path
export HADOOP_HOME=/root /hadoop/hadoop-2.6.5 export PATH=$PATH:$HADOOP_HOME/bin
4),使環境變數生效,$source ~/.bash_profile
3,Hadoop配置
進入$HADOOP_HOME/etc/hadoop目錄,配置 hadoop-env.sh等。涉及的配置檔案如下:
hadoop-2.6.5/etc/hadoop/hadoop-env.sh
hadoop-2.6.5/etc/hadoop/yarn-env.sh
hadoop-2.6.5/etc/hadoop/core-site.xml
hadoop-2.6.5/etc/hadoop/hdfs-site.xml
hadoop-2.6.5/etc/hadoop/mapred-site.xml
hadoop-2.6.5/etc/hadoop/yarn-site.xml
1)配置hadoop-env.sh
# The java implementation to use.
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/hadoop/jdk1.8.0_181
2)配置yarn-env.sh
#export JAVA_HOME=/home/y/libexec/jdk1.6.0/
export JAVA_HOME=/hadoop/jdk1.8.0_181
3)配置core-site.xml
新增如下配置(為了讓Windows瀏覽器能訪問到,寫虛擬機器地址,而不是localhost):
<configuration> <property> <name>fs.default.name</name> <value>hdfs://192.168.3.132:9000</value> <description>HDFS的URI,檔案系統://namenode標識:埠號</description> </property> <property> <name>hadoop.tmp.dir</name> <value>/root/hadoop/tmp</value> <description>namenode上本地的hadoop臨時資料夾</description> </property> </configuration>
4),配置hdfs-site.xml
新增如下配置
<configuration> <property> <name>dfs.name.dir</name> <value>/hadoop/hdfs/name</value> <description>namenode上儲存hdfs名字空間元資料 </description> </property> <property> <name>dfs.data.dir</name> <value>/hadoop/hdfs/data</value> <description>datanode上資料塊的物理儲存位置</description> </property> <property> <name>dfs.replication</name> <value>1</value> <description>副本個數,配置預設是3,應小於datanode機器數量</description> </property> </configuration>
5),配置mapred-site.xml
新增如下配置:
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
6),配置yarn-site.xml
新增如下配置(埠改為了8099):
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>${yarn.resourcemanager.hostname}:8099</value> </property> </configuration>
4.安裝後啟動步驟:
1).格式化hdfs檔案系統
bin/hadoop namenode -format
2).啟動namenode
sbin/hadoop-daemon.sh start namenode
3).啟動datanode
sbin/hadoop-daemon.sh start namenode
4).啟動yarn
sbin/start-yarn.sh
5.驗證
1)執行jps命令,有如下程序,說明Hadoop正常啟動
2)在瀏覽器中輸入:http://192.168.2.2:8099/cluster 即可看到YARN的ResourceManager的介面。PS:預設埠是8088,這裡設定了yarn.resourcemanager.webapp.address為:${yarn.resourcemanager.hostname}:8099
namenode檢視:http://192.168.2.2:50070
PS:在Windows瀏覽器中訪問虛擬機器中的Linux,需要centos防火牆開啟相應埠
開啟8099埠:
firewall-cmd --permanent --add-port=8099/tcp
重新載入:
firewall-cmd --reload