搭建Hadoop环境的详细过程
即上一篇《初步了解Hadoop》已经过去好多天了,今天继续hadoop学习之旅。大体了解hadoop原理,我们想先搭建hadoop环境,在这个过程中慢慢体会一下hadoop。 我在这里说的是hadoop伪分布式模式(Pseudo-Distributed Mode),其实网上已经有很多教程,在这里我
即上一篇《初步了解Hadoop》已经过去好多天了,今天继续hadoop学习之旅。大体了解hadoop原理,我们想先搭建hadoop环境,在这个过程中慢慢体会一下hadoop。
我在这里说的是hadoop伪分布式模式(Pseudo-Distributed Mode),其实网上已经有很多教程,在这里我详详细细的描述整个搭建过程,也算是自己重新回忆一下。
准备阶段(下载地址我这里就不给出了):
Win7旗舰版 Vmware-9.0.2
ubuntu-12.04 hadoop-0.20.2 jdk-8u5-linux-i586-demos
搭建流程:
1、装机阶段:
一、安装Ubuntu操作系统
二、在Ubuntu下创建hadoop用户组和用户
三、在Ubuntu下安装JDK
四、修改机器名
五、安装ssh服务
六、建立ssh无密码登录本机
七、安装hadoop
八、在单机上运行hadoop
一、安装Ubuntu操作系统
略……
二、在Ubuntu下创建hadoop用户组和用户
(1)安装Ubuntu时已经建立了一个用户,但是为了以后Hadoop操作,专门渐建立一个hadoop用户组和hadoop用户。
(2)给hadoop用户添加权限,打开/etc/sudoers文件。
sudo gedit /etc/sudoers
打开/etc/sudoers文件了,给hadoop用户赋予root用户同样的权限。在
root ALL=(ALL:ALL) ALL
下添加:
hadoop ALL=(ALL:ALL) ALL
三、在Ubuntu下安装JDK
1、创建JDK安装目录
(1)由于我使用的是VMware安装的Ubuntu系统,设置本地thisceshi文件夹共享到Ubuntu系统,指定的安装目录是:/usr/local/java。可是系统安装后在/usr/local下并没有java目录,这需要我们去创建一个java文件夹,
进入/usr/local文件夹
cd /usr/local
创建java文件夹,
sudo mkdir /usr/local/java
(2)解压JDK到目标目录
进入共享文件夹thisceshi,
cd /mnt/hgfs/thisceshi
然后进入到共享文件夹中,继续我们解压JDK到之前建好的java文件夹中,
sudo cp jdk-8u5-linux-i586-demos.tar.gz /usr/local/java
2、安装jdk
(1)切换到root用户下,
hadoop@s15:/mnt/hgfs/thisceshi$ su 密码:
(2)解压jdk-8u5-linux-i586-demos.tar.gz
sudo tar -zxf jdk-8u5-linux-i586-demos.tar.gz
此时java目录中多了一个jdk1.6.0_30文件夹。
3、配置环境变量
(1)打开/etc/profile文件,
sudo gedit /etc/profile
(2)添加变量,
#set java environment export JAVA_HOME=/usr/local/java/jdk1.6.0_30 export JRE_HOME=/usr/local/java/jdk1.6.0_30/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
一般更改/etc/profile文件后,需要重启机器才能生效,在这里我们可以使用如下指令可使配置文件立即生效,
source /etc/profile
(3)查看java环境变量是否配置成功,
java -version
显示如下:
java version "1.6.0_30" Java(TM) SE Runtime Environment (build 1.6.0_30-b12) Java HotSpot(TM) Client VM (build 20.5-b03, mixed mode, sharing)
但是在root下一切正常,在hadoop用户下就出现了问题,
程序“java”已包含在下列软件包中: * gcj-4.4-jre-headless * openjdk-6-jre-headless * cacao * gij-4.3 * jamvm
在终端中我们分别运行下面指令,
sudo update-alternatives --install /usr/bin/java java /usr/local/java/jdk1.6.0_30/bin/java 300 sudo update-alternatives --install /usr/bin/javac javac /usr/local/java/jdk1.6.0_30/bin/javac 300
问题解决。
四、修改机器名
当ubuntu安装成功时,我们的机器名都默认为:ubuntu ,但为了以后集群中能够容易分辨各台服务器,需要给每台机器取个不同的名字。机器名由 /etc/hostname文件决定。这是我开始是根据网上教程也给修改了,其实伪分布式搭建的时候,可以省了,不然还造成一些不必要的麻烦。
1、打开/etc/hostname文件,运行指令,
sudo gedit /etc/hostname
2、然后hostname中添加s15五、安装ssh服务保存退出,即s15是当前用户别名。在这里需要重启系统后才会生效。
hadoop@s15:~$
五、安装ssh服务
1、安装openssh-server
sudo apt-get install openssh-server
2、等待安装,即可。
六、 建立ssh无密码登录本机
在这里,我自己还是模模糊糊的。
ssh生成密钥有rsa和dsa两种生成方式,默认情况下采用rsa方式。
1、创建ssh-key,,这里我们采用rsa方式,
ssh-keygen -t rsa -P ''
网上教程中后面是双引号,我在执行出现错误,换成单引号,则可以执行。
进入ssh,查看里面文件
hadoop@s15:~$ cd .ssh hadoop@s15:~/.ssh$ ls id_rsa id_rsa.pub
2、进入~/.ssh/目录下,将idrsa.pub追加到authorizedkeys授权文件中,开始是没有authorized_keys文件的,
cat id_rsa.pub >> authorized_keys
3、登录localhost,
hadoop@s15:~/.ssh$ ssh localhost Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-61-generic-pae i686) * Documentation: https://help.ubuntu.com/ 663 packages can be updated. 266 updates are security updates. Last login: Sat May 10 13:08:03 2014 from localhost
4、执行退出命令,
hadoop@s15:~$ exit 登出 Connection to localhost closed.
七、安装hadoop
1、从共享文件夹thisceshi中将hadoop-0.20.2.tar.gz复制到安装目录 /usr/local/下
2、解压hadoop-0.20.203.tar.gz,
3、将解压出的文件夹改名为hadoop,
4、将该hadoop文件夹的属主用户设为hadoop,
sudo chown -R hadoop:hadoop hadoop
5、打开hadoop/conf/hadoop-env.sh文件,
6、配置conf/hadoop-env.sh(找到#export JAVA_HOME=…,去掉#,然后加上本机jdk的路径)
# The java implementation to use. Required. export JAVA_HOME=/usr/local/java/jdk1.6.0_30 export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:/usr/local/hadoop/bin
让环境立即生效,
source /usr/local/hadoop/conf/hadoop-env.sh
7、打开conf/core-site.xml文件,编辑如下:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="http://www.cndwzone.com/archives/configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> fs.default.name hdfs://localhost:9000
8、打开conf/mapred-site.xml文件,编辑如下:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="http://www.cndwzone.com/archives/configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> mapred.job.tracker localhost:9001
9、打开conf/hdfs-site.xml文件,编辑如下:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="http://www.cndwzone.com/archives/configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> dfs.name.dir /usr/local/hadoop/datalog1,/usr/local/hadoop/datalog2 dfs.data.dir /usr/local/hadoop/data1,/usr/local/hadoop/data2 dfs.replication 2
10、打开conf/masters文件,添加作为secondarynamenode的主机名,因为是伪分布式,只有一个节点,这里只需填写localhost就可以。
11、打开conf/slaves文件,添加作为slave的主机名,一行一个。因为是伪分布式,只有一个节点,这里也只需填写localhost就可以。
八、在单机上运行hadoop
1、进入hadoop目录下,格式化hdfs文件系统,初次运行hadoop时一定要有该操作,当你看到下图时,就说明你的hdfs文件系统格式化成功了。
3、进入bin目录启动start-all.sh,
4、检测hadoop是否启动成功,
到此,hadoop伪分布式环境搭建完成。
在搭建过程中可能会遇到各种问题,到时大家不用着急,可以谷歌,百度一下。解决问题的过程就是加深学习的过程。我当时都忘了花了多久才将环境搭建好,最初的时候,连最基本的指令也不懂,也不知道怎么运行。我在这里说出来就是想说,开始的一无所知不要害怕,慢慢来就好,在那么一刻你就会有所知,有所明白。之后的文章中会介绍在hadoop环境下运行WordCount,hadoop中的HelloWorld。



熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Windows復原環境(WinRE)是用來修復Windows作業系統錯誤的環境。進入WinRE後,您可以執行系統還原、出廠重設、卸載更新等操作。如果無法引導到WinRE,本文將指導您使用修復程式解決此問題。無法引導至Windows復原環境如果無法引導至Windows復原環境,請使用下方提供的修復程式:檢查Windows復原環境的狀態使用其他方法進入Windows復原環境您是否意外刪除了Windows復原分割區?執行Windows的就地升級或全新安裝下面,我們已經詳細解釋了所有這些修復。 1]檢查Wi

