一掂铐、安裝jdk之前卸載open jdk ?
虛擬機(jī)掛載命令(Mount -t iso9660 /dev/cdrom /mnt)
虛擬機(jī)安裝完成后重啟系統(tǒng)
1.(rpm -qa|grep java)命令 查看所安裝的java組件
2.使用 (rpm -e --nodeps +java組件名) 命令卸載java組件
3.進(jìn)入JDK文件存放目錄使用 (./+文件名) ?命令 執(zhí)行安裝JDK操作
4.回到主目錄進(jìn)入/etc/目錄使用vi命令修改profile文件配置JAVA環(huán)境變量
添加如下參數(shù):
export JAVA_HOME=/usr/java/jdk1.6.0_24
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
配置完成后重啟系統(tǒng)
二火诸、安裝并配置Hadoop
1.復(fù)制Hadoop安裝包到其他目錄
2.使用 (tar -zxvf +Hadoop文件路徑) 命令 解壓到當(dāng)前目錄
3.進(jìn)入Hadoop安裝目錄下的conf文件夾
4.使用vi命令修改hadoop-env.sh文件添加如下參數(shù)
export JAVA_HOME=/usr/java/jdk1.6.0_24 (jdk安裝目錄)
5.使用(hostname)命令查看主機(jī)名稱
6.使用(vi /etc/hosts)命令修改host文件配置, 使用(chown -R 用戶名 Hadoop安裝路徑)命令來修改Hadoop安裝文件夾的所屬者
7.在最后一行中加入127.0.0.1 ? ? 主機(jī)名 并保存
8.配置core-site.xml文件:在configuration節(jié)點(diǎn)中加入
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
9.配置hdfs-site.xml文件:在configuration節(jié)點(diǎn)中加入
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
10.配置mapred-site.xml文件:在configuration節(jié)點(diǎn)中加入
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
三敬察、免密碼SSH登錄設(shè)置
1.使用 (ssh-keygen -t rsa)命令生成密鑰對
2.使用(cd ~)命令 進(jìn)入用戶主目錄并使用(ls -f)命令查看目錄
3.進(jìn)入.ssh目錄 執(zhí)行 (cp id_rsa.pub authorized_keys)命令 追加密鑰
4.使用(ssh localhost)命令實(shí)現(xiàn)SSH連接
配置ssh免密碼登錄(三個節(jié)點(diǎn)m1茫叭、s1正塌、s2)
實(shí)現(xiàn)SSH免密碼登錄的另一種方式:
主節(jié)點(diǎn)配置:
首先到用戶主目錄(cd ?~)茴晋,ls ?-a查看文件,其中一個為“.ssh”扁掸,該文件價是存放密鑰的欢嘿。待會我們生成的密鑰都會放到這個文件夾中。
現(xiàn)在執(zhí)行命令生成密鑰:ssh-keygen -t rsa -P ""(使用rsa加密方式生成密鑰)回車后也糊,會提示三次輸入信息,我們直接回車即可羡宙。
進(jìn)入文件夾cd ?.ssh (進(jìn)入文件夾后可以執(zhí)行l(wèi)s ?-a 查看文件)
將生成的公鑰id_rsa.pub 內(nèi)容追加到authorized_keys(執(zhí)行命令:cat id_rsa.pub >>?authorized_keys)
從節(jié)點(diǎn)配置:
以同樣的方式生成秘鑰(ssh-keygen -t rsa -P "")狸剃,然后s1和s2將生成的id_rsa.pub公鑰追加到m1的authorized_keys中)
在s1中執(zhí)行命令:scp id_rsa.pub m1:/root/.ssh/id_rsa.pub.s1 ,在s2中執(zhí)行命令:scp id_rsa.pub m1:/root/.ssh/id_rsa.pub.s2
進(jìn)入m1執(zhí)行命令:cat id_rsa.pub.s1 >> authorized_keys 狗热,cat id_rsa.pub.s1 >> authorized_keys
最后將生成的包含三個節(jié)點(diǎn)的秘鑰的authorized_keys 復(fù)制到s1和s2的.ssh目錄下(?scp authorized_keys s1:/root/.ssh/钞馁,?scp authorized_keys s2:/root/.ssh/)
四虑省、啟動及停止Hadoop
1.格式化分布式文件系統(tǒng)(HDFS)
進(jìn)入Hadoop主目錄下使用命令:(bin/hadoop namenode-format)
2.啟動Hadoop守護(hù)進(jìn)程
進(jìn)入Hadoop主目錄下使用命令:(bin/start-all.sh)
執(zhí)行完畢后會在本機(jī)啟動NameNode、DataNode僧凰、JobTracker探颈、TaskTracker、Secondary NameNode五個Java進(jìn)程
3.使用jps命令查看當(dāng)前進(jìn)程
4.停止Hadoop守護(hù)進(jìn)程
進(jìn)入Hadoop主目錄下使用命令:(bin/stop-all.sh)
五训措、運(yùn)行WordCount測試用例
1.在根目錄下新建input文件伪节,并新增test1.txt和test2.txt文件,內(nèi)容隨意寫
2.使用(chown -R 用戶名 路徑)命令修改input文件所屬者
3.進(jìn)入Hadoop安裝目錄使用(bin/hadoop dfs -put ?/完整本地路徑/ ? ?/完整hdfs路徑/)命令將input文件夾放入hdfs文件系統(tǒng)中
4.使用(bin/hadoop jar hadoop-0.20.2-examples.jar wordcount ? /待計(jì)算文件的hdfs完整路徑/ ?/結(jié)果輸出文件夾hdfs完整路徑) 命令進(jìn)行計(jì)算
六绩鸣、完全分布式模式配置
1.配置三臺Linux虛擬機(jī)怀大,一臺桌面版,兩臺服務(wù)器版
2.在VMware中更改虛擬網(wǎng)絡(luò)設(shè)置呀闻,設(shè)定host-only模式下的子網(wǎng)段
3.在Linux虛擬機(jī)中使用(dhclient eth0)命令加載第一塊網(wǎng)卡
4.使用(ifconfig)命令查看網(wǎng)絡(luò)狀態(tài)及IP地址
5.在作為namenode和datanode節(jié)點(diǎn)的機(jī)器中配置etc/hosts文件化借,在最后一行中加入:
192.168.10.129(namenode節(jié)點(diǎn)IP地址) ? ? namenode節(jié)點(diǎn)名稱
192.168.10.128(datanode0節(jié)點(diǎn)IP地址) ? ? datanode0節(jié)點(diǎn)名稱
192.168.10.130(datanode1節(jié)點(diǎn)IP地址) ? ? ?datanode1節(jié)點(diǎn)名稱
6.建立相同的用戶hadoop,使用(adduser +用戶名)命令,刪除用戶使用(userdel -Z +用戶名命令)
使用(passwd +用戶名)命令設(shè)置hadoop用戶的密碼捡多,輸入兩次即可
/etc/sudoers 修改root權(quán)限
7.在所有機(jī)器的/home/用戶名/目錄下建立.ssh目錄,并使用 ssh-keygen -t rsa和ssh-keygen -t dsa命令生成密鑰對
8.進(jìn)入~/.ssh目錄使用如下命令
chmod -R 755 /home/hadoop改變目錄權(quán)限
cp id_rsa.pub authorized_keys (將生成的密鑰追加到authorized_keys中)
cp id_dsa.pub authorized_keys (將生成的密鑰追加到authorized_keys中)
scp authorized_keys ?datanode0節(jié)點(diǎn)名稱:/home/grid/.ssh
scp authorized_keys ?datanode1節(jié)點(diǎn)名稱:/home/grid/.ssh
9.進(jìn)入所有機(jī)器的.ssh目錄下蓖康,使用如下命令更改authorized_keys的許可權(quán)限
chmod -R 700 ~/.ssh(chmod 644 authorized_keys ?0.20.2版本無效)
10.所有機(jī)器的Hadoop程序需安裝至相同目錄下
11.在hadoop安裝目錄下的conf文件夾中修改Master和Slaves兩個配置文件,分別為主節(jié)點(diǎn)和從節(jié)點(diǎn)(每個主機(jī)名為一行)
12.修改core-site.xml垒手、hdfs-site.xml和mapred-site.xml三個配置文件
sudoservice iptables stop# 關(guān)閉防火墻服務(wù)
sudochkconfig iptables off
Hadoop-2.7.1配置文件:
core-site.xml:
(configuration)
(property)
(name)fs.defaultFS(/name)
(value)hdfs://master:9000(/value)
(/property)
(property)
(name)hadoop.tmp.dir(/name)
(value)file:/usr/local/hadoop/hadoop-2.7.1/tmp(/value)
(/property)
(property)
(name)io.file.buffer.size(/name)
(value)131702(/value)
(/property)
(/configuration)
hdfs-site.xml:
(configuration)
(property)
(name)dfs.namenode.name.dir(/name)
(value)file:/usr/local/hadoop/hadoop-2.7.1/hdfs/name(/value)
(/property)
(property)
(name)dfs.datanode.data.dir(/name)
(value)file:/usr/local/hadoop/hadoop-2.7.1/hdfs/data(/value)
(/property)
(property)
(name)dfs.replication(/name)
(value)3(/value)
(/property)
(property)
(name)dfs.namenode.secondary.http-address(/name)
(value)master:9001(/value)
(/property)
(property)
(name)dfs.webhdfs.enabled(/name)
(value)true(/value)
(/property)
(/configuration)
mapred-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)
yarn-site.xml
(configuration)
(property)
(name)yarn.nodemanager.aux-services(/name)
(value)mapreduce_shuffle(/value)
(/property)
(property)
(name)yarn.nodemanager.auxservices.mapreduce.shuffle.class(/name)
(value)org.apache.hadoop.mapred.ShuffleHandler(/value)
(/property)
(property)
(name)yarn.resourcemanager.address(/name)
(value)master:8032(/value)
(/property)
(property)
(name)yarn:resourcemanager.scheduler.address(/name)
(value)master:8030(/value)
(/property)
(property)
(name)yarn.resourcemanager.resource-tracker.address(/name)
(value)master:8031(/value)
(/property)
(property)
(name)yarn.resourcemanager.admin.address(/name)
(value)master:8033(/value)
(/property)
(property)
(name)yarn.resourcemanager.webapp.address(/name)
(value)master:8088(/value)
(/property)
(property)
(name)yarn.nodemanager.resource.memory-mb(/name)
(value)1024(/value)
(/property)
(/configuration)
13.發(fā)放Hadoop文件到從節(jié)點(diǎn)
命令:發(fā)放文件:scp -r hadoop-0.20.2 slaves0:/usr/local/hadoop
七蒜焊、新增DataNode節(jié)點(diǎn)及相關(guān)配置
1.基礎(chǔ)準(zhǔn)備
在基礎(chǔ)準(zhǔn)備部分,主要是設(shè)置hadoop運(yùn)行的系統(tǒng)環(huán)境
修改系統(tǒng)hostname(通過hostname和/etc/sysconfig/network進(jìn)行修改)
修改hosts文件淫奔,將集群所有節(jié)點(diǎn)hosts配置進(jìn)去(集群所有節(jié)點(diǎn)保持hosts文件統(tǒng)一)
設(shè)置NameNode(兩臺HA均需要)到DataNode的免密碼登錄(ssh-copy-id命令實(shí)現(xiàn)山涡,可以免去cp *.pub文件后的權(quán)限修改)
修改主節(jié)點(diǎn)slave文件,添加新增節(jié)點(diǎn)的ip信息(集群重啟時使用)
將hadoop的配置文件scp到新的節(jié)點(diǎn)上
2.添加DataNode
對于新添加的DataNode節(jié)點(diǎn)唆迁,需要啟動datanode進(jìn)程鸭丛,從而將其添加入集群
在新增的節(jié)點(diǎn)上,運(yùn)行sbin/hadoop-daemon.sh start datanode即可
然后在namenode通過hdfs dfsadmin -report查看集群情況
最后還需要對hdfs負(fù)載設(shè)置均衡唐责,因?yàn)槟J(rèn)的數(shù)據(jù)傳輸帶寬比較低鳞溉,可以設(shè)置為64M,即hdfs dfsadmin -setBalancerBandwidth 67108864即可
默認(rèn)balancer的threshold為10%鼠哥,即各個節(jié)點(diǎn)與集群總的存儲使用率相差不超過10%熟菲,我們可將其設(shè)置為5%
然后啟動Balancer,sbin/start-balancer.sh -threshold 5朴恳,等待集群自均衡完成即可
3.添加Nodemanager
由于Hadoop 2.X引入了YARN框架抄罕,所以對于每個計(jì)算節(jié)點(diǎn)都可以通過NodeManager進(jìn)行管理,同理啟動NodeManager進(jìn)程后于颖,即可將其加入集群
在新增節(jié)點(diǎn)呆贿,運(yùn)行sbin/yarn-daemon.sh start nodemanager即可
在ResourceManager,通過yarn node -list查看集群情況