Hadoop+Spark+Scala+R+PostgreSQL+Zeppelin安裝過程-Hadoop安裝及測試

在上一篇環境安裝完成的基礎上進行Hadoop的安裝和配置。
3.7Hadoop安裝
需要在3臺服務器上都安裝 Hadoop。首先通過sftp將下載下來的二進制的 Hadoop包上傳到Master,
將Hadoop 壓縮包 hadoop-2.6.3.tar.gz移動到/usr/local/program/目錄下,使用tar zxvf  hadoop-2.6.3.tar.gz 解壓縮。
進入 /usr/local/program/hadoop-2.6.3/etc/hadoop查看配置文件如下

3.7.1 Hadoop環境變量配置
1、首先將Hadoop的安裝路徑配置到環境變量中
vi /etc/profile
export JAVA_HOME=/usr/local/program/jdk1.7.0_80
export JRE_HOME=/usr/local/program/jdk1.7.0_80/jre
export CLASS_PATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export HADOOP_HOME=/usr/local/program/hadoop-2.6.3
export HADOOP_CONF_DIR=/usr/local/program/hadoop-2.6.3/etc/hadoop
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$PATH
保存退出後source /etc/profile 使改動生效。

2、並把jdk的環境變量加入到Hadoop的環境變量中
vi /usr/local/program/hadoop-2.6.3/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/local/program/jdk1.7.0_80
保存退出。
vi /usr/local/program/hadoop-2.6.3/etc/hadoop/yarn-env.sh
export JAVA_HOME=/usr/local/program/jdk1.7.0_80
保存退出。
3、Hadoop version 驗證效果

3.7.2 Hadoop 文件配置
首先在Master先配置,然後分發到各個slave上
1、core-site.xml
主要是配置HDFS的地址和端口號
文件名 core-site.xml
參數名稱 屬性值 備註
fs.defaultFS hdfs://bigdata1:9000 接收Client連接的RPC端口,用於獲取文件系統metadata信息。
hadoop.tmp.dir /usr/local/program/hadoop-2.6.3/tmp 需要事先在目錄下創建tmp文件,如沒有配置hadoop.tmp.dir參數,此時系統默認的臨時目錄爲:/tmp/hadoo-hadoop。而這個目錄在每次重啓後都會被幹掉,必須重新執行format才行,否則會出錯。
hadoop.proxyuser.hadoop.hosts *
hadoop.proxyuser.hadoop.groups *
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <property> 
    <name>io.file.buffer.size</name> 
        <value>131072</value> 
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/program/hadoop-2.6.3/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property> 
        <name>hadoop.proxyuser.hadoop.hosts</name> 
        <value>*</value> 
    </property> 
    <property> 
        <name>hadoop.proxyuser.hadoop.groups</name> 
        <value>*</value> 
    </property>
2、 hdfs.xml
修改Hadoop中HDFS的配置,配置的備份方式默認爲3。 replication 是數據副本數量,默認爲3,salve少於3臺就會報錯 .
文件名 hdfs.xml
參數名稱 屬性值 備註
dfs.namenode.secondary.http-address master:9001 secondary name node web 監聽端口
dfs.namenode.name.dir file:/usr/local/program/hadoop-2.6.3/name data node的數據目錄,以,號隔開,hdfs會把數據存在這些目錄下,一般這些目錄是不同的塊設備,不存在的目錄會被忽略掉
dfs.namenode.data.dir file:/usr/local/program/hadoop-2.6.3/data Determines where on the local filesystem the DFS name node should store the name table(fsimage). If this is a comma-delimited list of directories then the name table is replicated in all of the directories, for redundancy. name node的元數據保存,以,號隔開,hdfs會把元數據冗餘複製到這些目錄,一般這些目錄是不同的塊設備,不存在的目錄會被忽略掉
dfs.replication 1 一個文件上傳到hdfs上的副本數。
dfs.webhdfs.enabled TRUE 默認訪問namenode的hdfs使用50070端口,訪問datanode的webhdfs使用50075端口。訪問文件、文件夾信息使用namenode的IP和50070端口,訪問文件內容或者進行打開、上傳、修改、下載等操作使用datanode的IP和50075端口。要想不區分端口,直接使用namenode的IP和端口進行所有的webhdfs操作,就需要在所有的datanode上都設置hefs-site.xml中的dfs.webhdfs.enabled爲true
<configuration> 
<property> 
<name>dfs.namenode.secondary.http-address</name> 
<value>master:9001</value> 
</property> 
<property> 
<name>dfs.namenode.name.dir</name> 
<value>file:/usr/local/program/hadoop-2.6.3/name</value> 
</property> 

