天天看點

Hadoop三種安裝模式:單機模式,僞分布式,真正分布式

Hadoop三種安裝模式:單機模式,僞分布式,真正分布式 一 單機模式standalone 單 機模式是Hadoop的預設模式。當首次解壓Hadoop的源碼包時,Hadoop無法了解硬體安裝環境,便保守地選擇了最小配置。在這種預設模式下所有 3個XML檔案均為空。當配置檔案為空時,Hadoop會完全運作在本地。因為不需要與其他節點互動,單機模式就不使用HDFS,也不加載任何 Hadoop的守護程序。該模式主要用于開發調試MapReduce程式的應用邏輯。

Hadoop三種安裝模式:單機模式,僞分布式,真正分布式

一 單機模式standalone

單 機模式是Hadoop的預設模式。當首次解壓Hadoop的源碼包時,Hadoop無法了解硬體安裝環境,便保守地選擇了最小配置。在這種預設模式下所有 3個XML檔案均為空。當配置檔案為空時,Hadoop會完全運作在本地。因為不需要與其他節點互動,單機模式就不使用HDFS,也不加載任何 Hadoop的守護程序。該模式主要用于開發調試MapReduce程式的應用邏輯。

二 僞分布模式安裝

tar xzvf hadoop-0.20.2.tar.gz

Hadoop的配置檔案:

conf/hadoop-env.sh 配置JAVA_HOME

core-site.xml 配置HDFS節點名稱和位址

hdfs-site.xml 配置HDFS存儲目錄,複制數量

mapred-site.xml 配置mapreduce的jobtracker位址

配置ssh,生成密匙,使到ssh可以免密碼連接配接

(RSA算法,基于因數不對稱加密:公鑰加密私鑰才能解密,私鑰加密公鑰才能解密)

cd /root

ssh -keygen -t rsa

cd .ssh

cp id_rsa.pub authorized_keys覆寫公鑰,就能免密碼連接配接

啟動Hadoop bin/start-all.sh

停止Hadoop bin/stop-all.sh

二 完全分布式模式

1. 配置etc/hosts檔案,使主機名解析為IP 或者使用DNS服務解析主機名

2. 建立hadoop運作使用者: useradd grid>passwd grid

3. 配置ssh密碼連入: 每個節點用grid登入,進入主工作目錄,ssh -keygen -t rsa生産公鑰,然後将每個節點的公鑰複制到同一個檔案中,再将這個包含所有節點公鑰的檔案複制到每個節點authorized_keys目錄,這個每個 節點之間彼此可以免密碼連接配接

4. 下載下傳并解壓hadoop安裝包

5. 配置namenode,修改site檔案

6. 配置hadoop-env.sh

7. 配置masters和slaves檔案

8. 向各個節點複制hadoop

9. 格式化namenode

10.啟動hadoop

11.用jps檢驗各背景程序是否成功啟動

vim /etc/hosts

vim /etc/sysconfig/network

vim /etc/sysconfig/network-scripts/ifcfg-eth0

service network restart

service NetworkManager stop

chkconfig NetworkManager off

service iptables stop

chkconfig iptables off

service ip6tables stop

chkconfig ip6tables off

vim /etc/sysconfig/selinux enforce–>disabled

setenforce 0

getenforce

useradd hadoop

passwd hadoop

secureCRT生産公鑰,将公鑰拷貝到/home/hadoop/.ssh下:

chmod 700 .ssh

ssh-keygen -i -f PubKey_Master_Hadoop.pub >> authorized_key

chmod 600 authorized_keys

vim /etc/ssh/sshd-config 如下:

RSAAuthentication yes # 啟用 RSA 認證

PubkeyAuthentication yes # 啟用公鑰私鑰配對認證方式

AuthorizedKeysFile .ssh/authorized_keys # 公鑰檔案路徑(和上面生成的檔案同)

PasswordAuthentication no # 禁止密碼驗證登陸(根據需要,不過一般啟用了密鑰,就不用密碼了)

service sshd restart

secureCRT使用PublicKey(PubKey_Master_Hadoop.pub)連接配接測試

Master 使用ssh公鑰連接配接Slave:

挂載CD光牒,建立yum源:

vim /etc/fstab

vim /etc/yum.repos.d/rhel-source.repo

yum -y install ssh

yum -y install rsync

Master host:

mkdir .ssh

ssh-keygen –t rsa –P ”

cat id_rsa.pub >> authorized_keys

ssh localhost

scp id_rsa.pub [email protected]:~/,ssh

ssh 192.168.175.12

Slave host:

vim /etc/ssh/sshd-config 如上

安裝java:拷貝到/usr/hava

