導航:首頁 > 編程系統 > linux創建hadoop用戶

linux創建hadoop用戶

發布時間:2023-04-22 17:20:41

① 怎麼在linux虛擬機安裝hadoop

namenode就是master。 必須要此悶有一台啟動namenode服務。 ============= 如果只需要 datanode,那麼jps 命令輪嘩後,查看到線程ID 然後kill 掉就好臘扒行了。 注意 kill掉 namenode後,整個hadoop集群就宕掉了。

② 如何在Linux上安裝與配置Hadoop

在Linux上安裝Hadoop之前,需要先安裝兩個程序
1. JDK 1.6或更高版本;
2. SSH(安全外殼協議),推薦安裝OpenSSH。岩帶乎
下面簡述一下安裝這兩個程序的原因:
1. Hadoop是用java開發的,Hadoop的編譯及MapRece的運行都需要使用JDK。
2. Hadoop需要通過SSH來啟動salve列表中各台主機的守護進程,因此SSH也是必須安裝的,即使是安裝偽分布式版本(因為Hadoop並沒有區分集群式和偽分布式)。對於偽分布式,Hadoop會採用與集群相同的處理方式,即依次序啟動文件conf/slaves中記載的主機上的進程,粗悉只不過偽分布式中salve為localhost(即為自身),所以對於偽分布式Hadoop,SSH一樣是必須的。
(2)配置環境變數
輸入命令:
sudo gedit /etc/profile
輸入密碼,打開profile文件。
在文件的最下面輸入如下內容:
#set Java Environment
export JAVA_HOME= (你的JDK安裝位置,一般行喚為/usr/lib/jvm/java-6-sun)
export CLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH"
export PATH="$JAVA_HOME/:$PATH"
這一步的意義是配置環境變數,使你的系統可以找到JDK。
(3)驗證JDK是否安裝成功
輸入命令:
java -version
查看信息:
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) Server VM (build 14.0-b16, mixed mode)

③ 在Linux虛擬機上配置Hadoop,在初始化時顯示許可權不夠

要注意使用對應用戶創建解壓文件。並隨時使用ll –a 查看文件許可權。
[root@master hadoop-1.0.3]# chmod 777 logs/*
[root@master hadoop-1.0.3]# chmod 777 logs
[root@master hadoop-1.0.3]# chown root logs/*
[root@master hadoop-1.0.3]# chown root logs
[root@master hadoop-1.0.3]# bin/start-all.sh
弄了這之後發現依然namenode打不開,我就格式化了namenode:hadoopnamenode –format,發現裡面原來有拋出例外:
ERRORnamenode.NameNode: java.io.IOException: Cannot create directory
/var/hadoop/hadoop-hadoop/dfs/name/current at org.apache.hadoop.hdfs.server.common.Storage$
StorageDirectory.clearDirectory(Storage.java:297)
atorg.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:1320)
at org.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:1339)
at.org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:1164)
at.org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1271)
atorg.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1288)
根據列外是不能創建一個目錄,有了上面的經驗我就知道了是沒有建目錄的許可權。所以我直接就在/var/下建了一個目錄叫做hadoop/,並授予了許可權。再格式化namenode,成功啟動。但是轉到子節點上輸入jps查看,發現並沒有完全啟動。知道node也有同樣問題。

④ 怎樣在linux系統上搭建Hadoop集群

A、基礎環境 1.jdk安裝與配置 2.host 3.ssh 4.文件目錄 B、 Hadoop安裝與配置 1.下載hadoop軟體 2.環境變數 3.hadoop配置 C、運行Hadoop 1.運行hdfs 2.運行yarn D、測試hadoop ,這是搭建集群的大題路徑,詳細的可以去看一下八斗學院的視頻,第一部分是講集群搭建的很詳細

⑤ linux系統裡面為什麼安裝完一個服務,要建一個相應的nologin用戶呢

你的理解是正確的,如果用root用戶運行,會因為許可權過高引起安全隱患。

為什麼內不可以建立一個專門的負責安容裝和運行此類守護進程的用戶呢?比如建立一個zhangsan的用戶?
因為linux的執行許可權是可以控制到用戶的。
如果只一個zhangsan的用戶那麼他同樣可以執行多種程序,有安全隱患。
現在是多個用戶,那麼zhangsan就無執行只有hadoop才能執行的程序

既然這些nologin用戶不能登錄到系統,那他們怎麼運行程序呢?
它們只是取得了對應用戶的許可權,以該用戶的身份執行程序。

其他用戶需要在hadoop上運行一些程序,那這些用戶如何獲得hadoop的許可權呢?
如果是在shell下有個命令行 runuser