在本文中,我們將了解Python和Anaconda之間的差異。 Python是什麼? Python是一種開源語言,非常重視使程式碼易於閱讀並透過縮進行和提供空白來理解。 Python的靈活性和易於使用使其非常適用於各種應用,包括但不限於對於科學計算、人工智慧和數據科學,以及創造和發展的線上應用程式。當Python經過測試時,它會立即被翻譯轉化為機器語言,因為它是一種解釋性語言。有些語言,例如C++,需要編譯才能被理解。精通Python是一個重要的優勢,因為它非常易於理解、開發,執行並讀取。這使得Pyth

Java錯誤:Hadoop錯誤,如何處理和避免使用Hadoop處理大數據時,常常會遇到一些Java異常錯誤,這些錯誤可能會影響任務的執行,導致資料處理失敗。本文將介紹一些常見的Hadoop錯誤,並提供處理和避免這些錯誤的方法。 Java.lang.OutOfMemoryErrorOutOfMemoryError是Java虛擬機器記憶體不足的錯誤。當Hadoop任

在Vue框架下,如何快速建立統計圖表系統在現代網頁應用中,統計圖表是必不可少的組成部分。 Vue.js作為一個流行的前端框架,提供了許多方便的工具和元件,能夠幫助我們快速建立統計圖表系統。本文將介紹如何利用Vue框架以及一些外掛程式來建立一個簡單的統計圖表系統。首先,我們需要準備一個Vue.js的開發環境,包括安裝Vue腳手架以及一些相關的插件。在命令列中執行以下命

