how to install hadoop2.0.0 for centos6.4

1.JAVA INSTALL(root)
># mkdir /usr/JAVA
>#./jdk-6u45-linux-i586.bin
># vim /etc/profile
export JAVA_HOME=/usr/JAVA/jdk1.6.0_45
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
># source /etc/profile java

mkdir -p /hadoop/hdfs
mkdir -p /hadoop/tmp
mkdir -p /hadoop/log
設置可寫權限
chmod -R 777 /hadoop node

2.close firewall(root) linux

temp closed:
#/etc/init.d/iptables status            ##query status
#/etc/init.d/iptable stop
#/etc/init.d/iptable restart            ##重啓防火牆 web

forever closed:
chkconfig --level 35 iptables off
reboot vim

3.host ip
a.鏈接到主節點 192.168.1.201 ,修改 network , 執行 vim /etc/sysconfig/network ,修改 HOSTNAME=master
b.修改 hosts 文件, 執行 cd /etc 命令後 執行 vi hosts ,在行末尾添加 :
192.168.1.105   master
192.168.1.106   slave1
其餘節點也修改主機名後添加 Host, 或者 host 文件能夠在後面 執行 scp 覆蓋操做 restful

4.ssh config
a.用root登錄,創建hadoop用戶
useradd hadoop
passwd password app

b.ssh config具體步 驟(在root用戶和hadoop用戶登錄狀況下執行)
1 、執行命令 ssh-keygen -t rsa 以後一路回 車,查看剛生成的無密碼鑰對: cd .ssh 後 執行 ll
2 、把 id_rsa.pub 追加到受權的 key 裏面去。 執行命令 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
3 、修改權限: 執行 chmod 600 ~/.ssh/authorized_keys
4 、確保 cat /etc/ssh/sshd_config 中存在以下內容
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
如需修改, 則在修改後執行重啓 SSH 服 務命令使其生效 :service sshd restart
5 、將公 鑰複製到全部的 slave 機器上 :scp ~/.ssh/id_rsa.pub 192.168.1.106 : ~/  而後 輸入 yes ,最後 輸入 slave 機器的密 碼
6 、在 slave 機器上 建立 .ssh 文件夾 :mkdir ~/.ssh 而後 執行 chmod 700 ~/.ssh (若文件夾以存在 則不須要建立)
7 、追加到受權文件 authorized_keys 執行命令 :cat ~/id_rsa.pub >> ~/.ssh/authorized_keys 而後 執行 chmod 600 ~/.ssh/authorized_keys
8 、重複第 4 步
9 、 驗證命令 : 在 master 機器上 執行 ssh 192.168.1.106 發現主機名由 master 變成 slave1即成功,最後 刪除 id_rsa.pub 文件 :rm -r id_rsa.pub
按照以上步 驟分別配置 master,slave1 ,要求每一個均可以無密碼登陸 ssh

5.hadoop install
解壓目錄
tar zxvf hadoop-2.0.0-alpha.tar.gz webapp

建立軟鏈接
cd /home/hadoop
ln -s /home/hadoop/source/hadoop-2.0.0-alpha/ ./hadoop 分佈式

源碼配置修改

/etc/profile

配置 環境變量: vim /etc/profile
添加
export HADOOP_DEV_HOME=/home/hadoop/hadoop
export PATH=$PATH:$HADOOP_DEV_HOME/bin
export PATH=$PATH:$HADOOP_DEV_HOME/sbin
export HADOOP_MAPARED_HOME=${HADOOP_DEV_HOME}
export HADOOP_COMMON_HOME=${HADOOP_DEV_HOME}
export HADOOP_HDFS_HOME=${HADOOP_DEV_HOME}
export YARN_HOME=${HADOOP_DEV_HOME}
export HADOOP_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
export HDFS_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
export YARN_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop


建立並配置hadoop-env.sh

vim /usr/hadoop/hadoop-2.0.0-alpha/etc/hadoop/hadoop-env.sh
在末尾添加 export JAVA_HOME=/usr/java/jdk1.6.0_45

 core-site.xml

在 configuration 節點 裏面添加屬性

<property>
 <name>hadoop.tmp.dir</name>
 <value>/hadoop/tmp</value>
 <description>A base for other temporary directories.</description>
 </property>
 <property>
 <name>fs.default.name</name>
 <value>hdfs://192.168.1.105:9000</value>
 </property>
 