⑥ 如何在linux下安裝hadoop

如何在linux下安裝hadoop

建議使用自動化部署吧。 這個還是不太難做到哦。 能否看一下my網名呢?幫助搞定一下

一、前期准備:
下載hadoop: :hadoop.apache./core/releases.
:hadoop.apache./mon/releases.
:apache./dyn/closer.cgi/hadoop/core/
:labs.xiaonei./apache-mirror/hadoop/core/hadoop-0.20.1/hadoop-0.20.1.tar.gz
:labs.xiaonei./apache-mirror/hadoop/
二、硬體環境
共有3台機器,均使用的CentOS,Java使用的是jdk1.6.0。
三、安裝JAVA6
sudo apt-get install sun-java6-jdk
/etc/environment
開啟之後加入:#中間是以英文的冒號隔開,記得windows中是以英文的分號做為宏沒分隔的
CLASSPATH=.:/usr/local/java/lib
JAVA_HOME=/usr/local/java
三、配置host表
[root@hadoop ~]# vi /etc/hosts
127.0.0.1 localhost
192.168.13.100 namenode
192.168.13.108 datanode1
192.168.13.110 datanode2
[root@test ~]# vi /etc/hosts
127.0.0.1 localhost
192.168.13.100 namenode
192.168.13.108 datanode1
[root@test2 ~]# vi /etc/host
127.0.0.1 localhost
192.168.13.100 namenode
192.168.13.110 datanode2
新增使用者和使用者組
addgroup hadoop
adser hadoop
usermod -a -G hadoop hadoop
passwd hadoop
配置ssh:
服務端:
su hadoop
ssh-keygen -t rsa
cp id_rsa.pub authorized_keys
客戶端
chmod 700 /home/hadoop
chmod 755 /home/hadoop/.ssh
su hadoop
cd /home
mkdir .ssh
服務端:
chmod 644 /home/hadoop/.ssh/authorized_keys
scp authorized_keys datanode1:/home/hadoop/.ssh/
scp authorized_keys datanode2:/home/hadoop/.ssh/
ssh datanode1
ssh datanode2
如果ssh配置好了就會蔽和納出現以下提示棚纖資訊
The authenticity of host [dbrg-2] can't be established.
Key fingerpr is 1024 5f:a0:0b:65:d3:82:df:ab:44:62:6d:98:9c:fe:e9:52.
Are you sure you want to continue connecting (yes/no)?
OpenSSH告訴你它不知道這台主機但是你不用擔心這個問題你是第次登入這台主機鍵入「yes」這將把
這台主機「識別標記」加到「~/.ssh/know_hosts」檔案中第 2次訪問這台主機時候就不會再顯示這條提示信
不過別忘了測試本機sshdbrg-1

mkdir /home/hadoop/HadoopInstall
tar -zxvf hadoop-0.20.1.tar.gz -C /home/hadoop/HadoopInstall/
cd /home/hadoop/HadoopInstall/
ln -s hadoop-0.20.1 hadoop
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:/usr/local/java/lib
export HADOOP_HOME=/home/hadoop/HadoopInstall/hadoop
export HADOOP_CONF_DIR=/home/hadoop/hadoop-conf
export PATH=$HADOOP_HOME/bin:$PATH
cd $HADOOP_HOME/conf/
mkdir /home/hadoop/hadoop-conf
cp hadoop-env.sh core-site.xml hdfs-site.xml mapred-site.xml masters slaves /home/hadoop/hadoop-conf
vi $HADOOP_HOME/hadoop-conf/hadoop-env.sh
# The java implementation to use. Required. --修改成你自己jdk安裝的目錄
export JAVA_HOME=/usr/local/java

