1.準備Linux環境
1.0點選VMware快捷方式,右鍵打開檔案所在位置 -> 輕按兩下vmnetcfg.exe -> VMnet1 host-only ->修改subnet ip 設定網段:192.168.8.0 子網路遮罩:255.255.255.0 -> apply -> ok
回到windows --> 打開網絡和共享中心 -> 更改擴充卡設定 -> 右鍵VMnet1 -> 屬性 -> 輕按兩下IPv4 -> 設定windows的IP:192.168.8.0 子網路遮罩:255.255.255.1 -> 點選确定
在虛拟軟體上 --My Computer -> 選中虛拟機 -> 右鍵 -> settings -> network adapter -> host only -> ok
1.1修改主機名
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=Linux ###
1.2修改IP
兩種方式:
第一種:通過Linux圖形界面進行修改(強烈推薦)
進入Linux圖形界面 -> 右鍵點選右上方的兩個小電腦 -> 點選Edit connections -> 選中目前網絡System eth0 -> 點選edit按鈕 -> 選擇IPv4 -> method選擇為manual -> 點選add按鈕 -> 添加IP:192.168.8.88子網路遮罩:255.255.255.0 網關:192.168.8.0 -> apply
第二種:修改配置檔案方式(屌絲程式猿專用)
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static" ###
HWADDR="00:0C:29:3C:BF:E7"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c"
IPADDR="192.168.8.88" ###
NETMASK="255.255.255.0" ###
GATEWAY="192.168.8.1" ###
1.3修改主機名和IP的映射關系
vim /etc/hosts
192.168.8.88 Linux
1.4關閉防火牆
#檢視防火牆狀态
service iptables status
#關閉防火牆
service iptables stop
#檢視防火牆開機啟動狀态
chkconfig iptables --list
#關閉防火牆開機啟動
chkconfig iptables off
1.5重新開機Linux
reboot
2.安裝JDK
2.1上傳
2.2解壓jdk
#建立檔案夾
mkdir /usr/java
#解壓
tar -zxvf jdk-7u55-linux-i586.tar.gz -C /usr/java/
2.3将java添加到環境變量中
vim /etc/profile
#在檔案最後添加
export JAVA_HOME=/usr/java/jdk1.7.0_55
export PATH=$PATH:$JAVA_HOME/bin //之後的安裝過程中也可以将HBase、hadoop、zookeeper的path加入,中間用冒号(:)隔開
#重新整理配置
source /etc/profile
Hadoop zookeeper hbase 搭建說明(按順序搭建)
所用到的tar包如下:
hbase-0.94.11.tar.gz
hadoop-1.0.4.tar.gz
zookeeper-3.4.6.tar.gz
1.安裝JDK(確定為1.6或以上)
2.安裝HADOOP
2.1. 建立hadoop檔案夾,上傳hadoop-1.0.4.tar.gz到該目錄,并解壓。
2.2. 在$HADOOP_HOME/conf中進行相關配置文檔修改。
core-site.xml ,其中Linux為hostname
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://Linux:9000</value>
</property>
</configuration>
-----------------------------------------------------------------
hdfs-site.xml,指定name node和data node的資料存儲位置
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/home/hadoop/hadoop-1.0.4/tmp/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/hadoop/hadoop-1.0.4/tmp/data</value>
</property>
</configuration>
mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>Linux:9001</value>
</property>
-------------------------------------------------------------------
2.3 啟動/關閉hadoop
第一次啟動要格式化名位元組點 hadoop namenode -format
在bin目錄下start-all.sh stop-all.sh
2.4 狀态檢視
jps 檢視java 程序,正常啟動包含以下程序:
NameNode SecondaryNameNode DataNode JobTracker TaskTracker
如果有未正常啟動的程序,需檢視日志進行相應定位。
一般每個程序都會在logs中生成 .log .out兩種日志。
出錯的程序還會在$HADOOP_HOME下産生格式如hs_err_pid17157.log的日志。
2.5驗證是否啟動成功
使用jps指令驗證
27408 NameNode
28218 Jps
27643 SecondaryNameNode
28066 NodeManager
27803 ResourceManager
27512 DataNode
http://192.168.8.88:50070 (HDFS管理界面)
在這個檔案中添加linux主機名和IP的映射關系
C:\Windows\System32\drivers\etc\hosts
192.168.1.119 itcast
http://192.168.8.88:8088 (MR管理界面)
2.6測試hdfs:
1.線上傳檔案到hdfs
hadoop fs -put software/jdk-7u79-linux-i586.tar.gz hdfs://192.168.8.88:9000
2.從hdfs檔案系統中下載下傳檔案到本地
hadoop fs -get hdfs://Linux:9000/jdk /root/software/jdk
4.配置ssh免登陸
生成ssh免登陸密鑰
cd ~,進入到我的home目錄
cd .ssh/
ssh-keygen -t rsa (四個回車)
執行完這個指令後,會生成兩個檔案id_rsa(私鑰)、id_rsa.pub(公鑰)
将公鑰拷貝到要免登陸的機器上
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
或
ssh-copy-id -i localhost
3.安裝ZOOKEEPER
3.1 建立zookeeper檔案夾,上傳對應tar包并解壓。
3.2 将conf下的zoo_sample.cfg 複制一份重命名為 zoo.cfg。據實際情況修改資料檔案存儲位址和用戶端端口号,如下
dataDir =/home/zookeeper/zookeeper-3.4.6/tmp/zookeeper
clientPort=12306
3.3 管理zookeeper
bin目錄下執行
./zkServer.sh start 啟動
./zkServer.sh stop 關閉
./zkServer.sh status 狀态檢視
4.安裝HBASE
在conf下修改 hbase-site.xml。Linux為主機名,12306為zookeeper端口号。
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://Linux:9000/hbase</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>Linux</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>12306</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/home/hadoop/hbase/hbase-0.94.11/tmp</value>
</property>
修改 hbase-env.sh。最後一行修改如下語句,不使用hbase自帶的zookeeper。
export HBASE_MANAGES_ZK=false
配置JAVA_HOME(jdk安裝路徑)和HBASE_CLASSPATH(HBase安裝路徑)兩個配置項
錯誤: 找不到或無法加載主類 org.apache.hadoop.hbase.util.HBaseConfTool
原因:hbase中的配置檔案(hbase-env.xml)中的HBASE_CLASSPATH為配置或配置錯誤。
錯誤:ERROR org.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesystem initialization failed.
java.io.IOException: NameNode is not formatted.
原因:hadoop第一次啟動時沒有進行format,需要删除tmp目錄中的兩個檔案,進行一次format。指令:hadoop namenode -format
錯誤:
找不到jdk之類的。在(hbase-env.xml)中需配置HBASE_MANAGES_ZK=false