添加 httpfs 的 選項
<property>
 <name>hadoop.proxyuser.root.hosts</name>
 <value>192.168.1.105</value>
 </property>
 <property>
 <name>hadoop.proxyuser.root.groups</name>
 <value>*</value>
 </property>


slave配置

vim /home/hadoop/hadoop/etc/hadoop/slaves
添加 slave 的 IP
192.168.1.106

配置hdfs-site.xml

vim /home/hadoop/hadoop/etc/hadoop/hdfs-site.xml
添加節點

<property>
 <name>dfs.replication</name>
 <value>1</value>
</property>

<property>
 <name>dfs.namenode.name.dir</name>
 <value>file:/hadoop/hdfs/name</value>
 <final>true</final>
</property>

<property>
 <name>dfs.federation.nameservice.id</name>
 <value>ns1</value>
</property>

<property>
 <name>dfs.namenode.backup.address.ns1</name>
 <value>192.168.1.105:50100</value>
</property>

<property>
 <name>dfs.namenode.backup.http-address.ns1</name>
 <value>192.168.1.105:50105</value>
</property>

<property>
 <name>dfs.federation.nameservices</name>
 <value>ns1</value>
</property>

<property>
 <name>dfs.namenode.rpc-address.ns1</name>
 <value>192.168.1.105:9000</value>
</property>
<property>
 <name>dfs.namenode.rpc-address.ns2</name>
 <value>192.168.1.105:9000</value>
</property>

<property>
 <name>dfs.namenode.http-address.ns1</name>
 <value>192.168.1.105:23001</value>
</property>

<property>
 <name>dfs.namenode.http-address.ns2</name>
 <value>192.168.1.105:13001</value>
</property>

<property>
 <name>dfs.dataname.data.dir</name>
 <value>file:/hadoop/hdfs/data</value>
 <final>true</final>
</property>

<property>
 <name>dfs.namenode.secondary.http-address.ns1</name>
 <value>192.168.1.105:23002</value>
</property>

<property>
 <name>dfs.namenode.secondary.http-address.ns2</name>
 <value>192.168.1.105:23002</value>
</property>

<property>
 <name>dfs.namenode.secondary.http-address.ns1</name>
 <value>192.168.1.105:23003</value>
</property>

<property>
 <name>dfs.namenode.secondary.http-address.ns2</name>
 <value>192.168.1.105:23003</value>
</property>


配置yarn-site.xml

添加 節點

<property>
 <name>yarn.resourcemanager.address</name>
 <value>192.168.1.105:18040</value>
</property>

<property>
 <name>yarn.resourcemanager.scheduler.address</name>
 <value>192.168.1.105:18030</value>
</property>

<property>
 <name>yarn.resourcemanager.webapp.address</name>
 <value>192.168.1.105:18088</value>
</property>

<property>
 <name>yarn.resourcemanager.resource-tracker.address</name>
 <value>192.168.1.105:18025</value>
</property>

<property>
 <name>yarn.resourcemanager.admin.address</name>
 <value>192.168.1.105:18141</value>
</property>

<property>
 <name>yarn.nodemanager.aux-services</name>
 <value>mapreduce.shuffle</value>
</property>


6.同步代碼到其餘機器

a.同步配置代 碼
先在 slaves 的機器上也 創 建
mkdir -p /home/hadoop/source
部署hadoop代 碼 ,創 建 軟鏈接 ,而後只要同步修改 過 的etc/hadoop下的配置文件便可
b.同步 /etc/profile
c.同步 /etc/hosts
scp -r /etc/profile root@slave1:/etc/profile
scp -r /etc/hosts root@slave1:/etc/hosts

7.Hadoop啓動
格式化集羣
hadoop namenode -format -clusterid clustername

啓動hdfs執行
start-dfs.sh

啓動Yarn
start-yarn.sh

啓動httpfs
httpfs.sh start
使得 對外 能夠提升 http 的restful接口服 務

測試

7.安裝結果驗證

a.驗證hdfs

在各臺機器 執行 jps 看 進程 是否都已經啓動了