export HADOOP_CLASSPATH=.:/usr/local/java/lib
# The maximum amount of heap to use, in MB. Default is 1000.--根據你的記憶體大小調整
export HADOOP_HEAPSIZE=200
vi /home/hadoop/.bashrc
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:/usr/local/java/lib
export HADOOP_HOME=/home/hadoop/HadoopInstall/hadoop
export HADOOP_CONF_DIR=/home/hadoop/hadoop-conf
export PATH=$HADOOP_HOME/bin:$PATH
配置
namenode
#vi $HADOOP_CONF_DIR/slaves
192.168.13.108
192.168.13.110
#vi $HADOOP_CONF_DIR/core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type=text/xsl href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs:192.168.13.100:9000</value>
</property>
</configuration>
#vi $HADOOP_CONF_DIR/hdfs-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type=text/xsl href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
<description>Default block replication.
The actual number of replications can be specified when the file is created.
The default is used if replication is not specified in create time.
</description>
</property>
</configuration>
#vi $HADOOP_CONF_DIR/mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type=text/xsl href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>192.168.13.100:11000</value>
</property>
</configuration>
~
在slave上的配置檔案如下(hdfs-site.xml不需要配置):
[root@test12 conf]# cat core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type=text/xsl href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs:namenode:9000</value>
</property>
</configuration>
[root@test12 conf]# cat mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type=text/xsl href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>namenode:11000</value>
</property>
</configuration>
啟動
export PATH=$HADOOP_HOME/bin:$PATH
hadoop namenode -format
start-all.sh
停止s-all.sh
在hdfs上建立danchentest資料夾,上傳檔案到此目錄下
$HADOOP_HOME/bin/hadoop fs -mkdir danchentest
$HADOOP_HOME/bin/hadoop fs -put $HADOOP_HOME/README.txt danchentest
cd $HADOOP_HOME
hadoop jar hadoop-0.20.1-examples.jar wordcount /user/hadoop/danchentest/README.txt output1
09/12/21 18:31:44 INFO input.FileInputFormat: Total input paths to process : 1
09/12/21 18:31:45 INFO mapred.JobClient: Running job: job_200912211824_0002
09/12/21 18:31:46 INFO mapred.JobClient: map 0% rece 0%
09/12/21 18:31:53 INFO mapred.JobClient: map 100% rece 0%
09/12/21 18:32:05 INFO mapred.JobClient: map 100% rece 100%
09/12/21 18:32:07 INFO mapred.JobClient: Job plete: job_200912211824_0002
09/12/21 18:32:07 INFO mapred.JobClient: Counters: 17
09/12/21 18:32:07 INFO mapred.JobClient: Job Counters
09/12/21 18:32:07 INFO mapred.JobClient: Launched rece tasks=1
檢視輸出結果檔案,這個檔案在hdfs上
[root@test11 hadoop]# hadoop fs -ls output1
Found 2 items
drwxr-xr-x - root supergroup 0 2009-09-30 16:01 /user/root/output1/_logs
-rw-r--r-- 3 root supergroup 1306 2009-09-30 16:01 /user/root/output1/part-r-00000
[root@test11 hadoop]# hadoop fs -cat output1/part-r-00000
(BIS), 1
(ECCN) 1
檢視hdfs執行狀態,可以通過web介面來訪問:192.168.13.100:50070/dfshealth.jsp;檢視map-rece資訊,
可以通過web介面來訪問:192.168.13.100:50030/jobtracker.jsp;下面是直接命令列看到的結果。
出現08/01/25 16:31:40 INFO ipc.Client: Retrying connect to server: foo.bar./1.1.1.1:53567. Already tried 1 time(s).
的原因是沒有格式化:hadoop namenode -format

如何在windows下安裝hadoop

建議你在windows上安裝linux的虛擬機器,然後在linux上安裝hadoop

1、安裝Cygwin
下載cygwin的setup.exe,雙擊執行:

選擇從Inter安裝:
設定安裝目錄:

設定安裝包目錄:

設定「Inter Connection」的方式,選擇「Direct Connection」:

選擇一個下載站點:
「下一步」之後,可能會彈出下圖的「Setup Alert」對話方塊,直接「確定」即可
在「Select Packages」對話方塊中,必須保證「Net Category」下的「OpenSSL」被安裝:

如果還打算在eclipse 上編譯Hadoop,則還必須安裝「Base Category」下的「sed」:

「Devel Category」下的subversion 建議安裝:

下載並安裝:

當下載完後,會自動進入到「setup」的對話方塊:

在上圖所示的對話方塊中,選中「Create icon on Desk」,以方便直接從桌面上啟動
Cygwin,然後點選「完成」按鈕。至此,Cgywin 已經安裝完成。
2、配置環境變數
需要配置的環境變數包括PATH 和JAVA_HOME:將JDK 的bin 目錄、Cygwin 的bin 目錄
以及Cygwin 的usrin( *** in)目錄都新增到PATH 環境變數中;JAVA_HOME 指向JRE 安裝目錄。
3、windows系統上執行hadoop叢集,偽分散式模式安裝步驟:
①啟動cygwin,解壓hadoop安裝包。通過cygdrive(位於Cygwin根目錄中)可以直接對映到windows下的各個邏輯磁碟分割槽。例如hadoop安裝包放在分割槽D:下,則解壓的命令為$ tar -zxvf /cygdrive/d/hadoop-0.20.2.tar.gz,解壓後可使用ls命令檢視,如下圖:
預設的解壓目錄為使用者根目錄,即D:cygwinhomelsq(使用者帳戶)。
②編輯conf/hadoop-env.sh檔案,將JAVA_HOME變數設定為java的安裝目錄。例如java安裝在目錄C:Program Filesjavajdk1.6.0_13,如果路徑沒空格,直接配置即可。存在空格,需將Program Files縮寫成Progra_1,如下圖:
③依次編輯conf目錄下的core-site.xml、mapred-site.xml和hdfs-site.xml檔案,如下圖:
④安裝配置SSH
點選桌面上的Cygwin圖示,啟動Cygwin,執行ssh-host-config命令,然後按下圖上的選擇輸入:

