hadoop2.6偽分佈+pig0.15+zookeeper3.4.6安裝
一、hadoop2.6偽分佈安裝請參考:http://blog.csdn.net/gamer_gyt/article/details/46793731
二、pig0.15安裝
Pig的介紹
Pig是一個基於Hadoop的大規模資料分析平臺,它提供的SQL-like語言叫Pig Latin,該語言的編譯
器會把類SQL的資料分析請求轉換為一系列經過優化處理的MapReduce運算。Pig為複雜的海量資料平行計算
提供了一個簡易的操作和程式設計介面.
Pig的執行模式
Grunt shell方式:通過互動的方式,輸入命令執行任務;
Pig script方式:通過script指令碼的方式來執行任務;
嵌入式方式:嵌入java原始碼中,通過java呼叫來執行任務。
Pig的安裝
1)下載Pig前往http://mirror.bit.edu.cn/apache/pig/ 下載合適的版本,比如Pig 0.12.02)解壓檔案到
合適的目錄tar –xzf pig-0.12.03)設定環境變數export PIG_INSTALL=/opt/pig-0.12.0export PATH=
$PATH:$PIG_INSTALL/bin4)驗證執行以下命令,檢視Pig是否可用:
pig –help
進入本地模式:pig –x local
進入MapReduce模式:pig –x mapreduce
三、zookeeper3.4.6安裝
獲取ZooKeeper安裝包
下載地址:http://apache.dataguru.cn/zookeeper
選擇一個穩定版本進行下載,我這裡下載的是zookeeper-3.4.6版本。
ZooKeeper偽分散式叢集安裝
偽分散式叢集:在一臺Server中,啟動多個ZooKeeper的例項。
上傳並解壓安裝包解壓到相應的目錄,重新命名
tar -zxvf zookeeper-3.4.6.tar.gz -C /usr/local/hadoop
mv zookeeper-3.4.6 zookeeper
建立例項配置檔案
cd zookeeper/conf
cp zoo_sample.cfg zoo1.cfg
cp zoo_sample.cfg zoo2.cfg
cp zoo_sample.cfg zoo3.cfg
修改配置檔案
例項1的配置:
vi zoo1.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/hadoop/zookeeper/d_1
clientPort=2181
dataLogDir=/usr/local/hadoop/zookeeper/logs_1
server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889
例項2的配置:
vi zoo2.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/hadoop/zookeeper/d_2
clientPort=2182
dataLogDir=/usr/local/hadoop/zookeeper/logs_2
server.1=localhost:2887:3887
server.2=localhost:2888:3888
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/hadoop/zookeeper/d_3
clientPort=2183
dataLogDir=/usr/local/hadoop/zookeeper/logs_3
server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889
準備啟動環境
mkdir/usr/local/hadoop/zookeeper/d_1
mkdir /usr/local/hadoop/zookeeper/d_2
mkdir /usr/local/hadoop/zookeeper/d_3
mkdir /usr/local/hadoop/zookeeper/logs_1
mkdir /usr/local/hadoop/zookeeper/logs_2
mkdir /usr/local/hadoop/zookeeper/logs_3
echo "1" > /usr/local/hadoop/zookeeper/d_1/myid
echo "2" > /usr/local/hadoop/zookeeper/d_2/myid
echo "3" > /usr/local/hadoop/zookeeper/d_3/myid
啟動叢集
bin/zkServer.sh start zoo1.cfg
bin/zkServer.sh start zoo2.cfg
bin/zkServer.sh start zoo3.cfg
檢視是否啟動成功
jps
#看到類似下面的程式就表示3個例項均啟動成功
13419 QuorumPeerMain
13460 QuorumPeerMain
13561 Jps
13392 QuorumPeerMain
錯誤:Error contacting service. It is probably not running
原因和解決辦法:
1. 沒有裝nc
yum install nc 或者apt-get install nc,
或者下載netcat的包,本文也有連線,
安裝步驟:
a. tar -zxvf netcat***.tar.gz
b. ./configure
c. make
d. make install
OK
2. 開啟zkServer.sh,找到
STAT=`echo stat | nc localhost $(grep clientPort "$ZOOCFG" | sed -e 's/.*=//') 2> /dev/null|grep Mode`
這行,加上或去掉-q 1(數字1而非字母l) 即可。
3. /etc/hosts裡面沒有配置localhost
第二個問題一般的機器都沒有問題,但是有一種情況沒有配置,通過模板匯入的虛擬機器。
在/etc/hosts裡增加下面一行
127.0.0.1 localhost SDN-VM1
執行結果:
JMX enabled by default
Using config: /opt/zookeeper-3.3.3/bin/../conf/zoo.cfg
需要引入zookeeper-3.4.6.jar和slf4j-api-1.61.jar這兩個jar包。
package com.cjw.demo;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.ZooDefs.Ids;
public class ZooKeeperClient {
public static void main(String[] args) throws Exception {
Watcher watcher = new Watcher() {
@Override
public void process(WatchedEvent event) {
System.out.println(event.toString());
}
};
ZooKeeper zk = new ZooKeeper("192.168.157.22:2181", 3000, watcher);
System.out.println("====建立節點");
zk.create("/cjw", "znode1".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
System.out.println("====檢視節點是否安裝成功");
System.out.println(new String(zk.getData("/cjw", false, null)));
System.out.println("====修改節點的資料");
zk.setData("/cjw", "cjw2015".getBytes(), -1);
System.out.println("====檢視修改的節點是否成功");
System.out.println(new String(zk.getData("/cjw", false, null)));
System.out.println("====刪除節點");
zk.delete("/cjw", -1);
System.out.println("====檢視節點是否被刪除");
System.out.println("節點狀態:" + zk.exists("/cjw", false));
zk.close();
}
}
執行結果:
====建立節點
WatchedEvent state:SyncConnected type:None path:null
====檢視節點是否安裝成功
znode1
====修改節點的資料
====檢視修改的節點是否成功
cjw2015
====刪除節點
====檢視節點是否被刪除
tickTime: 定義心跳的時間間隔,
注:zk的client和server之間也有和web開發類似的session的概念,而zk裡最小的session過期時間就是tickTime的兩倍
dataDir: 儲存在記憶體中資料庫快照功能。
二、pig0.15安裝
Pig的介紹
Pig是一個基於Hadoop的大規模資料分析平臺,它提供的SQL-like語言叫Pig Latin,該語言的編譯
器會把類SQL的資料分析請求轉換為一系列經過優化處理的MapReduce運算。Pig為複雜的海量資料平行計算
提供了一個簡易的操作和程式設計介面.
Pig的執行模式
1.本地模式
Pig執行於本地模式,只涉及到單獨的一臺計算機。
2.MapReduce模式
Pig執行於MapReduce模式,需要能訪問一個Hadoop叢集,並且需要裝上HDFS。
Grunt shell方式:通過互動的方式,輸入命令執行任務;
Pig script方式:通過script指令碼的方式來執行任務;
嵌入式方式:嵌入java原始碼中,通過java呼叫來執行任務。
Pig的安裝
1)下載Pig前往http://mirror.bit.edu.cn/apache/pig/ 下載合適的版本,比如Pig 0.12.02)解壓檔案到
合適的目錄tar –xzf pig-0.12.03)設定環境變數export PIG_INSTALL=/opt/pig-0.12.0export PATH=
$PATH:$PIG_INSTALL/bin4)驗證執行以下命令,檢視Pig是否可用:
pig –help
進入本地模式:pig –x local
進入MapReduce模式:pig –x mapreduce
三、zookeeper3.4.6安裝
獲取ZooKeeper安裝包
下載地址:http://apache.dataguru.cn/zookeeper
選擇一個穩定版本進行下載,我這裡下載的是zookeeper-3.4.6版本。
ZooKeeper偽分散式叢集安裝
偽分散式叢集:在一臺Server中,啟動多個ZooKeeper的例項。
上傳並解壓安裝包解壓到相應的目錄,重新命名
tar -zxvf zookeeper-3.4.6.tar.gz -C /usr/local/hadoop
mv zookeeper-3.4.6 zookeeper
建立例項配置檔案
cd zookeeper/conf
cp zoo_sample.cfg zoo1.cfg
cp zoo_sample.cfg zoo2.cfg
cp zoo_sample.cfg zoo3.cfg
修改配置檔案
例項1的配置:
vi zoo1.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/hadoop/zookeeper/d_1
clientPort=2181
dataLogDir=/usr/local/hadoop/zookeeper/logs_1
server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889
例項2的配置:
vi zoo2.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/hadoop/zookeeper/d_2
clientPort=2182
dataLogDir=/usr/local/hadoop/zookeeper/logs_2
server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889
例項3的配置:
vi zoo3.cfgtickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/hadoop/zookeeper/d_3
clientPort=2183
dataLogDir=/usr/local/hadoop/zookeeper/logs_3
server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889
準備啟動環境
mkdir/usr/local/hadoop/zookeeper/d_1
mkdir /usr/local/hadoop/zookeeper/d_2
mkdir /usr/local/hadoop/zookeeper/d_3
mkdir /usr/local/hadoop/zookeeper/logs_1
mkdir /usr/local/hadoop/zookeeper/logs_2
mkdir /usr/local/hadoop/zookeeper/logs_3
echo "1" > /usr/local/hadoop/zookeeper/d_1/myid
echo "2" > /usr/local/hadoop/zookeeper/d_2/myid
echo "3" > /usr/local/hadoop/zookeeper/d_3/myid
啟動叢集
bin/zkServer.sh start zoo1.cfg
bin/zkServer.sh start zoo2.cfg
bin/zkServer.sh start zoo3.cfg
檢視是否啟動成功
jps
#看到類似下面的程式就表示3個例項均啟動成功
13419 QuorumPeerMain
13460 QuorumPeerMain
13561 Jps
13392 QuorumPeerMain
錯誤:Error contacting service. It is probably not running
原因和解決辦法:
1. 沒有裝nc
yum install nc 或者apt-get install nc,
或者下載netcat的包,本文也有連線,
安裝步驟:
a. tar -zxvf netcat***.tar.gz
b. ./configure
c. make
d. make install
OK
2. 開啟zkServer.sh,找到
STAT=`echo stat | nc localhost $(grep clientPort "$ZOOCFG" | sed -e 's/.*=//') 2> /dev/null|grep Mode`
這行,加上或去掉-q 1(數字1而非字母l) 即可。
3. /etc/hosts裡面沒有配置localhost
第二個問題一般的機器都沒有問題,但是有一種情況沒有配置,通過模板匯入的虛擬機器。
在/etc/hosts裡增加下面一行
127.0.0.1 localhost SDN-VM1
執行結果:
JMX enabled by default
Using config: /opt/zookeeper-3.3.3/bin/../conf/zoo.cfg
Mode: follower
4、電腦重啟
Java客戶端測試需要引入zookeeper-3.4.6.jar和slf4j-api-1.61.jar這兩個jar包。
package com.cjw.demo;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.ZooDefs.Ids;
public class ZooKeeperClient {
public static void main(String[] args) throws Exception {
Watcher watcher = new Watcher() {
@Override
public void process(WatchedEvent event) {
System.out.println(event.toString());
}
};
ZooKeeper zk = new ZooKeeper("192.168.157.22:2181", 3000, watcher);
System.out.println("====建立節點");
zk.create("/cjw", "znode1".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
System.out.println("====檢視節點是否安裝成功");
System.out.println(new String(zk.getData("/cjw", false, null)));
System.out.println("====修改節點的資料");
zk.setData("/cjw", "cjw2015".getBytes(), -1);
System.out.println("====檢視修改的節點是否成功");
System.out.println(new String(zk.getData("/cjw", false, null)));
System.out.println("====刪除節點");
zk.delete("/cjw", -1);
System.out.println("====檢視節點是否被刪除");
System.out.println("節點狀態:" + zk.exists("/cjw", false));
zk.close();
}
}
執行結果:
====建立節點
WatchedEvent state:SyncConnected type:None path:null
====檢視節點是否安裝成功
znode1
====修改節點的資料
====檢視修改的節點是否成功
cjw2015
====刪除節點
====檢視節點是否被刪除
節點狀態:null配置檔案說明
initLimit: follower連線並同步到leader的初始化連線時間,它是通過tickTime的倍數表示。當初始化連線時間超過設定的時間時,則連線失敗。
tickTime: 定義心跳的時間間隔,
注:zk的client和server之間也有和web開發類似的session的概念,而zk裡最小的session過期時間就是tickTime的兩倍
dataDir: 儲存在記憶體中資料庫快照功能。
clientPort: 監聽客戶端連線的埠號
dataLogDir: zk執行的相關日誌寫入目錄,設定了配置,那麼dataLog裡日誌的目錄將無效,專門的日誌存放
相關文章
- 三、偽分佈環境下安裝hbase
- 四、偽分佈下安裝hive1.2Hive
- 【實驗】Hadoop2.6.0的偽分佈安裝Hadoop
- hadoop0.20.2偽分佈模式安裝和配置Hadoop模式
- HBASE偽分佈搭建
- Spark新手入門——2.Hadoop叢集(偽分佈模式)安裝SparkHadoop模式
- HADOOP的偽分佈搭建Hadoop
- Hadoop偽分佈模式(HDFS)Hadoop模式
- 二、hadoop偽分佈搭建Hadoop
- Dockerfile完成Hadoop2.6的偽分散式搭建DockerHadoop分散式
- 【Hadoop】MAC下hadoop2.6安裝以及執行wordcountHadoopMac
- 跟我一起hadoop(1)-hadoop2.6安裝與使用Hadoop
- hadoop偽分散式安裝Hadoop分散式
- Redis 偽分散式安裝部署配置Redis分散式
- hive1.2偽分佈mysql資料庫配置詳解HiveMySql資料庫
- hadoop0.20.2完全分佈模式安裝和配置Hadoop模式
- hadoop2.2.0偽分散式安裝Hadoop分散式
- CentOS7下部署Hadoop2.X--偽分佈模式CentOSHadoop模式
- Hadoop3偽分散式安裝指南Hadoop分散式
- Hadoop偽分散式安裝(MapReduce+Yarn)Hadoop分散式Yarn
- Pulsar本地單機(偽)叢集 (裸機安裝與docker方式安裝) 2.2.0Docker
- hadoop 0.20.2偽分散式安裝詳解Hadoop分散式
- 關於共軛分佈,beta分佈,二項分佈和Dirichlet分佈、多項式分佈的關係
- Hadoop系列之Hbase的高可用完全分佈模式的安裝(六)Hadoop模式
- 10分鐘安裝lnmp-基本docker安裝LNMPDocker
- [hadoop] hadoop-all-in-one-偽分散式安裝Hadoop分散式
- 好程式設計師大資料教程Hadoop全分佈安裝(非HA)程式設計師大資料Hadoop
- 泊松分佈和指數分佈:10分鐘教程
- Ubuntu下偽分散式模式Hadoop的安裝及配置Ubuntu分散式模式Hadoop
- 安兔兔:2015年Android裝置晶片品牌分佈與熱門排行Android晶片
- 5分鐘安裝docker教程Docker
- hadoop偽分散式叢集的安裝(不是單機版)Hadoop分散式
- 五分鐘搞定Docker安裝ElasticSearchDockerElasticsearch
- 蒲公英分發安裝iOS應用iOS
- ElasticSearch安裝ik分詞外掛Elasticsearch分詞
- 動態分佈與靜態分佈的區別
- Hadoop2.6的DataNode啟動不了Hadoop
- 安裝spark//python中os.path.abspath及os.path.join以及正態分佈PPFSparkPython