玩家在霧鎖王國中進行遊戲時可以收集不同的材料用來建造建築,有很多玩家想知道野地搭建築嗎,霧鎖王國能野地是不能搭建築的,必須要在祭壇的範圍內才可以搭建。霧鎖王國能野地搭建築嗎答:不能。 1.霧鎖王國能野地是不能搭建築的。 2、建築必須要在祭壇的範圍內才可以搭建。 3、玩家可以自行放置靈火祭壇,但一旦離開了範圍,將無法進行建築搭建。 4.我們也可以直接在山上挖個洞當做我們的家,這樣不用耗建築材料。 5.玩家自己搭建的建築中,有舒適度機制,也就是說,內裝越好,舒適度越高。 6.高舒適度將為玩家帶來屬性加成,例如

隨著大數據時代的到來,資料處理和儲存變得越來越重要,如何有效率地管理和分析大量的資料也成為企業面臨的挑戰。 Hadoop和HBase作為Apache基金會的兩個項目,為大數據儲存和分析提供了一個解決方案。本文將介紹如何在Beego中使用Hadoop和HBase進行大數據儲存和查詢。一、Hadoop和HBase簡介Hadoop是一個開源的分散式儲存和運算系統,它可

CentOS7下搭建web伺服器的最佳實務及注意事項引言:在當今網路時代,web伺服器是建置和託管網站的核心元件之一。 CentOS7是一個強大的Linux發行版,廣泛應用於伺服器環境。本文將探討在CentOS7上建立web伺服器的最佳實務和注意事項,並提供一些程式碼範例以幫助您更好地理解。一、安裝ApacheHTTP伺服器Apache是使用最廣泛的w

在Windows11上設定環境變數可以幫助您自訂系統、執行腳本和設定應用程式。在本指南中,我們將討論三種方法以及逐步說明,以便您可以根據自己的喜好配置系統。有三種類型的環境變數系統環境變數–全域變數處於最低優先權,可由Windows上的所有使用者和應用程式訪問,通常用於定義系統範圍的設定。使用者環境變數–優先順序越高,這些變數僅適用於在該帳戶下執行的目前使用者和進程,並由在該帳戶下執行的使用者或應用程式設定。進程環境變數–具有最高優先權,它們是臨時的,適用於當前進程及其子進程,為程式提供
