基于ubuntu的hadoop分布式安裝(課程實驗)
- 在VirtualBox中安裝ubuntu,命名這臺機器為Master創建用戶名為hadoop(自己定)并增加hadoop用戶管理員權限:
sudo adduser hadoop sudo - 更改軟體源:在Ubuntu的選單中找到軟體與更新,選擇中國服務器,此處aliyun,163都可,然后對APT進行更新:
sudo apt-get update(ubuntu的vim和ifconfig運行都需要下載) - 安裝SSH遠程連接:
1)下載SSH客戶端sudo apt-get install open-server
2)嘗試登入本機ssh localhost
3)進行本機的免密登入
cd ~/.ssh/#沒有此目錄就執一遍ssh localhost
ssh-keygen -t rsa#執行后按enter鍵即可
將密鑰加入本機授權:
cat ./id_rsa.pub>>./authorized_keys
1)安裝Java環境
sudo apt-get install default-jre defalut-jdk #下載jdk
2)添加環境變數
vim ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/defalut-java #在組態檔中加入
source ~/.bashrc #重新加載此組態檔
3)檢查是否安裝成功
echo $JAVA_HOME
java -version
$JAVA_HOME/bin/java -version #與上一條命令一樣
至此,將這臺虛擬機克隆,,命名為Slave1
5.使用hadoop包來安裝hadoop
1)可以在官網下載官網下載hadoop3.3.0版本 在ubuntu中可用wget+此鏈接下載
2)下載之后
tar -xzvf ~/Downloads/hadoop-3.3.0.tar.gz -C /usr/local #下載之后解壓至本地目錄/usr/local目錄
cd /usr/local
sudo mv ./hadoop-3.3.0/ ./hadoop #更改檔案名
sudo chown -R hadoop ./hadoop #修改檔案權限
3)查看hadoop版本
cd /usr/local/hadoop
./bin/hadoop version
6.配置hadoop檔案
檔案目錄都在 /usr/local/hadoop/etc/hadoop
1)slaves檔案
slaves檔案下對應的主機名的都是datanode
ps:不知道為啥我配置完slaves檔案之后,datanode依舊是兩臺,而不是按照slaves中的只有一臺
我們把規劃的兩臺主機都當成datanode,預計規劃的主機名是:Master Slave1
所以datanode中對應的應該填入
Master
Slave1
2)修改core-site.xml檔案
fs.defaultFS是HDFS的訪問地址
hadoop.tmp.dir臨時檔案保存地址
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://Master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
</configuration>
3)修改hdfs-site.xml
dfs.replication datanode的數量,我這里是二
dfs.namenode.name.dir namenode儲存地址
dfs.datanode.data.dir detanode儲存地址
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>Master:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
4)修改maperd-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>Master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>Master:19888</value>
</property>
</configuration>
5)修改yarn-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>Master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>Master:19888</value>
</property>
</configuration>
7.網路配置
1)將Master 和 Slave1的網路設定為橋接模式,并把Slave1的MAC地址重繪(因為此臺機器是克隆的MAC地址一樣)
2)修改主機名
編輯hostname
sudo vim /etc/hostname
Master的機器修改為
Master
Slave1的機器修改為
Slave1
3)修改網路IP映射
在兩臺機器上編輯hosts
sudo vim /etc/hosts
輸入以下內容:
自己的IP Master
自己的IP Slave1
**4)**重啟機器檢查是否設定有效
ping Master
ping Slave1
8.實作Master免密碼登入節點
在Master主機上執行
cd ~/.ssh #沒有就執行ssh localhost
rm ./id_rsa * #洗掉公鑰,因為主機名改了
ssh-keygen -t rsa
cat ./id_rsa.pub>>./authorized_keys #加入主機密鑰
改之后可以用ssh Master做試試
將密鑰遠程傳到Slave1
scp ~/.ssh/id_rsa.pub hadoop@ Slave1:/home/hadoop/
接下來在Slave1上操作:
mkdir ~/.ssh #如果不存在,就創建
cat ~/id_rsa.pub>> ~/.ssh/authorized_keys
rm ~/id_rsa.pub #用完可以刪掉
接下來可以自己試試兩臺機器的無密碼登入
ssh Master
ssh Slave1
9.在兩臺機器編輯系統組態檔,為了以后Hadoop能快速啟動和操作
sudo vim /.bashrc
export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin
source /.bashrc
10.壓縮本機的hadoop檔案夾(為了傳給我們的其它Salve節點)
cd /usr/local
tar -zcf ~/hadoop.master.tar.gz ./hadoop
cd ~
scp ./hadoop.master.tar.gz Slave1:/home/hadoop #將檔案夾傳輸到Slave1
Slave1節點下
tar -zxf ~/hadoop.master.tar.gz -C /usr/local #解壓
sudo chown -R hadoop /usr/local/hadoop #更改權限
11.格式化namenode,并啟動Hadoop服務
在Master主機格式化節點
hdfs namenode -format
Master啟動服務
start-dfs.sh
start-yarn.sh
mr-jobhistory-daemon.sh start historyserver
Slave1啟動服務
start-dfs.sh
start-yarn.sh
簡單執行命令
hadoop fs -ls /
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/158964.html
標籤:python
上一篇:解決大資料Hive啟動錯誤問題
下一篇:etcd — 安裝部署
