【Hadoop大數據分析與挖掘實戰】(一)----------P19~22

来源:http://www.cnblogs.com/Hootin-Pang/archive/2017/01/20/6328382.html
-Advertisement-
Play Games

這是一本書的名字,叫做【Hadoop大數據分析與挖掘實戰】,我從2017.1開始學習 軟體版本為Centos6.4 64bit,VMware,Hadoop2.6.0,JDK1.7. 但是這本書的出版時間為2016.1,待到我2017.1使用時,一部分內容已經發生了翻天覆地的變化。 於是我開始寫這麼一... ...


  這是一本書的名字,叫做【Hadoop大數據分析與挖掘實戰】,我從2017.1開始學習

  軟體版本為Centos6.4 64bit,VMware,Hadoop2.6.0,JDK1.7.

  但是這本書的出版時間為2016.1,待到我2017.1使用時,一部分內容已經發生了翻天覆地的變化。

  於是我開始寫這麼一個博客,把這些記錄下來。

  我使用的軟體版本為:

軟體 版本
操作系統 CentOS 7 64bit-1611
虛擬機 VMware 12.5.2
Hadoop 2.7.3
JDK 1.8.0

   本人大二學生,只是想記錄一下,謝絕轉載,謝謝。

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

2.2安裝與配置

1.配置VMware網路

  我使用了橋接模式(複製物理網路連接狀態),和真實機使用了相同的網關,沒有按照書中的進行查詢。

2.準備機器

  通過VMware新建一臺CentOS 7虛擬機,使用root用戶登錄,添加一個新用戶hadoop。設置hadoop用戶的密碼並授予hadoop用戶sudo許可權。

[root@localhost ~]$ useradd hadoop
[root@localhost ~]$ passwd hadoop
[root@localhost ~]$ chmod u + w /etc/sudoers
[root@localhost ~]$ vim /etc/sudoers
#在root ALL=(ALL) ALL下添加hadoop ALL=(ALL) ALL
[root@localhost ~]$ chomd u - w /etc/sudoers

  其中chmod的用法和vim編輯器的用法可以自行百度。

3.設置靜態IP

  VMware預設使用動態IP,但是由於Hadoop集群是使用機器名進行定位的,在/etc/hosts中配置了機器名和IP的映射,如果IP不斷變化,則需要不斷修改配置文件,所以這裡需要把IP設置為靜態,方便後面的操作。

  1)修改/etc/sysconfig/network-scripts/ifcfg-******。

  每個人需要修改的文件名不同,書中修改的文件為ifcfg-eth0,其中eth0是其網卡名。在我的虛擬機中修改的是ifcfg-ens33。可以自行使用ifconfig命令進行查看。

[root@localhost ~]$ vim /etc/sysconfig/network-scripts/ifcfg-ens33
#需要修改的內容如下(如果沒有這一項就自己添加上):
DEVICE=ens33 #名稱填自己網卡名稱
BOOTPROTO=static #靜態IP
ONBOOT=yes #設置開機自動啟動
IPADDR=192.168.0.131 #IP地址
GATEWAY=192.168.0.1 #網關
DNS1=192.168.0.1 #DNS伺服器
HWADDR=00:0C:29:B7:73:4F #MAC地址①註
NETMASK=255.255.255.0 #這麼填就對了
TYPE=Ethernet #這一塊我也不懂
IPV6INIT=no #禁用IPV6

  註①:mac地址查看方法:虛擬機——設置——網路適配器——高級——MAC地址

  2)修改/etc/sysconfig/network。設置主機名稱和啟動NETWORK與否。

[root@localhost ~]$ vim /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=localhost.localdomain
GATEWAY=192.168.0.1

  3)修改DNS信息。

  書中手工設置 /etc/resolv.conf 里的DNS,使用source(!)時會對nameserver和search報錯,找不到命令。於是我找到了一篇博客文章:《CentOS 7 下,如何設置DNS伺服器》

  以下為文中內容:

  在CentOS 7下,手工設置 /etc/resolv.conf 里的DNS,過了一會,發現被系統重新覆蓋或者清除了。和CentOS 6下的設置DNS方法不同,有幾種方式:

   ①使用全新的命令行工具 nmcli 來設置

#顯示當前網路連接
#nmcli connection show
NAME   UUID                                  TYPE            DEVICE
ens33   76d23444-4b71-498b-9a0b-fd2d2d9de735  802-3-ethernet  ens33  
virbr0 a1015131-ba11-4ecc-81a3-9c9e27eaba32  bridge virbr0 #修改當前網路連接對應的DNS伺服器,這裡的網路連接可以用名稱或者UUID來標識 #nmcli con mod ens33 ipv4.dns
"192.168.0.1" #將dns配置生效 #nmcli con up ens33

  ②使用傳統方法,手工修改 /etc/resolv.conf

  • 修改 /etc/NetworkManager/NetworkManager.conf 文件,在main部分添加 “dns=none” 選項:
[main]
plugins=ifcfg-rh
dns=none
  • NetworkManager重新裝載上面修改的配置
# systemctl restart NetworkManager.service
  • 手工修改 /etc/resolv.conf
nameserver 192.168.0.1

  詳細參見:

