一.爲何要大數據學習?html
這是一個大數據的時代,一個企業只有掌握了大數據才能把握住市場的命脈,一我的掌握了大數據就能夠比較輕鬆的向機器學習、人工智能等方向發展。因此咱們有必要去掌握大數據的技術同時也關注大數據的發展趨勢,不能裹足不前。java
二.關於本專題的學習node
做爲一個普通本科大學生,在校的大數據學習比較的「水」,普通大學嘛,你們都懂。在一個就是編程實戰方向上的東西原本就該靠自學,而不是靠別人去教。我以爲大數據的學習是一個緩慢的過程,須要半年的時間去學習。我想在大二結束差很少就能夠完成大數據最基本的學習了。(看看明年暑假能不能去個公司實習一下:-))由於這也是我也是第一次學習大數據,這一系列文章是個人學習筆記而不是個人工做經歷總結,其中不免有部分錯誤,還望前輩們不嗇賜教。linux
三.在阿里雲上安裝hadoop,同時集成6臺雲主機web
3.1版本說明:1.Linux centos7編程
2.Java jdk1.8vim
3.Hadoop Hadoop2.7.3centos
3.2 安裝Java服務器
在這裏咱們使用的是Java 1.8,固然你也可使用其餘的版本,可是必定要是Linux版本的Java!oracle
咱們下載的壓縮包格式,下載到本地後經過winscp上傳到阿里雲上
下載連接 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
咱們在阿里雲上的opt文件夾下建立Java文件夾和hadoop文件夾如圖
咱們將咱們的Java壓縮包放到Java文件夾中去。
而後進入該文件夾執行解壓操做
進入該文件夾 cd /opt/java
解壓操做 tar -zxvf jdk-8u 191-linux-x64.tar.gz (注意你本身的jdk版本號和你本身的文件名)
解壓完成後會看見一個文件夾以下
接下來咱們呢就要去配置文件了
修改/etc/profile文件 使用命令符 vim /etc/profile
在文件的最後加上
export JAVA_HOME=/opt/java/jdk1.8.0_191 (注意你本身的版本號)
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
更改完後輸入命令命令符 Java、 javac、java -version。
出現下面的字符說明安裝成功:
3.3實現6個機子ssh免密碼登陸
檢查機器名稱
輸入命令符 hostname 能夠查看大家的機器名稱,如圖:其餘的5臺服務器也是分別爲hserver二、hserver三、hserver四、hserver五、hserver6(這幾個爲datenode)
修改映射文件輸入命令符vim /etc/hosts 將全部的服務器的主機ip地址和他們的hostname相對應
如圖:
修改完成後咱們檢查一下是否可以發送成功。
ping -c 3 hserver2
這樣就說明成功了,固然剩下的5臺服務器也測試後成功了。
配置ssh文件
輸入命令 ssh-keygen -t rsa -P ''
在過程當中須要輸入回車
而後ls /root/.ssh/ 出現下圖
查看id_rsa.pub vim id_rsa.pub
咱們將全部主機中的id_rsa.pub 文件中的公匙複製到一個文件中authorized_keys,而後將authorized_keys放置到/root/.ssh/文件夾下
查看authorized_keys vim authorized_keys 以下:
測試是否ssh配置成功
依次檢查ssh hserver2 、三、四、五、6
第一次輸入通常會詢問連接 輸入yes
測試完後必定要關閉連接否者你在本機上的命令會在那一臺機子上執行,
命令符 exit 退出
3.4安裝hadoop
下載hadoop到本地而後上傳到阿里雲上,解壓。資源網上都有能夠去找 ,我這裏使用的Hadoop版本爲2.7.3下面解壓後全部的路徑大家根據大家的版本去修改。
咱們的將Hadoop的壓縮包放到/opt/hadoop/文件夾下:
而後咱們進入該文件夾 cd /opt/hadoop/
接着執行 tar -xvf hadoop-2.7.3.tar.gz (注意大家的文件版本名)解壓文件
解壓完成後你會的獲得一個文件夾
而後建立以下幾個文件夾
mkdir /root/hadoop
mkdir /root/hadoop/tmp
mkdir /root/hadoop/var
mkdir /root/hadoop/dfs
mkdir /root/hadoop/dfs/name
mkdir /root/hadoop/dfs/data
修改配置文件:
vim /opt/hadoop/hadoop-2.7.3/etc/hadoop/core-site.xml
在<configuration>節點中寫入:
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://hserver1:9000</value>
</property>
</configuration>
注意若是你的namenode的hostname不爲hserver1你要改爲你的namenode的hostname
vim /opt/hadoop/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
將export JAVA_HOME=${JAVA_HOME}
修改成:
export JAVA_HOME=/opt/java/jdk1.8.0_191 (注意你本身的Java版本號)
vim /opt/hadoop/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
在<configuration>節點中寫入:
<property>
<name>dfs.name.dir</name>
<value>/root/hadoop/dfs/name</value>
<description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/root/hadoop/dfs/data</value>
<description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
<description>need not permissions</description>
</property>
在該版本中,有一個名爲mapred-site.xml.template的文件,複製該文件,而後更名爲mapred-site.xml,命令是:
cp /opt/hadoop/hadoop-2.8.0/etc/hadoop/mapred-site.xml.template /opt/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml
vim /opt/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml
在<configuration>節點內加入配置:
<property>
<name>mapred.job.tracker</name>
<value>hserver1:49001</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/root/hadoop/var</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
vim /opt/hadoop/hadoop-2.7.3/etc/hadoop/slaves
加入你的datenode的hostname
以下圖:
vim /opt/hadoop/hadoop-2.7.3/etc/hadoop/yarn-site.xml
在<configuration>節點內加入配置
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hserver1</value>
</property>
<property>
<description>The address of the applications manager interface in the RM.</description>
<name>yarn.resourcemanager.address</name>
<value>0.0.0.0:8032</value>
</property>
<property>
<description>The address of the scheduler interface.</description>
<name>yarn.resourcemanager.scheduler.address</name>
<value>0.0.0.0:8030</value>
</property>
<property>
<description>The http address of the RM web application.</description>
<name>yarn.resourcemanager.webapp.address</name>
<value>0.0.0.0:8088</value>
</property>
<property>
<description>The https adddress of the RM web application.</description>
<name>yarn.resourcemanager.webapp.https.address</name>
<value>0.0.0.0:8090</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>0.0.0.0:8031</value>
</property>
<property>
<description>The address of the RM admin interface.</description>
<name>yarn.resourcemanager.admin.address</name>
<value>0.0.0.0:8033</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>2048</value>
<discription>每一個節點可用內存,單位MB,默認8182MB</discription>
</property>
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>2.1</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
四.初始化hadoop和執行hadoop
cd /opt/hadoop/hadoop-2.7.3/bin 進入文件夾
./hadoop namenode -format 初始化腳本
格式化成功後,能夠在看到在/root/hadoop/dfs/name/目錄多了一個current目錄,並且該目錄內有一系列文件
在namenode上去執行啓動命令
cd /opt/hadoop/hadoop-2.8.0/sbin (進入文件夾)
./start-all.sh (執行命令)
過程當中全部詢問輸入yes
五.測試hadoop是否成功
namenode的地址爲39.105.201.218
關閉防火牆 systemctl stop firewalld.service 後
打開:
http://39.103.201.218:50090/(HDFS管理界面)
http://39.103.201.218:8088/ (cluster頁面)
參考文章 https://blog.csdn.net/pucao_cug/article/details/71698903