廢話不多說,上來就幹
1、爲了避免因爲端口帶來的問題,首先關閉防火牆
systemctl status firewalld //查看防火牆狀態
systemctl stop firewalld //關閉防火牆
systemctl disable firewalld //禁止開機自啓動
2、安裝java1.8
yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
查看jdk:
ls /usr/lib/jvm
重命名(簡單點,以防路徑出錯)
cd /usr/lib/jvm
mv java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64 java1.8
設置環境變量
vi /etc/profile
在最後一行加上以下內容,JAVA_HOME就是你的路徑
#java home
export JAVA_HOME=/usr/lib/jvm/java1.8
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
讓環境變量重新生效
source /etc/profile
查看java版本
java -version
3、安裝hadoop
如果沒有wget,先安裝,如果已經安裝,但用不了,則先卸載再重新安裝
yum search wget //查看wget
yum remove wget //卸載wget
yum install wget //安裝wget
用wget安裝hadoop2.7
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz
在根目錄創建hadoop目錄
cd ~
mkdir hadoop
解壓到hadoop目錄
tar -zxvf hadoop-2.7.7.tar.gz -C hadoop
4、配置hadoop
打開hadoop-2.7.7/etc/hadoop
配置hadoop-env.sh環境變量,找到java環境變量的位置,手動配置全路徑
vi hadoop-env.sh
配置core-site.xml
添加fs.defaultFS屬性,注意在虛擬機中他可以是主機名,但是在阿里雲中要使用他的內網ip地址,如果不知道內網地址,可以使用命令ip addr查看
hadoop.tmp.dir並不是臨時目錄,這裏建議更改爲自己的目錄,防止數據丟失
vi core-site.xml
配置hdfs-site.xml
dfs.replication代表主機數量,現在是單機僞分佈式,所以值爲1
dfs.permissions是權限信息,默認爲true,這裏我們設置爲false
vi hdfs-site.xml
配置mapred-site.xml
這裏其實名字是mapred-site.xml.template,我們要把它更名爲mapred-site.xml
mv mapred-site.xml.template mapred-site.xml //重命名
vi mapred-site.xml
配置yarn-site.xml,注意這裏的主機名也是填寫內網
vi yarn-site.xml
至此,配置完成,我們打開/root/hadoop/hadoop-2.7.7/bin,然後利用命令ls查看文件夾的內容,可以發現有hdfs命令
我們可以利用它進行初始化
hdfs namenode -format
出現has been successed format字樣就說明初始化成功
如果你們的hdfs提示沒有 此命令,那麼我們就要配置環境變量,將下面的路徑添加到最下面(就是jdk後面)
vi /etc/profile
然後必須要讓環境變量生效
source /etc/profile
格式化namenode後我們需要到目錄/root/hadoop/hadoop-2.7.7/sbin目錄去啓動進程
./start-all.sh //啓動全部進程
然後輸入jps即可查看全部進程
這時候在瀏覽器通過 (公網ip:9000)訪問,如果出現
It looks like you are making an HTTP request to a Hadoop IPC port. This is not the correct port for the web interface on this daemon.
則使用(公網ip:50070)訪問
排錯
大家在部署過程中肯定會出現各種各樣的問題,記得一定要到logs目錄下查看日誌,哪個進程沒啓動 就查看哪個進程的log