當提示Do you want to use a different name?輸入yes,這步是配置安裝的sshd服務,以哪個使用者登入,預設是cyg_server這個使用者,這里就不事先新建cyg_server這個使用者,用當前本機的超管本地使用者:chenx,後續根據提示,2次輸入這個賬戶的密碼

出現Host configuration finished. Have fun! 一般安裝順利完成。如下圖:

輸入命令$ start sshd,啟動SSH,如下圖:

註:sshd服務安裝完之後,不會預設啟動,如果啟動報登入失敗,不能啟動,可在服務屬性-Log On視窗手工修改,在前述的過程之中,cygwin不會校驗密碼是否正確,應該只是校驗了2次的輸入是否一致,然後再手工啟動。不知道為什麼,sshd服務如果選擇local system的登入方式,後續會有問題,所以sshd服務最好設定成當前的登入使用者。

⑤配置ssh登入
執行ssh-keygen命令生成金鑰檔案
輸入如下命令:
cd ~/.ssh
ls -l
cat id_rsa.pub >> authorized_keys
完成上述操作後,執行exit命令先退出Cygwin視窗,如果不執行這一步操作,下面的操作可能會遇到錯誤。接下來,重新執行Cygwin,執行ssh localhost命令,在第一次執行ssh localhost時,會有「are you sure you want to continue connection<yes/no>?」提示,輸入yes,然後回車即可。當出現下圖提示,即順利完成該步:

⑥hadoop執行
格式化namenode
開啟cygwin視窗,輸入如下命令:
cd hadoop-0.20.2
mkdir logs
bin/hadoop namenode –format

啟動Hadoop
在Cygwin 中,進入hadoop 的bin 目錄,
執行./start-all.sh 啟動hadoop;
可以執行./hadoop fs -ls /命令,檢視hadoop 的根目錄;
可以執行jps 檢視相關程序;
如下圖:(如果顯示和下圖類似,一般hadoop安裝/啟動成功)

如何在hadoop 環境下安裝hive

不行。 安裝 vm 下載:去官網下 VMware-player-5.0.1-894247.zip 安裝和配置ubanto 下載:去官網下 ubuntu-12.10-desk-i386.iso 開啟vm,載入ubanto iso檔案,進行安裝更新 進入ubanto,如果是第一個進入,則需要設定root的密碼

如何在ubantu環境下安裝hadoop

上apache的hadoop頁下編譯好的包,解壓,配一些檔案就行了 很容易 網上教程很多

如何在 Linux 下安裝 PyCharm

PyCharm 是由 Jetbrains 公司開發的一個跨平台編輯器。如果你之前是在 Windows 環境下進行開發,那麼你會立刻認出 Jetbrains 公司,它就是那個開發了 Resharper 的公司。 這篇文章將討論如何在 Linux 系統上獲取、安裝和執行 PyCharm 。

如何在linux下安裝opencv

新建一個perl,名為bar.pl
內容如下:
#!/usr/bin/perl
while (<>){
chomp;
s/([^-]+) - .*/1/g;
system "apt-get install ".$_;
}
然後apt-cache search opencv | perl bar.pl

⑦ 如何在Linux上安裝與配置Hadoop

一、安裝hadoop

1 因為hadoop是基於java的,所以要保證hadoop能找到在本地系統中大路徑,即正確設置java的環境變數。
詳細請看:linux 安裝配置jdk

2 到官網:http://www.apache.org/dyn/closer.cgi/hadoop/common/ 下載hadoop,
這里我選擇hadoop1.0.4

3 解壓到 /usr/local
tar -xvf hadoop-1.0.4.tar.gz

4 設置hadoop環境變數,為了使環境變數永久有效並對所有用戶有效,我們將下面兩句添加到/etc/profile