[root@hadoop1 hadoop]# jps
7396 NameNode     --dfs
24834 Bootstrap    --httpfs
7594 SecondaryNameNode  --dfs
7681 ResourceManager   --yarn
32261 Jps

[root@hadoop2 ~]# jps
8966 Jps
31822 DataNode    --dfs
31935 NodeManager  --yarn

進程啓動 正常

驗證 是否能夠登 陸
hadoop fs -ls hdfs://192.168.1.105:9000/
hadoop fs -mkdir hdfs://192.168.1.105:9000/testfolder
hadoop fs -copyFromLocal ./test.txt hdfs://192.168.1.105:9000/testfolder ---error
hadoop fs -ls hdfs://192.168.1.105:9000/ testfolder

看以上 執行是否正常


b.驗證map/reduce

在 master上, 建立輸入目錄 :hadoop fs -mkdir hdfs://192.168.1.105:9000/input
將 /usr/hadoop/hadoop-2.0.1-alpha/ 目 錄下的全部 txt 文件複製到 hdfs 分佈式文件系 統的目錄裏,執行如下命令
hadoop fs -put /usr/hadoop/hadoop-2.0.0-alpha/*.txt hdfs://192.168.1.105:9000/input

在 master上, 上, 執行 HADOOP 自 帶的例子, wordcount 包,命令以下
cd /usr/hadoop/hadoop-2.0.0-alpha/share/hadoop/mapreduce
hadoop jar hadoop-mapreduce-examples-2.0.0-alpha.jar wordcount hdfs://192.168.1.105:9000/input hdfs://192.168.1.105:9000/output
hadoop fs -put /usr/hadoop/hadoop-2.0.0-alpha/*.txt hdfs://192.168.1.105:9000/input

在 master 上, 查看結果命令以下 :
[root@master hadoop]# hadoop fs -ls hdfs://192.168.1.105:9000/output
[root@master hadoop]# hadoop fs -cat  hdfs://192.168.1.105:9000/output/part-r-00000
便可看到每一個 單詞的數量

c.驗證httpfs

HTTPFS操做:

OPEN,GETFILESTATUS,LISTSTATUS,GETHOMEDIRECTORY,GETCONTENTSUMMARY,GETFILECHECKSUM,GETDELEGATIONTOKEN,GETFILEBLOCKLOCATIONS,INSTRUMENTATION

GETHOMEDIRECTORY 路徑無關,返回根 節點路徑
http://192.168.1.105:14000/webhdfs/v1/yxq?op=GETHOMEDIRECTORY&user.name=root
Path: "/user/root"

http://192.168.1.105:14000/webhdfs/v1/yxq/bitfoldersub0/bitwaretestfile0.bt?op=GETHOMEDIRECTORY&user.name=root

打開下 載一個文件
http://192.168.1.105:14000/webhdfs/v1/yxq/bitfoldersub0/bitwaretestfile0.bt?op=open&user.name=root

LISTSTATUS 現實目錄狀態

http://192.168.1.105:14000/webhdfs/v1/yxq/bitfoldersub0?op=LISTSTATUS&user.name=root
http://192.168.1.105:14000/webhdfs/v1/yxq/bitfoldersub0/bitwaretestfile0.bt?op=LISTSTATUS&user.name=root


GETFILESTATUS 顯示文件的狀態
http://192.168.1.105:14000/webhdfs/v1/yxq/bitfoldersub0/bitwaretestfile0.bt?op=GETFILESTATUS&user.name=root

若是是路徑 則現實路徑信息
http://192.168.1.105:14000/webhdfs/v1/yxq/bitfoldersub0/?op=GETFILESTATUS&user.name=root
http://192.168.1.105:14000/webhdfs/v1/yxq/bitfoldersub0/bitwaretestfile0.bt?op=GETFILESTATUS&user.name=root

GETCONTENTSUMMARY 獲取路徑下的信息
http://192.168.1.105:14000/webhdfs/v1/yxq?op=GETCONTENTSUMMARY&user.name=root

GETFILECHECKSUM 獲取文件的校驗值
http://192.168.1.105:14000/webhdfs/v1/yxq/bitfoldersub0/bitwaretestfile0.bt?op=GETFILECHECKSUM&user.name=root

8.常遇問題解決辦法 a.目錄權限 b.防火牆沒有關閉

相關文章
相關標籤/搜索