chmod +x jdk-6u37-linux-x64.bin

vim /etc/profile 添加JAVA_HOME

source /etc profile

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

安裝hadoop-1.2.0:拷貝到/usr/hadoop-1.2.0,是以者群組修改為hadoop

vim /etc/profile:

export JAVA_HOME=/usr/java/jdk1.6.0_37

export HADOOP_HOME=/usr/hadoop-1.2.0

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile

配置hadoop-env.sh: 目錄:/usr/hadoop/conf

#export HADOOP_ROOT_LOGGER=DEBUG,console

export HADOOP_HOME_WARN_SUPPRESS=1

配置core-site.xml檔案:

<property>

<name>hadoop.tmp.dir</name>

<value>/usr/hadoop-1.2.0/tmp</value>

<description>A base for other temporary directories.</description>

</property>

<!– file system properties –>

<name>fs.default.name</name>

<value>hdfs://192.168.175.11:9000</value>

配置hdfs-site.xml檔案:

<name>dfs.replication</name>

<value>1</value>

<name>dfs.datanode.max.xcievers</name> //同時處理檔案上限,hbase并發比較大,至少要4096

<value>4096</value>

<name>dfs.support.append</name> //如不指定,在使用HDFS存儲的時候,HBase可能會遺失資料

<value>true</value>

配置mapred-site.xml檔案:

<name>mapred.job.tracker</name>

<value>http://192.168.175.11:9001</value>

配置masters檔案:

master.hadoop或者192.168.175.11

配置slave檔案:

slave1.hadoop或者192.168.175.12

slave2.hadoop或者192.168.175.13

slave3.hadoop或者192.168.175.14

安裝hadoop-2.0.5:拷貝到/usr

tar -zxvf hadoop-2.0.5-alpha.tar.gz

mv hadoop-2.0.5-alpha /usr/hadoop

chown -R hadoop:hadoop hadoop

# set hadoop path

export HADOOP_HOME=/usr/hadoop

export PATH=$PATH:$HADOOP_HOME:$HADOOP_HOME/bin

配置hadoop-env.sh: 目錄:/usr/hadoop/etc/hadoop

在末尾添加:export JAVA_HOME=/usr/java/jdk1.6.0_37

配置yarn-env.sh和 .bash_profile:

export HADOOP_PREFIX=/usr/hadoop

export PATH=$PATH:$HADOOP_PREFIX/bin

export PATH=$PATH:$HADOOP_PREFIX/sbin

export HADOOP_MAPRED_HOME=${HADOOP_PREFIX}

export HADOOP_COMMON_HOME=${HADOOP_PREFIX}

export HADOOP_HDFS_HOME=${HADOOP_PREFIX}

export YARN_HOME=${HADOOP_PREFIX}

export HADOOP_CONF_DIR=${HADOOP_FREFIX}/etc/hadoop

export YARN_CONF_DIR=${HADOOP_FREFIX}/etc/hadoop

<configuration>

<value>/usr/hadoop/tmp</value> (備注:請先在 /usr/hadoop 目錄下建立 tmp 檔案夾)

</configuration>

配置hdfs-site.xml檔案:修改Hadoop中HDFS的配置,配置的備份方式預設為3。

<value>1</value> (備注:replication 是資料副本數量,預設為3,salve少于3台就會報錯)

<name>dfs.namenode.name.dir</name>

<value>file:/home/hadoop/dfs/name</value>

<final>true</final>

<name>dfs.datanode.data.dir</name>

<value>file:/home/hadoop/dfs/data</value>

配置mapred-site.xml檔案:修改Hadoop中MapReduce的配置檔案,配置的是JobTracker的位址和端口。

<value>hdfs://192.168.175.11:9001</value>

<name>mapreduce.framework.name</name>

<value>yarn</value>

<name>mapred.system.dir</name>

<value>file:/home/hadoop/mapred/system</value>

<name>mapred.local.dir</name>

<value>file:/home/hadoop/mapred/local</value>

配置yarn-site.xml:

<name>yarn.resourcemanager.address</name>

<value>192.168.175.11:8080</value>

<name>yarn.resourcemanager.scheduler.address</name>

<value>192.168.175.11:8081</value>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value>192.168.175.11:8082</value>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce.shuffle</value>

<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

<value>org.apache.hadoop.mapred.ShuffleHandler</value>

mkdir -p /usr/hadoop/tmp

mkdir -p /home/hadoop/dfs/data

mkdir -p /home/hadoop/dfs/name

mkdir -p /home/hadoop/mapred/system

mkdir -p /home/hadoop/mapred/local

繼續閱讀