export HADOOP_HOME=/usr/local/hadoop-1.0.4
export PATH=$PATH:$HADOOP_HOME/bin

⑧ 熟悉常用的 Linux 操作和 Hadoop 操作

1.切換到當前目錄的上一級目錄
cd ..
2.切換到當前登錄 Linux 系統的用戶自己的主文件夾
cd ~
3.進入/tmp 目錄,創建目錄 a1/a2/a3/a4。
mkdir a1/a2/a3/a4 -p
4.刪除目錄
rmdir a
rmdir a1/a2/a3/a4 -p
5.cp 命令:復制文件或目錄
(1) 將當前用戶的主文件夾下的文件.bashrc 復制到目錄「/usr」下,並重命名為 bashrc1
sudo cp .bashrc /usr/bashrc1
(2) 在目錄「/tmp」下新建目錄 test,再把這個目錄復制到「/usr」目錄下
cd /tmp
mkdir test
sudo cp /tmp/test /usr -r
6.mv 命令:移動文件與目錄,或更名
(1) 將「/usr」目錄下的文件 bashrc1 移動到「/usr/test」目錄下
sudo mv /usr/bashrc1 /usr/test
(2) 將「/usr」目錄下的 test 目錄重命名為 test2
sudo mv /usr/test /usr/test2
7.rm 命令:移除文件或目錄
(1) 將「/usr/test2」目錄下的 bashrc1 文件刪除
sudo rm /usr/test2/bashrc1
(2) 將「/usr」目錄下的 test2 目錄刪除
sudo rm -rf /usr/test2
8.cat 命令:查看文件內容查看當前用戶主文件夾下的.bashrc 文件內容
cat .bashrc
9.tac 命令:反向查看文件內容反向查看當前用戶主文件夾下的.bashrc 文件的內容
tac .bashrc
10.more 命令:一頁一頁翻動查看翻頁查看當前用戶主文件夾下的.bashrc 文件的內容
more .bashrc
11.head 命令:取出前面幾行
(1) 查看當前用戶主文件夾下.bashrc 文件內容前 20 行
head -n20 .bashrc
(2)查看當前用戶主文件夾下.bashrc 文件內容,後面 50 行不顯示,只顯示前面幾行
head -n -50 .bashrc
12.tail 命令:取出後面幾行
(1)查看當前用戶主文件夾下.bashrc 文件內容最後 20 行
tail -n20 .bashrc
(2)查看當前用戶主文件夾下.bashrc 文件內容,並且只列出 50 行以後的數據
tail -n -50 .bashrc
13.touch 命令:修改文件時間或創建新文件
(1) 在「/tmp」目錄下創建一個空文件 hello,並查看文件時間
touch hello
stat hello
(2)修改 hello 文件,將文件時間整為 5 天前
touch -d "2019-3-26" hello
stat hello
14.chown 命令:修改文件所有者許可權將 hello 文件所有者改為 root 帳號,並查看屬性
sudo chown root hello
ls -l hello
15.find 命令:文件查找找出主文件夾下文件名為.bashrc 的文件
find .bashrc
16.tar 命令:壓縮命令
(1) 在根目錄「/」下新建文件夾 test,然後在根目錄「/」下打包成 test.tar.gz
tar -zcvf test.tar.gz test/
(2) 把上面的 test.tar.gz 壓縮包,解壓縮到「/tmp」目錄
tar -zxvf test.tar.gz
17.grep 命令:查找字元串從「~/.bashrc」文件中查找字元串'examples'
grep -rn "examples" .bashrc
18.使用 hadoop 用戶登錄 Linux 系統,啟動 Hadoop(Hadoop 的安裝目錄為「/usr/local/hadoop」),為 hadoop 用戶在 HDFS 中創建用戶目錄「/user/hadoop」
./bin/hadoop fs -mkdir -p /usr/hadoop
19.接著在 HDFS 的目錄「/user/hadoop」下,創建 test 文件夾,並查看文件列表
./bin/hdfs dfs -mkdir test
./bin/hadoop fs -ls
20.將 Linux 系統本地的「~/.bashrc」文件上傳到 HDFS 的 test 文件夾中,並查看 test

./bin/hadoop fs -put ~/.bashrc test

./bin/hadoop fs -ls test
21.將 HDFS 文件夾 test 復制到 Linux 系統本地文件系統的「/usr/local/hadoop」目錄下

參考: 1

⑨ 如何在Linux上安裝與配置Hadoop

