|
操作系統(tǒng):CentOS 6.5 32位
Java環(huán)境:jdk 1.7.0_71
hadoop下載地址:http://apache./hadoop/common/stable/hadoop-2.6.0.tar.gz
1.創(chuàng)建用戶組和用戶
使用su命令切換用戶為root
[html] view plaincopyprint? 
-
groupadd hadoop
-
useradd hadoop hadoop
-
passwd hadoop #為用戶添加密碼 可以不設(shè)置密碼
2.安裝ssh
[plain] view plaincopyprint? 
-
rpm -qa |grep ssh #檢查是否裝了SSH包
-
yum install openssh-server # 安裝ssh
-
chkconfig --list sshd #檢查SSHD是否設(shè)置為開機(jī)啟動(dòng)
-
chkconfig --level 2345 sshd on #如果沒(méi)設(shè)置啟動(dòng)就設(shè)置下.
-
service sshd restart #重新啟動(dòng)
3.配置ssh無(wú)密碼登錄
切換至hadoop用戶
[html] view plaincopyprint? 
-
su hadoop
生成密鑰
[html] view plaincopyprint? 
-
ssh-keygen -t rsa -P ""
執(zhí)行后會(huì)在.ssh目錄下生成id_rsa和id_rsa.pub兩個(gè)文件
進(jìn)入.ssh目錄,并將id_rsa.pub追加到authorized_keys文件中
[html] view plaincopyprint? 
-
cd ./.ssh
-
cat id_rsa.pub >> authorized_keys
-
chmod 600 authorized_keys # 修改用戶權(quán)限
測(cè)試是否可以登錄
[html] view plaincopyprint? 
-
ssh localhost # 執(zhí)行后會(huì)提示輸入 yes or no. 輸入yes后 如果提示為最后一次登錄時(shí)間 則表明成功。
4.安裝hadoop
將下載的hadoop解壓并移動(dòng)到期望的安裝目錄,修改其訪問(wèn)權(quán)限
[html] view plaincopyprint? 
-
tar -xvf hadoop-2.6.0.tar.gz
-
mv hadoop-2.6.0 /usr/opt/hadoop
-
chmod -R 775 /usr/opt/hadoop
-
chown -R hadoop:hadoop /usr/opt/hadoop
配置hadoop 的環(huán)境變量(所有的環(huán)境變量都是必須的)
[html] view plaincopyprint? 
-
su
-
vim /etc/profile
-
export HADOOP_INSTALL=/usr/opt/hadoop
-
export PATH=${HADOOP_INSTALL}/bin:${HADOOP_INSTALL}/sbin${PATH}
-
export HADOOP_MAPRED_HOME=${HADOOP_INSTALL}
-
export HADOOP_COMMON_HOME=${HADOOP_INSTALL}
-
export HADOOP_HDFS_HOME=${HADOOP_INSTALL}
-
export YARN_HOME=${HADOOP_INSTALLL}
-
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_INSTALL}/lib/natvie
-
export HADOOP_OPTS="-Djava.library.path=${HADOOP_INSTALL}/lib:${HADOOP_INSTALL}/lib/native"
設(shè)置hadoop-env.sh中的java環(huán)境變量
[html] view plaincopyprint? 
-
cd /usr/opt/hadoop
-
vim ./etc/hadoop/hadoop-env.sh
[html] view plaincopyprint? 
-
export JAVA_HOME= {你的java環(huán)境變量}
5.配置偽分布式
hadoop的配置文件主要有core-site.xml 、 hdfs-site.xml 、 yarn-site.xml 三個(gè)文件。
[html] view plaincopyprint? 
-
cd /usr/opt/hadoop/etc/hadoop
core-site.xml
[html] view plaincopyprint? 
-
<configuration>
-
<property>
-
<name>hadoop.tmp.dir</name>
-
<value>/usr/opt/hadoop/tmp</value> <!--一定要配置 系統(tǒng)默認(rèn)的緩存文件夾在每次重啟后會(huì)被刪除-->
-
</property>
-
<property>
-
<name>fs.defaultFS</name>
-
<value>hdfs://localhost:9000</value>
-
</property>
-
</configuration>
hdfs.site.xml
[html] view plaincopyprint? 
-
<configuration>
-
<property>
-
<name>dfs.replication</name>
-
<value>1</value>
-
</property>
-
<property>
-
<name>dfs.namenode.name.dir</name>
-
<value>file:/usr/opt/hadoop/dfs/name</value>
-
</property>
-
<property>
-
<name>dfs.datanode.data.dir</name>
-
<value>file:/usr/opt/hadoop/dfs/data</value>
-
</property>
-
<property> <!--這個(gè)屬性節(jié)點(diǎn)是為了防止后面eclipse存在拒絕讀寫設(shè)置的 -->
-
<name>dfs.permissions</name>
-
<value>false</value>
-
</property>
-
</configuration>
yarn-site.xml
[html] view plaincopyprint? 
-
<configuration>
-
<property>
-
<name>mapreduce.framework.name</name>
-
<value>yarn</value>
-
</property>
-
-
<property>
-
<name>yarn.nodemanager.aux-services</name>
-
<value>mapreduce_shuffle</value>
-
</property>
-
</configuration>
接下來(lái)創(chuàng)建需要的文件夾
[html] view plaincopyprint? 
-
cd /usr/local/hadoop
-
mkdir tmp dfs dfs/name dfs/data
到目前為止所有的配置都已經(jīng)完成。
6.運(yùn)行
首先格式化文件系統(tǒng)
[html] view plaincopyprint? 
-
.bin/hdfs namenode -format
啟動(dòng)
[html] view plaincopyprint? 
-
./sbin/start-dfs.sh
-
./sbin/start-yarn.sh
提示如下則表明成功了。
[html] view plaincopyprint? 
-
Starting namenodes on [localhost]
-
localhost: starting namenode, logging to /usr/opt/hadoop-2.6.0/logs/hadoop-hadoop-namenode-.out
-
localhost: starting datanode, logging to /usr/opt/hadoop-2.6.0/logs/hadoop-hadoop-datanode-.out
-
Starting secondary namenodes [0.0.0.0]
-
0.0.0.0: starting secondarynamenode, logging to /usr/opt/hadoop-2.6.0/logs/hadoop-hadoop-secondarynamenode-.out
輸入網(wǎng)址127.0.0.1:50070就可以看見hadoop的網(wǎng)頁(yè)了。
PS :如果出現(xiàn)警告提示:
[html] view plaincopyprint? 
-
Unable to load native-hadoop library for your platform
也可以看到那個(gè)網(wǎng)頁(yè),但hadoop并沒(méi)有完全裝好。
出現(xiàn)這個(gè)問(wèn)題有兩種情況:
一、沒(méi)有設(shè)置HADOOP_OPTS這個(gè)環(huán)境變量
二、是操作系統(tǒng)與hadoop.so文件不兼容導(dǎo)致的。
hadoop 2.5以后的release版本都是64位編譯的,如果自己的電腦是32位的就出現(xiàn)不兼容的情況。這時(shí)需要重新編譯hadoop源碼(編譯hadoop源碼時(shí),不要使用jdk1.8.0,使用1.6和1.7就可以了,不然會(huì)報(bào)這個(gè)錯(cuò)誤[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.8.1:jar (module-javadocs) on project hadoop-annotations: MavenReportException: Error while creating archive ):
|