ubantu 16.4 Hadoop 完全分布式搭建
阿新 • • 發佈:2018-10-21
whoami none chm ssh rip args 查看進程 exit dst
一個虛擬機
- 1.以 NAT網卡模式 裝載虛擬機
- 2.最好將幾個用到的虛擬機修改主機名,靜態IP /etc/network/interface,這裏 是 s101 s102 s103 三臺主機 ubantu,改/etc/hostname文件
- 3.安裝ssh
- 在第一臺主機那裏s101 創建公私密匙
- ssh-keygen -t rsa -P ‘‘ -f ~/.ssh/id_rsa
- >cd .ssh
- >cp id_rsa.pub >authorized_keys 創建密匙庫
- 將id_rsa.pub傳到其他主機上,到.ssh目錄下
- 通過 服務端 nc -l 8888 >~/.ssh/authorized_keys
- 客戶端 nc s102 8888 <id_rsa.pub
- 在第一臺主機那裏s101 創建公私密匙
開始安裝Hadoop/jdk
- 安裝VM-tools 方便從win 10 拖拉文件到ubantu
- 創建目錄 /soft
- 改變組 chown ubantu:ubantu /soft 方便傳輸文件有權限
- 將文件放入到/soft (可以從桌面cp/mv src dst)
- tar -zxvf jdk或hadoop 自動創建解壓目錄
- 配置安裝環境 (/etc/environment)
- 添加 JAVA_HOME=/soft/jdk-...jdk目錄
- 添加 HADOOP_HOME=/soft/hadoop(Hadoop目錄)
- 在path裏面加/soft/jdk-...jdk/bin:/soft/hadoop/bin/:/soft/hadoop/sbin
- 通過 java -version 查看有版本號 成功
- hadoop version 有版本號 成功
開始配置HDFS四大文件 core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml
- core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://s101:9000</value> </property> </configuration>
2.hdfs-site.xml
<configuration> <!-- Configurations for NameNode: --> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/data/hdfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/data/hdfs/data</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>s101:50090</value> </property> <property> <name>dfs.namenode.http-address</name> <value>s101:50070</value> <description> The address and the base port where the dfs namenode web ui will listen on. If the port is 0 then the server will start on a free port. </description> </property> <property> <name>dfs.namenode.checkpoint.dir</name> <value>file:/data/hdfs/checkpoint</value> </property> <property> <name>dfs.namenode.checkpoint.edits.dir</name> <value>file:/data/hdfs/edits</value> </property> </configuration>
3. mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
4.yarn-site.xml
<configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>s101</value> </property> </configuration>
到此成功一半。。。。。。。。。。。。。。
創建文件夾
mkdir /data/hdfs/tmp
mkdir /data/hdfs/var
mkdir /data/hdfs/logs
mkdir /data/hdfs/dfs
mkdir /data/hdfs/data
mkdir /data/hdfs/name
mkdir /data/hdfs/checkpoint
mkdir /data/hdfs/edits
記得將目錄權限修改
- sudo chown ubantu:ubantu /data
接下來傳輸 /soft文件夾到其他主機
創建 xsync可執行文件
- sudo touch xsync
- sudo chmod 777 xsync 權限變成可執行文件
- sudo nano xsync
-
#!/bin/bash pcount=$# if((pcount<1));then echo no args; exit; fi p1=$1; fname=`basename $p1` pdir=`cd -P $(dirname $p1);pwd` cuser=`whoami` for((host=102 ; host<105 ;host=host+1));do echo --------s$host-------- rsync -rvl $pdir/$fname $cuser@s$host:$pdir done
- xsync /soft-------->就會傳文件夾到其他主機
- xsync /data
創建 xcall 向其他主機傳命令
#!/bin/bash pcount=$# if((pcount<1));then echo no args; exit; fi echo --------localhost-------- $@ for ((host=102;host<105;host=host+1));do echo --------$shost-------- ssh s$host $@ done
別著急 快結束了 哈
還得配置 workers問價
- 將需要配置成數據節點(DataNode)的主機名放入其中,一行一個
註意重點來了
- 先格式化 hadoop -namenode -format
- 再 啟動 start-all.sh
- 查看進程 xcall jps
-
進入網頁
-
是不是很想牛淚,成功了耶!!!
中間出現了很多問題
1, rsync 權限不夠 :刪除文件夾 更改文件夾權限chown
2.學會看日誌 log
ubantu 16.4 Hadoop 完全分布式搭建