Hadoop最早是為了在Linux平台上使用而開發的,但是Hadoop在UNIX、Windows和Mac OS X系統上也運行良好。不過,在Windows上運行Hadoop稍顯復雜,首先必須安裝Cygwin以模擬Linux環境,然後才能安裝Hadoop。Hadoop的安裝非常簡單,大家可以在官網上下載到最近的幾個版本,在Unix上安裝Hadoop的過程與在Linux上安裝基本相同,因此下面不會對其進行詳細介紹。

在Linux上安裝與配置Hadoop

在Linux上安裝Hadoop之前,需要先安裝兩個程序:

1. JDK 1.6或更高版本;

2. SSH(安全外殼協議),推薦安裝OpenSSH。

下面簡述一下安裝這兩個程序的原因:

1. Hadoop是用Java開發的,Hadoop的編譯及MapRece的運行都需要使用JDK。

2. Hadoop需要通過SSH來啟動salve列表中各台主機的守護進程,因此SSH也是必須安裝的,即使是安裝偽分布式版本(因為Hadoop並沒有區分集群式和偽分布式)。對於偽分布式,Hadoop會採用與集群相同的處理方式,即依次序啟動文件conf/slaves中記載的主機上的進程,只不過偽分布式中salve為localhost(即為自身),所以對於偽分布式Hadoop,SSH一樣是必須的。

一、安裝JDK 1.6

安裝JDK的過程很簡單,下面以Ubuntu為例。

(1)下載和安裝JDK

確保可以連接到互聯網,輸入命令:

sudoapt-getinstallsun-java6-jdk

輸入密碼,確認,然後就可以安裝JDK了。

這里先解釋一下sudo與apt這兩個命令,sudo這個命令允許普通用戶執行某些或全部需要root許可權命令,它提供了詳盡的日誌,可以記錄下每個用戶使用這個命令做了些什麼操作;同時sudo也提供了靈活的管理方式,可以限制用戶使用命令。sudo的配置文件為/etc/sudoers。

apt的全稱為the Advanced Packaging Tool,是Debian計劃的一部分,是Ubuntu的軟體包管理軟體,通過apt安裝軟體無須考慮軟體的依賴關系,可以直接安裝所需要的軟體,apt會自動下載有依賴關系的包,並按順序安裝,在Ubuntu中安裝有apt的一個圖形化界面程序synaptic(中文譯名為「新立得」),大家如果有興趣也可以使用這個程序來安裝所需要的軟體。(如果大家想了解更多,可以查看一下關於Debian計劃的資料。)

(2)配置環境變數

輸入命令:

sudogedit/etc/profile

輸入密碼,打開profile文件。

在文件的最下面輸入如下內容:

#setJavaEnvironment
exportJAVA_HOME=(你的JDK安裝位置,一般為/usr/lib/jvm/java-6-sun)
exportCLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH"
exportPATH="$JAVA_HOME/:$PATH"

這一步的意義是配置環境變數,使你的系統可以找到JDK。

(3)驗證JDK是否安裝成功

輸入命令:

java-version

查看信息:

javaversion"1.6.0_14"
Java(TM)SERuntimeEnvironment(build1.6.0_14-b08)
JavaHotSpot(TM)ServerVM(build14.0-b16,mixedmode)

二、配置SSH免密碼登錄

同樣以Ubuntu為例,假設用戶名為u。

1)確認已經連接上互聯網,輸入命令

sudoapt-getinstallssh

2)配置為可以無密碼登錄本機。

首先查看在u用戶下是否存在.ssh文件夾(注意ssh前面有「.」,這是一個隱藏文件夾),輸入命令:

ls-a/home/u

一般來說,安裝SSH時會自動在當前用戶下創建這個隱藏文件夾,如果沒有,可以手動創建一個。

接下來,輸入命令:

ssh-keygen-tdsa-P''-f~/.ssh/id_dsa

解釋一下,ssh-keygen代表生成密鑰;-t(注意區分大小寫)表示指定生成的密鑰類型;dsa是dsa密鑰認證的意思,即密鑰類型;-P用於提供密語;-f指定生成的密鑰文件。(關於密鑰密語的相關知識這里就不詳細介紹了,裡面會涉及SSH的一些知識,如果讀者有興趣,可以自行查閱資料。)

在Ubuntu中,~代表當前用戶文件夾,這里即/home/u。

這個命令會在.ssh文件夾下創建兩個文件id_dsa及id_dsa.pub,這是SSH的一對私鑰和公鑰,類似於鑰匙及鎖,把id_dsa.pub(公鑰)追加到授權的key裡面去。

輸入命令:

cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys

這段話的意思是把公鑰加到用於認證的公鑰文件中,這里的authorized_keys是用於認證的公鑰文件。

