好久都沒(méi)寫(xiě)了啊。感覺(jué)自己都不像是一個(gè)搞技術(shù)都了。
來(lái)個(gè)存貨吧!
目前創(chuàng)新互聯(lián)公司已為上千多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、長(zhǎng)樂(lè)網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
hadoop 集群搭建
3臺(tái)機(jī)器 suse 系統(tǒng)
規(guī)劃
IP 主機(jī)名 hostname hadoop角色
10.96.91.93 namenode93 NameNode、SecondaryNameNode 、ResourceManage、 DataNode 、NodeManager
10.96.91.129 datanode129 DataNode NodeManager
10.96.91.130 datanode130 DataNode NodeManager
創(chuàng)建 hadoop 用戶(hù)
useradd -u 501 -g users -d /home/hadoop -s /bin/bash hadoop
mkdir /home/hadoop
chown -R hadoop:users /home/hadoop
passwd hadoop 密碼設(shè)置
方便記憶,我設(shè)置到用戶(hù)名和密碼一樣
修改主機(jī)名
文件位置 /etc/HOSTNAME
vim /etc/HOSTNAME文件
/etc/rc.d/boot.localnet start
修改host文件 !三臺(tái)機(jī)器都要修改!
文件位置 /etc/hosts
10.96.91.93 namenode93
10.96.91.129 datanode129
10.96.91.130 datanode130
配置ssh免密碼登錄
ssh-keygen -t rsa
.ssh目錄下
cat id_rsa.pub >> authorized_keys
把自己本機(jī)公鑰發(fā)送到目標(biāo)機(jī)器
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@datanode129
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@datanode130
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@namenode93
配置環(huán)境
文件位置 /etc/profile
export JAVA_HOME=/home/hadoop/jdk1.8.0_191
export JRE_HOME=/home/hadoop/jdk1.8.0_191/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
export HADOOP_HOME=/home/hadoop/hadoop-2.9.1
export PATH="$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH"
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
最重要到-----Hadoop文件配置
創(chuàng)建hdfs文件夾
文件夾不是必須這樣創(chuàng)建,但是,一定要和配置文件對(duì)應(yīng)上。 創(chuàng)建后如下:
/home/hadoop/hadoop-2.9.1/hdfs
/home/hadoop/hadoop-2.9.1/hdfs/tmp
/home/hadoop/hadoop-2.9.1/hdfs/name
/home/hadoop/hadoop-2.9.1/hdfs/data
進(jìn)入配置目錄
cd /home/hadoop/hadoop-2.9.1/etc/hadoop
配置core-site.xml
在
hadoop.tmp.dir
/home/hadoop/hadoop-2.9.1/hdfs/tmpp
A base for other temporary directories.
io.file.buffer.size
131072
fs.defaultFS
hdfs://namenode93:9000
注意:hadoop.tmp.dir的value和我們之前創(chuàng)建的/home/hadoop/hadoop-2.9.1/hdfs/tmp路徑要一致
配置 hadoop-env.sh文件
將JAVA_HOME文件配置為本機(jī)JAVA_HOME路徑
export JAVA_HOME=/home/hadoop/jdk1.8.0_191
配配置 yarn-env.sh
將其中的JAVA_HOME修改為本機(jī)JAVA_HOME路徑
export JAVA_HOME=/home/hadoop/jdk1.8.0_191
配置hdfs-site.xml
在
dfs.replication
2
dfs.namenode.name.dir
file:/home/hadoop/hadoop-2.9.1/hdfs/name
true
dfs.datanode.data.dir
file:/home/hadoop/hadoop-2.9.1/hdfs/data
true
dfs.namenode.secondary.http-address
namenode93:9001
dfs.webhdfs.enabled
true
dfs.permissions
false
注意:dfs.namenode.name.dir和dfs.datanode.data.dir的value和之前創(chuàng)建的/hdfs/name和/hdfs/data路徑一致
配置mapred-site.xml
復(fù)制mapred-site.xml.template文件,并命名為mapred-site.xml
cp mapred-site.xml.template mapred-site.xml
配置 mapred-site.xml,在標(biāo)簽
mapreduce.framework.name
yarn
配置yarn-site.xml
在
yarn.resourcemanager.address
namenode93:18040
yarn.resourcemanager.scheduler.address
namenode93:18030
yarn.resourcemanager.webapp.address
namenode93:18088
yarn.resourcemanager.resource-tracker.address
namenode93:18025
yarn.resourcemanager.admin.address
namenode93:18141
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.auxservices.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
配置slaves 文件
把原本的localhost刪掉,改為
namenode93
datanode129
datanode130
將hadoop-2.9.1文件夾傳到其他虛擬機(jī)上
scp -r hadoop-2.9.1 hadoop@datanode129:~/
scp -r hadoop-2.9.1 hadoop@datanode130:~/
注意:hadoop是虛擬機(jī)的用戶(hù)名,
初始化hadoop 在namenode機(jī)器上
hdfs namenode -format
啟動(dòng)Hadoop
start-dfs.sh
start-yarn.sh
或者start-all.sh
停止Hadoopstop-yarn.sh
stop-dfs.sh
或者stop-all.sh
查看命令
可以查看到當(dāng)前登錄機(jī)器到角色
jps
jps查詢(xún)結(jié)果如下
hadoop@namenode93:~> jps
15314 SecondaryNameNode
15484 ResourceManager
14956 NameNode
15116 DataNode
15612 NodeManager
16781 Jps
129 130兩個(gè)機(jī)器是 DataNode,在Hadoop到配置里,可以靈活配置各個(gè)機(jī)器角色 詳細(xì)到配置官網(wǎng)上有 jps查詢(xún)結(jié)果如下
hadoop@datanode130:~> jps
10233 NodeManager
10365 Jps
10110 DataNode
到這里,三臺(tái)機(jī)器搭建的Hadoop集群就組建完畢了。
用自帶的樣例測(cè)試hadoop集群跑任務(wù)
使用命令
hadoop jar /home/hadoop/hadoop-2.9.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.1.jar pi 10 10
用來(lái)求圓周率,pi是類(lèi)名,第一個(gè)10表示Map次數(shù),第二個(gè)10表示隨機(jī)生成點(diǎn)的次數(shù)
最后出現(xiàn)結(jié)果
Job Finished in 32.014 seconds
Estimated value of Pi is 3.20000000000000000000
ok,集群測(cè)試可用。網(wǎng)上還有測(cè)試統(tǒng)計(jì)字?jǐn)?shù)到例子,有興趣可以嘗試一下
HDFS管理界面
http://10.96.91.93:50070/
yarn管理界面
http://10.96.91.93:18088/
其他suse命令
查看版本
lsb_release -d
SUSE11下: 關(guān)閉防
service SuSEfirewall2_setup stop
service SuSEfirewall2_init stop
取消開(kāi)機(jī)啟動(dòng)防火墻:
chkconfig SuSEfirewall2_setup off
chkconfig SuSEfirewall2_init off
查看端口情況
netstat -ntpl
參考資料
CentOs6搭建Hadoop環(huán)境,這是一個(gè)網(wǎng)上比較好的例子。尤其是Hadoop HA安裝這部分比較全面。
Hadoop配置文件參數(shù)詳解,這個(gè)只是參考,Hadoop版本不一樣可能使用到配置也有一些差別。具體查看項(xiàng)目對(duì)應(yīng)版本的配置部分文檔。
Apache Hadoop 2.9.1項(xiàng)目