# man NetworkManager.conf
# man nmcli

  4)關閉防火牆並修改其啟動策略為不開機啟動。

  CentOS 6中使用service iptables stop 及 chkconfig iptables off進行設置。

  CentOS 7中使用systemctl工具管理這些服務。

  可以使用systemctl list-unit-files | grep enabled查看服務中enabled項,可以看到firewalld.service已啟用。

#禁用防火牆
[root@localhost ~]$ systemctl stop firewalld.service
#禁止開機啟動防火牆,如需啟用,把disable改成enable
[root@localhost ~]$ systemctl disable firewalld.service
#顯示一個服務狀態
[root@localhost ~]$ systemctl status firewalld.service

4.安裝JDK

  1)使用yum search jdk線上查找jdk列表,任意選擇一個版本,我選擇了最新版,即1.8.0。

[root@localhost ~]$ yum search jdk
[root@localhost ~]$ yum install java-1.8.0-openjdk-devel.x86_64 -y

  2)配置Java環境變數。

  註:我在配置的時候出錯很多次,其中還加入了JRE_HOME,CLASSPATH等,後發現根本不需要。如果配置出錯導致ls等命令都是用不了時,可以輸export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin恢復重新來。我重新來了一個小時。

  其中還配置了maven的環境變數,但是maven沒有安裝過,不知道是為什麼。我找了一下,maven的下載地址是:阿帕奇maven下載,下載完成後直接解壓即可使用,我解壓到了/home/hadoop/opt中,所以下文中配置環境變數添加了一條/home/hadoop/opt/apache-maven-3.3.9/bin

[root@localhost ~]$ whereis java
[root@localhost ~]$ ll /usr/bin/java
[root@localhost ~]$ ll /etc/alternatives/java #這時可以看到JDK路徑了
#修改配置文件
[root@localhost ~]$ vim /etc/profile
#在末尾追加
export PATH=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/bin:/home/hadoop/opt/apache-maven-3.3.9/bin:$PATH
#保存配置後使用source命令使配置立即生效
[root@localhost ~]$ source /etc/profile

  3)使用java -version命令查看環境變數配置是否成功。

[root@localhost ~]# java -version
openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-b15)
OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode)

  至此,完成JDK的安裝和配置,接下來使用VMware克隆兩台機器,並分別設置靜態IP地址為192.168.0.132,192.168.0.133。(創建連接克隆)

註意:克隆完成,啟動機器後,會出現沒有網路設備信息,無法連接網路的情況,解決方案如下:

不知道博客能不能修改,我還沒開那兩個克隆的虛擬機,不能修改就下一篇再說。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 作者:Antonio Leiva 時間:Jan 19, 2017 原文鏈接:https://antonioleiva.com/anko-background-kotlin-android/ Anko是由Jetbrains用Kotlin開發的Android庫,它可以用於很多不同的方面。它的主要特性是使 ...
  •    受人所托,做一個類似於qq賬號信息里的一個動畫,感覺挺有意思,也沒感覺有多難,就開始做了,結果才發現學的數學知識都還給體育老師了,研究了大半天才做出來。    先看一下 "動畫效果" : 用到的知識點: (1)三角函數 (2)CALayer (3)CAT ...
  • 博客也開了挺長時間了,一直都沒有來寫博客,主要原因是自己懶~~~此篇博客算是給2017年一個好的開始,同時也給2016年畫上一個句點,不留遺憾。 那就讓我們正式進入今天的主題:貝塞爾曲線。 首先,讓我們來瞭解下什麼是貝塞爾曲線。 貝塞爾曲線(Bézier curve),又稱貝茲曲線或貝濟埃曲線,是應 ...
  • /*可以更改列的大小,只要將滑鼠指針懸停到該列標題的右邊界,再單擊並拖動該列邊界到合適的位置。雙擊右邊界使得該列自動調整大小如果選擇幾個單元,然後將其剪切並複製到其他網格,則這幾個單元可作為單獨的單元處理(如果選擇"以文本格式顯示結果"選項,剪切的數據會全部粘帖到一個單元格中)可以從多行只選擇一列或 ...
  • Java代碼 Java代碼 關註流行國外網站 facebook:http://www.fb-on.com facebook官網:http://www.facebookzh.com facebook:http://www.cn-face-book.com youtube:http://www.yout ...
  • AlwaysOn是在SQL Server 2012中新引入的一種高可用技術,從名稱中可以看出,AlwaysOn的設計目標是保持資料庫系統永遠可用。AlwaysOn利用了Windows伺服器故障轉移集群(Windows Server Failover Clustering,簡稱WSFC)的健康檢測和自 ...
  • /*僅返回一個結果集,且該結果只有很窄的幾列想要以單個文本文件來保存返回結果返回多個結果集,但該結果比較小,且不需要使用多個滾動條就可以在同一頁面上查看多個結果集。*/ ...
  • 一、前言 今天天氣很好,大晴天,心情也好好的。就將MySQL常用的語句總結一下,記錄在隨筆里,也順便分享分享。日後,這篇隨筆我將會持續更新,作為我自己的MySQL語句大全。 二、常用SQL語句 我將由外到里進行編寫(資料庫到表再到數據) 庫層: 1、SHOW DATABASES; 2、CREATE ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...