<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [toc] ## 零 hadoop集群基礎 hadoop是分布式大數據組件 : * 大數據 大數據是海量數據的處理和分析的技術,需要用分布式框架 * 分布式 分布式則是通過多個主機的進程協同在一起,構成整個應用 hadoop常用模塊 * hdfs-分布式存儲模塊,使用了虛擬的文件系統,架構在Linux之上 * mapreduce-分布式計算模塊 Hadoop三種集群模式 * 本地模式 單機模式,進程都不需要啟動 * 偽分布式 在單機上啟動多個hadoop實例組成偽集群的方式 * 完全分布式 在多個機器上安卓hadoop,組成真正的集群模式 ## 一 hadoop本地模式 ### 單機環境部署 **準備環境** ```sh mkdir -p /server/tools cd /server/tools #上傳jdk和hadoop安裝包 [root@hadoop-1 tools]# ll total 372880 -rw-r--r-- 1 root root 214092195 Nov 29 11:24 hadoop-2.7.3.tar.gz -rw-r--r-- 1 root root 167733100 Nov 29 11:24 jdk-8u121-linux-x64.rpm ``` **安裝軟件** ```sh #安裝jdk軟件 rpm -ivh jdk-8u121-linux-x64.rpm #安裝hadoop tar xf hadoop-2.7.3.tar.gz -C /opt/ cd /opt/ ln -s hadoop-2.7.3/ hadoop cd /opt/hadoop/etc/ mv hadoop/ local cp -r hadoop/ pseudo cp -r hadoop/ full ln -s local/ hadoop #設置環境變量 [root@hadoop-1 ~]# tail -5 /etc/profile # ----java環境變量---- export JAVA_HOME=/usr/java/jdk1.8.0_121/ # ----hadoop環境變量---- export HADOOP_HOME=/opt/hadoop/ export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin [root@hadoop-1 ~]# source /etc/profile ``` **安裝驗證** ```sh [root@hadoop-1 ~]# java -version java version "1.8.0_121" ........ [root@hadoop-1 ~]# hadoop version Hadoop 2.7.3 ........ ``` ### 單機環境使用 單機環境部署好后,不需要啟動hadoop,可以直接使用hadoop命令,hdfs和linux共用一套文件系統,用法如下: **建立測試數據** ```sh mkdir /test cd /test echo bbbb >b.txt ``` **操作數據** hdfs的文件操作,基本上就是在linux的命令前加上hdfs前綴,如:`hfds -dfs -CMD` ```sh #顯示文件 hdfs dfs -ls # 查看文件 hdfs dfs -cat b.txt # 刪除文件 hdfs dfs -rm b.txt # 創建目錄 hdfs dfs -mkdir a.txt ``` ## 二 hadoop偽分布式 偽分布式和單機的區別,就是使用了另外一套配置文件而已 ### 偽分布式配置 **修改軟連接** ```sh cd /opt/hadoop/etc/ ln -sf pseudo hadoop ``` **修改core-site文件** ``` cat >hadoop/core-site.xml <<EOF <?xml version="1.0"?> <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost/</value> </property> </configuration> EOF ``` **修改hdfs-site文件** ``` cat >hadoop/hdfs-site.xml <<EOF <?xml version="1.0"?> <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> EOF ``` **修改mapred-site文件** ``` cat >hadoop/mapred-site.xml <<EOF <?xml version="1.0"?> <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> EOF ``` **修改yarn-site文件** ``` cat >hadoop/yarn-site.xml <<EOF <?xml version="1.0"?> <configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>localhost</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration> EOF ``` ### 偽分布式啟動 **設置ssh免秘鑰** ```sh ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa ssh-copy-id hadoop-1 ``` **初始化hdfs** ```sh hdfs namenode -format ``` **修改hadoop.set配置** ```sh #修改第25行的JAVA_HOME配置 sed -i "s#\(export JAVA_HOME=\).*#\1`echo $JAVA_HOME`#g" hadoop/hadoop-env.sh ``` 啟動程序并驗證 ```sh sh /opt/hadoop/sbin/start-all.sh [root@hadoop-1 etc]# jps ...... DataNode ...... ResourceManager ...... NodeManager ...... NameNode ...... SecondaryNameNode # 只要出現這5個程序,表示hadoop啟動成功 #創建文件測試 [root@hadoop-1 etc]# hdfs dfs -mkdir /abcd ``` 瀏覽器驗證 在瀏覽器輸入`10.0.0.11:50070`進入hadoop的webUI頁面,可以進行網頁瀏覽操作 ## 三 hadoop完全分布式 完全分布式和偽分布式的區別是 * `NameNode` `SecondaryNameNode` `ResourceManager `三個服務放在管理節點上啟動 * `NodeManager ` `DataNode`兩個服務在所有數據節點上啟動 * 需要再各配置文件中指定服務器信息 * master服務器到slave服務器的互信(ssh免密) ### 配置文件修改 **修改軟連接** ```sh cd /opt/hadoop/etc/ ln -sf full hadoop ``` **修改slaves文件** ```sh cat >>hadoop/slaves <<EOF 10.0.0.12 10.0.0.13 10.0.0.14 EOF ``` **修改core-site文件** ``` cat >hadoop/core-site.xml <<EOF <?xml version="1.0" encoding="UTF-8"?> <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://10.0.0.11:8020</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/centos/hadoop</value> </property> </configuration> EOF ``` **修改hdfs-site文件** ``` cat >hadoop/hdfs-site.xml <<EOF <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>dfs.replication</name> <value>3</value> </property> </configuration> EOF ``` **修改mapred-site文件** ``` cat >hadoop/mapred-site.xml <<EOF <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> EOF ``` **修改yarn-site文件** ``` cat >hadoop/yarn-site.xml <<EOF <?xml version="1.0"?> <configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>10.0.0.11</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration> EOF ``` ### 互信和分發配置 **ssh互信** ```sh ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa ssh-copy-id hadoop@10.0.0.11 ssh-copy-id hadoop@10.0.0.12 ssh-copy-id hadoop@10.0.0.13 ssh-copy-id hadoop@10.0.0.14 ``` **分發配置** ```sh scp -r /opt/hadoop/etc/full /opt/hadoop/etc/hadoop hadoop@10.0.0.12:/opt/hadoop/etc/ scp -r /opt/hadoop/etc/full /opt/hadoop/etc/hadoop hadoop@10.0.0.13:/opt/hadoop/etc/ scp -r /opt/hadoop/etc/full /opt/hadoop/etc/hadoop hadoop@10.0.0.14:/opt/hadoop/etc/ ``` **格式化HDFS并啟動hadoop** ```sh hdfs namenode -format sh /opt/hadoop/sbin/start-all.sh ``` **驗證安裝結果** ```sh # master上啟動的服務 [root@hadoop-1 etc]# jps ...... NameNode ...... SecondaryNameNode ...... ResourceManager # slaves上啟動的服務 [root@hadoop-2 etc]# jps ...... NodeManager ...... DataNode ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看