至此無密碼登錄本機已設置完畢。

3)驗證SSH是否已安裝成功,以及是否可以無密碼登錄本機。

輸入命令:

ssh-version

顯示結果:

OpenSSH_5.1p1Debian-6ubuntu2,OpenSSL0.9.8g19Oct2007
Badescapecharacter'rsion'.

顯示SSH已經安裝成功了。

輸入命令:

sshlocalhost

會有如下顯示:

Theauthenticityofhost'localhost(::1)'can'tbeestablished.
RSAkeyfingerprintis8b:c3:51:a5:2a:31:b7:74:06:9d:62:04:4f:84:f8:77.
(yes/no)?yes
Warning:Permanentlyadded'localhost'(RSA)tothelistofknownhosts.
Linuxmaster2.6.31-14-generic#48-UbuntuSMPFriOct1614:04:26UTC2009i686
,pleasevisit:
http://help.ubuntu.com/
Lastlogin:MonOct1817:12:402010frommaster
admin@Hadoop:~$

這說明已經安裝成功,第一次登錄時會詢問你是否繼續鏈接,輸入yes即可進入。

實際上,在Hadoop的安裝過程中,是否無密碼登錄是無關緊要的,但是如果不配置無密碼登錄,每次啟動Hadoop,都需要輸入密碼以登錄到每台機器的DataNode上,考慮到一般的Hadoop集群動輒數百台或上千台機器,因此一般來說都會配置SSH的無密碼登錄。

三、安裝並運行Hadoop

介紹Hadoop的安裝之前,先介紹一下Hadoop對各個節點的角色定義。

Hadoop分別從三個角度將主機劃分為兩種角色。第一,劃分為master和slave,即主人與奴隸;第二,從HDFS的角度,將主機劃分為NameNode和DataNode(在分布式文件系統中,目錄的管理很重要,管理目錄的就相當於主人,而NameNode就是目錄管理者);第三,從MapRece的角度,將主機劃分為JobTracker和TaskTracker(一個job經常被劃分為多個task,從這個角度不難理解它們之間的關系)。

Hadoop有官方發行版與cloudera版,其中cloudera版是Hadoop的商用版本,這里先介紹Hadoop官方發行版的安裝方法。

Hadoop有三種運行方式:單節點方式、單機偽分布方式與集群方式。乍看之下,前兩種方式並不能體現雲計算的優勢,在實際應用中並沒有什麼意義,但是在程序的測試與調試過程中,它們還是很有意義的。

你可以通過以下地址獲得Hadoop的官方發行版,下載Hadoop-0.20.2.tar.gz並將其解壓,這里會解壓到用戶目錄下,一般為:/home/[你的用戶名]/。

單節點方式配置:

安裝單節點的Hadoop無須配置,在這種方式下,Hadoop被認為是一個單獨的Java進程,這種方式經常用來調試。

偽分布式配置:

你可以把偽分布式的Hadoop看做是只有一個節點的集群,在這個集群中,這個節點既是master,也是slave;既是NameNode也是DataNode;既是JobTracker,也是TaskTracker。

偽分布式的配置過程也很簡單,只需要修改幾個文件,如下所示。

進入conf文件夾,修改配置文件:

Hadoop-env.sh:
exportJAVA_HOME=「你的JDK安裝地址」

指定JDK的安裝位置:

conf/core-site.xml:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

這是Hadoop核心的配置文件,這里配置的是HDFS的地址和埠號。

conf/hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

這是Hadoop中HDFS的配置,配置的備份方式默認為3,在單機版的Hadoop中,需要將其改為1。

conf/mapred-site.xml:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>

這是Hadoop中MapRece的配置文件,配置的是JobTracker的地址和埠。

需要注意的是,如果安裝的是0.20之前的版本,那麼只有一個配置文件,即為Hadoop-site.xml。

接下來,在啟動Hadoop前,需格式化Hadoop的文件系統HDFS(這點與Windows是一樣的,重新分區後的卷總是需要格式化的)。進入Hadoop文件夾,輸入下面的命令:

bin/HadoopNameNode-format

格式化文件系統,接下來啟動Hadoop。

輸入命令:

bin/start-all.sh(全部啟動)

最後,驗證Hadoop是否安裝成功。

打開瀏覽器,分別輸入網址:

http://localhost:50030(MapRece的Web頁面)
http://localhost:50070(HDFS的Web頁面)

如果都能查看,說明Hadoop已經安裝成功。

對於Hadoop來說,安裝MapRece及HDFS都是必須的,但是如果有必要,你依然可以只啟動HDFS(start-dfs.sh)或MapRece(start-mapred.sh)。

