標籤:webapp 斷行符號 exp hdfs 停止 output 啟動 dt.jar 重啟
Hadoop是用作處理大資料用的,核心是HDFS、Map/Reduce。雖然目前工作中不需要使用這個,但是,技多不壓身,經過虛擬機器很多遍的嘗試,終於將Hadoop2.5.2的環境順利搭建起來了。
首先準備一個CentOS,將主機名稱改為master,並且在/etc/hosts裡面加入master對應的本機ip地址。
Linux基本配置
vi /etc/sysconfig/network
#編輯檔案裡面的HOSTNAME=master
vi /etc/hosts
#添加
本機IP地址 master
然後關閉iptables並設定開機不啟動。
service iptables stop
chkconfig iptables off
重啟系統,接下來是配置ssh無密碼登陸。配置這個的理由是在啟動hadoop可以不用輸入密碼。
SSH無密碼登陸
vi /etc/ssh/sshd_config
#以下4行的注釋需要開啟
HostKey /etc/ssh/ssh_host_rsa_key
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
#儲存,並重啟sshd
service sshd restart
#產生免登陸秘鑰
ssh-keygen -t rsa
#一路斷行符號就行。之後會在當前登陸使用者主目錄中的.ssh檔案夾裡產生2個檔案。
#進入.ssh目錄。
cat id_rsa.pub >> authorized_keys
#現在可以用ssh無密碼登陸系統了。
ssh localhost
JDK安裝配置(略)
使用的版本是jdk-7u79-linux-x64。
安裝並配置Hadoop2.5.2
將下載好的tar.gz包上傳至環境。
tar -zxvf hadoop-2.5.2.tar.gz -C /usr
vi /etc/profile
#將以下內容放在最後面。
export JAVA_HOME=/usr/java/jdk1.7.0_79
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/usr/hadoop-2.5.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS=-Djava.library.path=$HADOOP_HOME/lib
#儲存,並執行source /etc/profile
#配置Hadoop
#建立hadoop的name與data目錄
mkdir -p /usr/hdfs/name
mkdir -p /usr/hdfs/data
mkdir -p /usr/hdfs/tmp
cd /usr/hadoop-2.5.2/etc/hadoop
設定以下檔案的JAVA_HOME
hadoop-env.sh hadoop-yarn.sh
vi core-site.xml
#在configuration節點裡面加入以下配置,注意ip改為本機ip
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hdfs/tmp</value>
<description>A base for other temporary directories.</description>
</property>
<!--file system properties-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.1.112:9000</value>
</property>
vi hdfs-site.xml
#同樣在configuration節點裡面加入以下配置
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
#從模板複製一份mapred-site.xml
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
#同樣在configuration節點裡面加入以下配置
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
vi yarn-site.xml
#同樣在configuration節點裡面加入以下配置,注意將ip地址換成原生。
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<description>The address of the applications manager interface in the RM.</description>
<name>yarn.resourcemanager.address</name>
<value>192.168.1.112:18040</value>
</property>
<property>
<description>The address of the scheduler interface.</description>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.1.112:18030</value>
</property>
<property>
<description>The address of the RM web application.</description>
<name>yarn.resourcemanager.webapp.address</name>
<value>192.168.1.112:18088</value>
</property>
<property>
<description>The address of the resource tracker interface.</description>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.1.112:8025</value>
</property>
至此,已經將Hadoop初步的環境配置好了,在啟動之前還需要格式化namenode。
輸入命令“hadoop namenode -format”;
啟動命令:
start-dfs.sh
start-yarn.sh
停止命令:
stop-dfs.sh
stop-yarn.sh
啟動完畢,開啟瀏覽器輸入 http://192.168.1.112:50070 與 http://192.168.1.112:18088 驗證安裝。
測試Hadoop
通過運行hadoop內建的wordcount來驗證安裝是否正確。
進入hadoop安裝的目錄,輸入以下命令。
mkdir example
cd example
編輯file1.txt與file2.txt
vi file1.txt
hello zhm
hello hadoop
hello cz
vi file2.txt
hadoop is ok
hadoop is newbee
hadoop 2.5.2
cd ..
hadoop fs -mkdir /data
hadoop fs -put -f example/file1.txt example/file2.txt /data
#運行wordcount例子
hadoop jar ./share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.5.2-sources.jar org.apache.hadoop.examples.WordCount /data /output
#查看運行結果
hadoop fs -cat /output/part-r-00000
#結果如下:
2.5.2 1
cz 1
hadoop 4
hello 3
is 2
newbee 1
ok 1
zhm 1
到這裡,環境就已經配置好了,下面就是搞使用Maven開發Hadoop項目了。
在安裝的過程中,遇到問題是必然的。好好在網路上搜尋搜尋一般都可以找到你想要的答案的。
CentOS 配置hadoop