一、環境
作業系統:CentOS 6.5 64位作業系統
註:Hadoop2.0以上採用的是jdk環境是1.7,Linux內建的jdk卸載掉,重新安裝
下載地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
軟體版本:hadoop-2.3.0-cdh5.1.0.tar.gz, zookeeper-3.4.5-cdh5.1.0.tar.gz
下載地址:http://archive.cloudera.com/cdh5/cdh/5/
開始安裝: 二、jdk安裝
1、檢查是否內建jdk
rpm -qa | grep jdk
java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.i686
2、卸載內建jdk
yum -y remove java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.i686
或:
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
3、安裝jdk-7u55-linux-x64.tar.gz
在usr/目錄下建立檔案夾java,在java檔案夾下運行tar –zxvf jdk-7u55-linux-x64.tar.gz
解壓到java目錄下
[root@master01 java]# ls
jdk1.7.0_55 三、配置環境變數
運行vim /etc/profile
# /etc/profile
# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
export JAVA_HOME=/usr/java/jdk1.7.0_55export JRE_HOME=/usr/java/jdk1.7.0_55/jreexport CLASSPATH=/usr/java/jdk1.7.0_55/libexport PATH=$JAVA_HOME/bin: $PATH
儲存修改,運行source /etc/profile 重新載入環境變數
運行java -version
[root@master01 java]# java -version
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)
Jdk配置成功 四、系統配置
1 、關閉防火牆
chkconfig iptables off(永久性關閉)
配置主機名稱和hosts檔案
2、SSH無密碼驗證配置
因為Hadoop運行過程需要遠端管理Hadoop的守護進程,NameNode節點需要通過SSH(Secure Shell)連結各個DataNode節點,停止或啟動他們的進程,所以SSH必須是沒有密碼的,所以我們要把NameNode節點和DataNode節點配製成無秘密通訊,同理DataNode也需要配置無密碼連結NameNode節點。
在每一台機器上配置:
vi /etc/ssh/sshd_config開啟
RSAAuthentication yes # 啟用 RSA 認證,PubkeyAuthentication yes # 啟用公開金鑰私密金鑰配對認證方式
Master01:運行:ssh-keygen -t rsa -P '' 不輸入密碼直接enter
預設存放在 /root/.ssh目錄下,
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[root@master01 .ssh]# ls
authorized_keys id_rsa id_rsa.pub known_hosts
如果不是root使用者安裝(本例預設root使用者安裝),需要放開許可權,執行以下命令:
chmod 755 .sshchmod 600 ~/.ssh/authorized_keys
五、hadoop偽分布式配置
5.1 編輯檔案: etc/hadoop/hadoop-env.sh (註:JAVA_HOME如果有值就用自己的JAVA_HOME替代)
# set to the root ofyour Java installation export JAVA_HOME=/usr/java/latest # Assuming your installation directory is/usr/local/hadoop export HADOOP_PREFIX=/usr/local/hadoop
5.2 增加hadoop環境變數
export HADOOP_HOME=/usr/local/cdh/hadoop
5.3
編輯檔案 etc/hadoop/core-site.xml:
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property></configuration>
編輯 etc/hadoop/hdfs-site.xml(/usr/local/cdh/hadoop/data/dfs/name目錄一定要手工建立再格式化,不然出錯)
<configuration> <property> <!--開啟web hdfs--> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/usr/local/cdh/hadoop/data/dfs/name</value> <description> namenode 存放name table(fsimage)本地目錄(需要修改)</description> </property> <property> <name>dfs.namenode.edits.dir</name> <value>${dfs.namenode.name.dir}</value> <description>namenode粗放 transactionfile(edits)本地目錄(需要修改)</description> </property> <property> <name>dfs.datanode.data.dir</name> <value>/usr/local/cdh/hadoop/data/dfs/data</value> <description>datanode存放block本地目錄(需要修改)</description> </property></configuration>
編輯 :etc/hadoop/mapred-site.xml:
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property></configuration>
編輯:etc/hadoop/yarn-site.xml:
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property></configuration>
六:啟動及驗證安裝是否成功
格式化:要先格式化HDFS:
bin/hdfs namenode -format
啟動:
sbin/start-dfs.sh
sbin/start-yarn.sh
查看進程:jps
7448 ResourceManager
8277 SecondaryNameNode
7547 NodeManager
8079 DataNode
7975 NameNode
8401 Jps
1. 開啟瀏覽器 NameNode - http://localhost:50070/2. 建立檔案夾3. $bin/hdfs dfs -mkdir /user $ bin/hdfs dfs -mkdir /user/<username>4. Copy 檔案 $ bin/hdfs dfs -put etc/hadoop input5. 運行作業 $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.3.0-cdh5.1.0.jar grep input output 'dfs[a-z.]+'6. 查看輸出 $ bin/hdfs dfs -get output output $ cat output/*