1
?前期準(zhǔn)備?
ubuntu(此例用18.10)虛擬機下載地址:https://mirrors.tuna.tsinghua.edu.cn/
為了方便兩個虛擬機的用戶名都設(shè)置為hadoop,密碼隨意。
安裝java、vim、python和openssh-server,master和slave都要裝
sudo apt install java-8-openjdk-amd64
sudo apt install vim
sudo apt install python
sudo apt install openssh-server
vim是一個十分好用的編輯器,可以用鍵盤在文檔中掌控一切~
下載完畢來檢測一下是否安裝成功
java -version//顯示版本信息
hadoop及java環(huán)境配置:
master和slave都下載hadoop: http://mirrors.cnnic.cn/apache/hadoop/common
為了方便將hadoop文件夾放在/usr/local下
配置環(huán)境變量
sudo vi ~/.bashrc
在文件最下面加入如下代碼
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
退出后使環(huán)境變量生效
source ~/.bashrc
2
?hadoop分布式部署?
修改主機名及映射:
在設(shè)置中查看master和slave的ip分別是多少,找個小本本記下來更改hosts文件時開頭分別為這個ip
sudo vi /etc/hostname//分別改為master和slave
sudo vi /etc/hosts//在127.0.0.1下添加如下內(nèi)容
xxx.xxx.xxx.xxx master.localhost master
xxx.xxx.xxx.xxx slave.localhost slave
設(shè)置免密登錄:
ssh-keygen -t rsa//一路回車生成密匙對
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
在slave中創(chuàng)建.ssh文件
mkdir ~/.ssh
在master當(dāng)前路徑下使用scp id_rsa.pub hadoop@slave:~/.ssh將密碼文件復(fù)制到slave的.ssh文件夾里。在slave中繼續(xù)用上面的cat添加到autorized_keys中
嘗試在主機中登錄slave驗證
沒有要求輸入slave的密碼,成功!
3
?更改hadoop文件?
修改core-site.xml(以下更改均在configuration標(biāo)簽內(nèi)添加)
? vim /usr/local/hadop/etc/hadoop/core-site.xml
? <property>
? ? ? <name>fs.defaultFS</name>
? ? ? <value>hdfs://localhost:9000</value>
? <property>
修改hdfs-site.xml文件
? vim /usr/local/hadoop/etc/hadoop/hdfs.xml
? <property>
? ? ?<name>dfs.replication</name>
? ? ?<value>3</value>
? </property>
? <property>
? ? ?<name>dfs.namenode.name.dir</name>
? ? ?<value>/usr/local/hadoop/namenode</value>
? </property>
? <property>
? ? ?<name>dfs.datanode.data.dir</name>
? ? ?<value>/usr/local/hadoop/datanode</value>
? </property>
? slave節(jié)點不需要配置namenode
修改mapred-site.xml.template文件
? vim /usr/local/hadoop/etc/hadoop/mapred-site.xml.template
? <property>
? ? ? <name>mapreduce.framework.name</name>
? ? ? <value>yarn</value>
? </property>
? <property>
? ? ? <name>mapreduce.jobhistory.address</name>
? ? ? <value>master:10020</value>
? </property>
?<property>
? ? ?<name>mapper.jobhistory.webapp.address</name>
? ? ?<value>master:19888</value>
?</property>
修改yarn-site.xml文件
?vim /usr/local/hadoop/etc/hadoop/yarn-site.xml
?<property>
? ? ?<name>yarn.resourcemanager.hostname</name>
? ? ?<value>master</value>
?</property>
?<property>
? ? ?<name>yarn.nodemanager.aux-services</name>
? ? ?<value>mapreduce_shuffle</value>
?</property>
修改slave文件
?vim /usr/local/hadoop/etc/hadoop/slaves
?在localhost下面添加slave
在usr/local/hadoop/etc/hadoop/hadoop-env.sh中更改
可以master和slave都配置一遍,但是小編有個簡單方法,反正配置都一樣,主機配置完了scp復(fù)制一下就好了,新手小心使用。
namenode格式化
hdfs namenode -format
啟動hadoop(成敗在此一舉)
啟動完畢!