第三記·Hadoop 2.x 僞分佈式環境搭建

Hadoop 2.x 僞分佈式環境搭建

 XY個人筆記

Linux 01 中分配opt文件權限給普通用戶
$ sudo chown ijeffrey:ijeffrey -R /opt/
opt中創建兩個文件夾,並將兩個tar上傳到software裏
software(存放tar) modules(解壓tar後的文件)
$ mkdir modules software
首先上傳兩個tar點擊下載):

hadoop-2.7.3.tar.gz 下載


modules裏創建兩個文件夾cdhapache 分別放兩個版本的軟件包
$ mkdir cdh apache
 
解壓:
$ tar -zxvf hadoop-2.7.3.tar.gz -C /opt/modules/apache/
$ tar -zxf jdk-7u67-linux-x64.tar.gz -C /opt/modules
卸載自帶的JDK
搜索
jdk:rpm -qa | grep jdk

卸載:
$ sudo rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64
$ sudo rpm -e --nodeps java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64
配置環境變量
配置全局環境變量:
$ sudo vim /etc/profile
增加完後source一下,輸入java javac驗證
進入目錄:
$ cd /opt/modules/apache/hadoop2.7.3
因爲doc佔的目錄比較大 所以刪除。
$ rm -rf doc


進入到/opt/modules/apache/hadoop2.7.3/etc/hadoop裏面配置三個env文件:
hadoop.env.sh
mapred.env.sh
yarn.env

三個文件配置JDK的路徑

下面兩個註釋放開並編輯:
===================================================

===================================================


hdfs相關的配置 ${HADOOP_HOME}/etc/hadoop
1)core-site.xml
=============core-site.xml===================
<!--NameNode地址,8020是指定進程8020,訪問入口 -->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:8020</value>
</property>

<!--hadoop在運行時產生的文件,元數據在本地的存放目錄 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/modules/apache/hadoop-2.7.3/data/tmp</value>
</property>
============================================

2)hdfs-site.xml
=============hdfs-site.xml============

<configuration>
    <!--存放到hdfs上的文件的副本數,僞分佈式配置爲1 -->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <!-- 配置 secondarynamenode -->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
    <value>hadoop01.com:50090</value>
    </property>
</configuration>

======================================
配置參考地址地址:http://hadoop.apache.org/docs/r2.7.3/
--->Configuration


指定你的主機名
slaves文件中localhost更改爲自己的主機名

3)格式化namenode
只格式化一遍,不要重複格式化
${HADOOP_HOME}目錄下
$ bin/hdfs namenode -format 

看到如下命令行代表成功格式化
3)啓動hdfs守護進程


$ sbin/hadoop-daemon.sh start namenode
$ sbin/hadoop-daemon.sh start datanode
<!-- 啓動secondarynamenode -->
$ sbin/hadoop-daemon.sh start secondarynamenode

主節點是namenode
從節點是datanode
輔助namenode是secondarynamenode

                --Secondary NameNode 用來監控HDFS狀態的輔助後臺程序,每隔一段時間獲取HDFS元數據的快照


$ jps 多次查看是否宕機(如果失敗了一般是網絡映射或防火牆未關閉的原因


成功後訪問自己的web界面


【常見問題】

1.格式化問題
一般格式化一次即可
生成fsimage
操作hdfs之後會生成edits
先關閉服務
需要把hadoop,tmp.dir下面的目錄全部清空,重新格式化
2.出現錯誤
學會查看日誌文件,查看logs目錄下的.log後綴結尾的文件
3.clusterID
集羣id不一致
第一種解決辦法修改VERSION文件,以namenode的ID爲準,改爲一致即可
第二種解決辦法,重新格式化 data logs 刪掉
4.PID進程號
多用戶啓動進程,會記錄不同用戶的pid進程號
如果出現不同的pid進程號 直接刪除
在去用同一個用戶啓動

刪除PID

$ rm -rf /tmp/xxx.pid 

1.關閉防火牆並且不開機啓動
1).關閉Linux 防火牆
# service iptables status ##查看防火牆狀態
iptables: Firewall is not running.
# service iptables stop ##關閉防火牆
2).設置不開機啓動防火牆
# chkconfig iptables off ##不隨機啓動
3).查看防火牆的開機啓動設置
# chkconfig --list | grep iptables
2.關閉安全子系統
# vi /etc/sysconfig/selinux
SELINUX=disabled

hadoop tar包和jdk tar 包下載地址:

https://download.csdn.net/download/u014414323/10420850

https://download.csdn.net/download/u014414323/10420846


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章