<property> 
<name>dfs.namenode.data.dir</name> 
<value>file:/usr/local/program/hadoop-2.6.3/data</value> 
</property> 

<property> 
<name>dfs.replication</name> 
<value>1</value> 
</property> 
<property> 
<name>dfs.webhdfs.enabled</name> 
<value>true</value> 
</property> 
</configuration>
3、 mapred-site.xml
文件名 mapred-site.xml
參數名稱 屬性值 備註
mapreduce.framework.name yarn 選擇調度方式
 
mapreduce.jobhistory.address master:10020 MapReduce JobHistory Server地址
mapreduce.jobhistory.webapp.address master:19888 MapReduce JobHistory Server Web UI地址

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>

        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>master:10020</value>
        </property>

        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>master:19888</value>
        </property>


</configuration>
4、yarn-site.xml
文件名 yarn-site.xml
參數名稱 屬性值 備註
yarn.nodemanager.aux-services mapreduce_shuffle yarn提供了一個yarn.nodemanager.aux-services的配置項,通過該配置,用戶可以自定義一些服務,例如Map-Reduce的shuffle功能就是採用這種方式實現的。
yarn.nodemanager.aux-services.mapreduce.shuffle.class org.apache.hadoop.mapred.ShuffleHandler 爲了能夠運行MapReduce程序,需要讓各個NodeManager在啓動時加載shuffle server,shuffle server實際上是Jetty/Netty Server,Reduce Task通過該server從各個NodeManager上遠程拷貝Map Task產生的中間結果
yarn.resourcemanager.scheduler.address master:18030 參數解釋:ResourceManager 對ApplicationMaster暴露的訪問地址。ApplicationMaster通過該地址向RM申請資源、釋放資源等。
yarn.resourcemanager.resource-tracker.address master:18031 參數解釋:ResourceManager 對NodeManager暴露的地址.。NodeManager通過該地址向RM彙報心跳,領取任務等。
yarn.resourcemanager.address master:18032 ResourceManager 對客戶端暴露的地址。客戶端通過該地址向RM提交應用程序,殺死應用程序等。
yarn.resourcemanager.admin.address master:18033 ResourceManager 對管理員暴露的訪問地址。管理員通過該地址向RM發送管理命令等。
yarn.resourcemanager.webapp.address master:18088 ResourceManager對外web ui地址。用戶可通過該地址在瀏覽器中查看集羣各類信息。
<configuration>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
                <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>
        <property>
                <name>yarn.resourcemanager.address</name>
                <value>master:18032</value>
        </property>
        <property>
                <name>yarn.resourcemanager.scheduler.address</name>
                <value>master:18030</value>
        </property>
        <property>
                <name>yarn.resourcemanager.resource-tracker.address</name>
                <value>master:18031</value>
        </property>
        <property>
                <name>yarn.resourcemanager.admin.address</name>
                <value>master:18033</value>
        </property>
        <property>
                <name>yarn.resourcemanager.webapp.address</name>
                <value>master:18088</value>
        </property>
</configuration>
5、修改master和slaves文件
vi master
Master
保存退出
vi slaves
Slave01
Slave02
保存退出
6、分發配置好的安裝文件
scp -r hadoop-2.6.3 root@Slave01:/usr/local/program/
scp -r hadoop-2.6.3root@Slave02:/usr/local/program/
7、格式化namenode
在Master上進入目錄/usr/local/program/hadoop-2.6.3/bin中執行
./hdfs namenode -format
8、驗證是否成功
cd /usr/local/program/hadoop-2.6.3/sbin/
./start-dfs.sh
./start-yarn.sh
1、在服務器上輸入jps,出現標紅的進程


 2、Hadoop Web界面(HDFS)
http://192.168.50.230:50070/dfshealth.html#tab-overview

3、Yarn資源管理界面
http://192.168.50.230:18088/cluster

4、測試上傳文件到hdfs上
mkdir test1
cat > test1/cst_test1
hello world!
lt's a lovely day!

5、運行 Wordcount示例
進入/usr/local/program/hadoop-2.6.3/目錄下
執行bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.3.jar wordcount /test1 /out1





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