⑩ 如何在Linux下搭建hadoop集群環境 小殘's Blog

前期准備
l 兩台linux虛擬機(本文使用redhat5,IP分別為 IP1、IP2)
l JDK環境(本文使用jdk1.6,網上很多配置方法,本文省略)
l Hadoop安裝包(本文使用Hadoop1.0.4)
搭建目標
210作為主機和節點機,211作為節點機。
搭建步驟
1修改hosts文件
在/etc/hosts中增加:

IP1 hadoop1
IP2 hadoop2

2 實現ssh無密碼登陸
2.1 主機(master)無密碼本機登陸

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

直接回車,完成後會在 ~/.ssh/ 生成兩個文件: id_dsa 和 id_dsa.pub 。
這兩個是成對出現,類似鑰匙和鎖。
再把 id_dsa.pub 追加到授權 key 裡面 ( 當前並沒有 authorized_key s文件 ) :

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

ssh localhost hostname

還是要輸入密碼,一般這種情況都是因為目錄或文件的許可權問題,看看系統日誌,確實是許可權問題
.ssh下的authorized_keys許可權為600,其父目錄和祖父目錄應為755

2.2 無密碼登陸節點機(slave)
slave上執行:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

生成.ssh目錄。
將master上的authorized_keys復制到slave上:

scp authorized_keys hadoop2:~/.ssh/

實驗:在master上執行

ssh hadoop2

實現無密碼登陸。
3 配置Hadoop
3.1拷貝hadoop
將hadoop-1.0.4.tar.gz ,拷貝到usr/local 文件夾下,然後解壓。
解壓命令:

tar –zxvf hadoop-1.0.4.tar.gz

3.2查看 cat /etc/hosts

IP1 hadoop1
IP2 hadoop2

3.3 配置 conf/masters 和 conf/slaves
conf/masters:
1

IP1

conf/slaves:
1
2

IP2
IP2

3.4 配置 conf/hadoop-env.sh
加入
1

export JAVA_HOME=/home/elvis/soft/jdk1.7.0_17

3.5 配置 conf/core-site.xml
1
2
3
4

<property>
<name>fs.default.name</name>
<value>hdfs://IP1:9000</value>
</property>

3.6 配置 conf/hdfs-site.xml
加入

<property>
<name>dfs.http.address</name>
<value>IP1:50070</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/usr/local/hadoop/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/local/hadoop/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>

3.7 配置conf/mapred-site.xml
加入

<property>
<name>mapred.job.tracker</name>
<value>192.168.1.50:8012</value>
</property>

3.8 建立相關的目錄
1

/usr/local/hadoop/ //hadoop數據和namenode目錄

【注意】只創建到hadoop目錄即可,不要手動創建data和namenode目錄。
其他節點機也同樣建立該目錄。
3.9 拷貝hadoop文件到其他節點機
將hadoop文件遠程到其他節點(這樣前面的配置就都映射到了其他節點上),
命令:
1

scp -r hadoop-1.0.4 IP2:/usr/local/

3.10 格式化Active master
命令:

bin/hadoop namenode -format

3.11 啟動集群 ./start-all.sh
現在集群啟動起來了,看一下,命令:
1

bin/hadoop dfsadmin -report

2個datanode,打開web看一下
瀏覽器輸入:IP1:50070
打完收工,集群安裝完成!

閱讀全文

與linux創建hadoop用戶相關的資料

熱點內容
哪些統計量可以反映數據波動 瀏覽:946
js地圖標記怎麼清空 瀏覽:479
googlenow教程 瀏覽:508
安全四個責任體系內容文件 瀏覽:965
南陽政務app怎麼注冊 瀏覽:343
照片壓縮包同一路徑的文件能刪嗎 瀏覽:590
路由沒網路怎麼辦 瀏覽:745
南京網站推廣大概多少錢 瀏覽:983
js隱藏列印出來 瀏覽:135
手工之家app哪裡下載 瀏覽:328
網路教育聯盟英語考試是什麼 瀏覽:69
macairwin10忘記密碼 瀏覽:716
java上傳方法 瀏覽:970
csc文件夾可以刪除嗎 瀏覽:130
打線工具怎麼用 瀏覽:376
mat文件如何轉換為cad 瀏覽:761
qq瀏覽器舊版本614 瀏覽:713
將資料庫文件批量導出excel 瀏覽:262
招投標文件在招標公司存多少年 瀏覽:551
u盤空間不足不能復制系統鏡像文件 瀏覽:212

友情鏈接