1、準備工作
兩台主機:
a 192.168.1.22 名字myserver1 配置為namenode
b 192.168.1.23 名字myserver2 配置為datanode
需要:每台機子有乙個單獨的名字
互相可以ping通對方和自己的名字
每台機器上執行ping ,不能返回127.0.0.1,返回本機ip才可以:
ping myserver1
ping myserver2
檢視和修改機器名字
#檢視主機名
hostname
#修改機器名字【機器重啟完失效】
hostname myserver1
#修改永久生效
vi /etc/sysconfig/network
hostname=myserver1
修改ip和主機對映
#檢視本機ip
ifconfig
192.168.1.22
#ping 主機名
ping myserver
#若返回127.0.0.1,需作ip對映
vi /etc/hosts
192.168.1.22 myserver1
192.168.1.23 myserver2
ping myserver
192.168.1.22
2、兩台機器新增hadoop組和賬號,配免登入ssh
#兩台機器上執行
groupadd hadoop
useradd -g hadoop hadoop
su - hadoop
ssh-keygen -t rsa -p ""
#將a機器上的.ssh/id_rsa.pub 複製到b機器上,在b機器上使用hadoop賬號執行
#a為namenode節點,b為datanode節點,a需要免登入到b上
cat id_rsa.pub >> .ssh/authorized_keys
chmod 644 .ssh/authorized_keys
#在a上使用hadoop賬號登入後測試ssh登上b
su - hadoop
ssh -p 22 192.168.1.23
如果登入成功,則配置完成
3、a配置hadoop2.3為namenode
在a主機上
建立tmp目錄
mkdir tmp/hadoop
修改4個配置檔案core-site.xml、mapred-site.xml、hdfs-site.xml、yarn-site.xml
# vi etc/hadoop/core-site.xml
hadoop.tmp.dir
/xx/xx/tmp/hadoop
a base for other temporary directories.
fs.defaultfs
hdfs:本機ip:54310
vi etc/hadoop/mapred-site.xml
mapreduce.framework.name
yarn
mapreduce.cluster.temp.dir
/xx/xx/tmp/hadoop/
mapreduce.cluster.local.dir
/xx/xx/tmp/hadoop/
vi etc/hadoop/hdfs-site.xml
dfs.replication
1dfs.permissions
false
vi etc/hadoop/yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce_shuffle.class
org.apache.hadoop.mapred.shufflehandler
yarn.resourcemanager.resource-tracker.address
192.168.1.22:8031本機ip:8031
yarn.resourcemanager.scheduler.address
192.168.1.22:8030本機ip:8030
yarn.resourcemanager.address
192.168.1.22:8032本機ip:8032
啟動測試,檢視日誌,看是否執行成功
./bin/hadoop namenode -format
./sbin/start-hdfs.sh
執行成功後,測試埠54310是否可以連上
telnet 192.168.1.22 54310
連上測表示namenode啟動成功。
關閉服務
./sbin/stop-hdfs.sh
4、配置主機b為datanode
在b主機上,解壓hadoop2.3
建立tmp目錄
mkdir tmp/hadoop
修改配置檔案與a主機配置一樣,只是resourcemanager的ip要換成namenode的,即指向a主機
即修改4個配置檔案core-site.xml、mapred-site.xml、hdfs-site.xml、yarn-site.xml
# vi etc/hadoop/core-site.xml
hadoop.tmp.dir
/xx/xx/tmp/hadoop
a base for other temporary directories.
fs.defaultfs
hdfs:namenode a主機:54310
vi etc/hadoop/mapred-site.xml
mapreduce.framework.name
yarn
mapreduce.cluster.temp.dir
/xx/xx/tmp/hadoop/
mapreduce.cluster.local.dir
/xx/xx/tmp/hadoop/
vi etc/hadoop/hdfs-site.xml
dfs.replication
1dfs.permissions
false
vi etc/hadoop/yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce_shuffle.class
org.apache.hadoop.mapred.shufflehandler
yarn.resourcemanager.resource-tracker.address
192.168.1.22:8031namenode a主機:8031
yarn.resourcemanager.scheduler.address
192.168.1.22:8030namenode a主機:8030
yarn.resourcemanager.address
192.168.1.22:8032namenode a主機:8032
5、格式化和啟動
兩台主機上清空日誌和測試檔案
rm -fr logs/*
rm -fr tmp/hadoop/*
a主機上
格式化namenode
./bin/hadoop namenode -format
a主機上啟動
./sbin/start-dfs.sh;
./sbin/start-yarn.sh;
兩台伺服器日誌是否正常,若全都正常
訪問namenode的節點管理器:[url]
可以看到兩台主機
6、執行wordcount
上傳乙個文字檔案到hdfs裡,
#建立目錄
./bin/hadoop fs -mkdir input
#上傳檔案,可以稍大點,我上傳了乙個900m的檔案。
./bin/hadoop fs -put ./word.txt input
#執行./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.3.0.jar wordcount input/words.txt out
訪問namenode的節點管理器:[url]檢視執行狀態
[url]
/user/hadoop/output/
刪除執行結果
./bin/hadoop fs -rm -r output
兩台機器共享上網問題
一 通過adsl上網 二 無線上網 對等無線網連線設定 注意使用筆記本的使用者先把wifi的開關開啟。開機後會提示找到無線網絡卡,然後按提示安裝好無線網絡卡的驅動程式。再次重新啟動計算機,首先配置連入網際網路的計算機。進入控制面板後,按以下步驟進行。步驟1 依次開啟 網路連線 無線網路連線 屬性 雙...
兩台機器新增信任關係
在兩台機器之間建立信任關係。1,進入a機器 home user1 ssh目錄,如果沒有,執行mkdir p home user1 ssh,檢查該目錄下是否有乙個id rsa.pub檔案,如果沒有,執行ssh keygen t rsa 命令,該目錄下會生成該檔案.複製該檔案的內容 2,進入b機器 ho...
打通兩台機器的ssh功能
1,如果希望打通 a 和 b 兩台機器,則要用相同的使用者賬號打通才行,如都用tscadmin 2,如果希望從 a 機器用tscadmin賬號能拷貝b的資料 tscadmin a scp b home tscadmin filename1 filename2 則 需要在a機器上用tscadmin生成...