hadoop2.7.3完全分散式安裝-docker-hive1.2.1-hiveserver2-weave1.9.3
0.環境介紹:
1)ubuntu14.04 docker映象
地址:https://github.com/gaojunhao/ubuntu14.04
2)hadoop2.7.3
地址:http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.3/hadoop-2.7.3-src.tar.gz
3)JDK1.8
這裡下載的是jdk-8u74-Linux-x64.gz
地址:http://www.Oracle.com/technetwork/Java/javase/downloads/jdk8-downloads-2133151.html
4)docker 17.03.0-ce for ubuntu
地址:https://store.docker.com/editions/community/docker-ce-server-ubuntu?tab=description
5)hive1.2.1
地址:http://www-eu.apache.org/dist/hive/hive-1.2.1/
6)mysql 5.5.54
7)weave1.9.3
地址:https://www.weave.works/docs/net/latest/installing-weave/
1.安裝
1)docker 安裝
apt-get install -y curl
curl -sSL https://get.docker.com/|sh
usermod -aG docker $(whoami)
2)執行ubuntu14.04映象
docker run -it -h master ubuntu:14.04
3)安裝jdk1.8
docker cp /jdk-8u74-linux-x64.gz containerid:/home/ubuntu/jdk-8u74-linux-x64.gz
tar -zxvf jdk-8u74-linux-x64.gz
3.1)配置環境變數
vim /etc/profile
export JAVA_HOME=/home/ubuntu/jdk1.8.0_74
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
3.2)jdk測試
source /etc/profile
java -version
顯示以下則配置正確
Javaversion "1.8.0_74"Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode)
4)hadoop2.7.3安裝
docker cp /hadoop-2.7.3-src.tar.gz containerid:/home/ubuntu/hadoop-2.7.3-src.tar.gz
tar -zxvf hadoop-2.7.3-src.tar.gz
4.1)環境變數配置
vim /etc/profile
export HADOOP_HOME=/soft/apache/hadoop/hadoop-2.7.3
export HADOOP_CONFIG_HOME=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
source /etc/profile
4.2)hosts檔案
vim /etc/host-tmp
新增以下:
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2 master
172.17.0.3 slaver1
172.17.0.4 slaver2
儲存後
vim /init.sh
新增以下:
#!/bin/sh
rm /etc/hosts
cat /etc/host-tmp >> /etc/hosts
/etc/init.d/networking restart
4.3)ssh免密登入
參照:http://blog.csdn.net/ab198604/article/details/8250461
本文摘取該博文ssh免密登入設定部分
SSH主要通過RSA演算法來產生公鑰與私鑰,在資料傳輸過程中對資料進行加密來保障數
據的安全性和可靠性,公鑰部分是公共部分,網路上任一結點均可以訪問,私鑰主要用於對資料進行加密,以防他人盜取資料。總而言之,這是一種非對稱演算法,想要破解還是非常有難度的。Hadoop叢集的各個結點之間需要進行資料的訪問,被訪問的結點對於訪問使用者結點的可靠性必須進行驗證,hadoop採用的是ssh的方法通過金鑰驗證及資料加解密的方式進行遠端安全登入操作,當然,如果hadoop對每個結點的訪問均需要進行驗證,其效率將會大大降低,所以才需要配置SSH免密碼的方法直接遠端連入被訪問結點,這樣將大大提高訪問效率。
(1) 每個結點分別產生公私金鑰。
鍵入命令:
以上命令是產生公私金鑰,產生目錄在使用者主目錄下的.ssh目錄中,如下:
Id_dsa.pub為公鑰,id_dsa為私鑰,緊接著將公鑰檔案複製成authorized_keys檔案,這個步驟是必須的,過程如下:
用上述同樣的方法在剩下的兩個結點中如法炮製即可。
(2) 單機迴環ssh免密碼登入測試
即在單機結點上用ssh進行登入,看能否登入成功。登入成功後登出退出,過程如下:
注意標紅圈的指示,有以上資訊表示操作成功,單點回環SSH登入及登出成功,這將為後續跨子結點SSH遠端免密碼登入作好準備。
用上述同樣的方法在剩下的兩個結點中如法炮製即可。
(3) 讓主結點(master)能通過SSH免密碼登入兩個子結點(slave)
為了實現這個功能,兩個slave結點的公鑰檔案中必須要包含主結點的公鑰資訊,這樣
當master就可以順利安全地訪問這兩個slave結點了。操作過程如下:
如上過程顯示了node1結點通過scp命令遠端登入master結點,並複製master的公鑰檔案到當前的目錄下,這一過程需要密碼驗證。接著,將master結點的公鑰檔案追加至authorized_keys檔案中,通過這步操作,如果不出問題,master結點就可以通過ssh遠端免密碼連線node1結點了。在master結點中操作如下:
由上圖可以看出,node1結點首次連線時需要,“YES”確認連線,這意味著master結點連線node1結點時需要人工詢問,無法自動連線,輸入yes後成功接入,緊接著登出退出至master結點。要實現ssh免密碼連線至其它結點,還差一步,只需要再執行一遍ssh node1,如果沒有要求你輸入”yes”,就算成功了,過程如下:
如上圖所示,master已經可以通過ssh免密碼登入至node1結點了。
對node2結點也可以用同樣的方法進行,如下圖:
Node2結點複製master結點中的公鑰檔案
Master通過ssh免密碼登入至node2結點測試:
第一次登入時:
第二次登入時:
表面上看,這兩個結點的ssh免密碼登入已經配置成功,但是我們還需要對主結點master也要進行上面的同樣工作,這一步有點讓人困惑,但是這是有原因的,具體原因現在也說不太好,據說是真實物理結點時需要做這項工作,因為jobtracker有可能會分佈在其它結點上,jobtracker有不存在master結點上的可能性。
對master自身進行ssh免密碼登入測試工作:
至此,SSH免密碼登入已經配置成功。
4.4)修改hadoop配置檔案
cd $HADOOP_HOME/etc/hadoop/
4.4.1.hadoop-env.sh
export JAVA_HOME=/home/ubuntu/jdk1.8.0_74
4.4.2.slaves
新增以下:
localhost
slaver1
slaver2
4.4.3.core-site.xml
新增以下:
<property>
<name>hadoop.tmp.dir</name>
<value>/soft/apache/hadoop/hadoop-2.7.3/tmp</value>
<description>A base for other temporary directories.</description>
</property>
4.4.4.hdfs-site.xml
新增以下:
<property>
<name>dfs.namenode.name.dir</name>
<value>/soft/apache/hadoop/hadoop-2.7.3/namenode</value>
<final>true</final>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/soft/apache/hadoop/hadoop-2.7.3/datanode</value>
<final>true</final>
</property>
4.5)儲存docker映象
docker ps 檢視當前啟動的映象id
docker commit containerid hadoop:master
docker commit containerid hadoop:slaver1
docker commit containerid hadoop:slaver2
4.6)格式化namenode
docker run -it -h master hadoop:master
docker run -it -h slaver1 hadoop:slaver1
docker run -it -h slaver2 hadoop:slaver2
在master節點
hadoop namenode -format
上面只要出現successfully formatted則格式化成功了.
4.7)啟動hadoop
start-dfs.sh
start-yarn.sh
4.8)jps檢測後臺程式是否啟動成功
jps
master節點
[email protected]:/# jps
201 NameNode
1264 Jps
1108 ResourceManager
526 SecondaryNameNode
316 DataNode
1224 NodeManager
slaver節點
[email protected]:/# jps
276 NodeManager
401 Jps
109 DataNode
[email protected]:/# jps
276 NodeManager
401 Jps
109 DataNode
如果namenode datanode節點沒有啟動
參照:http://blog.csdn.net/lu8000/article/details/46313231
http://blog.csdn.net/asia_kobe/article/details/50902812
http://www.cnblogs.com/kinglau/p/3796274.html
4.9)hadoop pi 測試
cd $HADOOP_HOME
[email protected]:/soft/apache/hadoop/hadoop-2.7.3/share/hadoop/mapreduce# hadoop jar hadoop-mapreduce-examples-2.7.3.jar pi 10 10
如果遇到run job一直執行不下去,檢查下磁碟使用率是不是超過了90%,可以增大一些可用磁碟率.
5)hive安裝
5.0)安裝情況介紹
master節點作為server,slaver節點作為client
master節點安裝mysql hive,slaver節點安裝hive
5.1)mysql安裝
5.1.1.sudo apt-get install mysql-server
5.1.2.apt-get isntall mysql-client
5.1.3.sudo apt-get install libmysqlclient-dev
5.1.4.啟動mysql服務
service mysql start
5.1.5.登入mysql
5.2)hive安裝
5.2.1.hive安裝
docker cp /apache-hive-1.2.1-bin.tar.gz containerid:/usr/local/
tar -zxvf apache-hive-1.2.1-bin.tar.gz
5.2.2.環境變數配置
vim /etc/profile
新增以下:
export HIVE_HOME=/usr/local/apache-hive-1.2.1-bin
export PATH=$PATH:$HIVE_HOME/bin
source /etc/profile
5.2.3.hive配置檔案
5.2.3.1配置檔案重新命名
cd $HIVE_HOME/conf
cp hive-default.xml.template hive-site.xml
5.2.3.2修改hive-site.xml
修改以下項:
<property>
<name>hive.exec.scratchdir</name>
<value>/tmp/hive</value>
<description>HDFS root scratch dir for Hive jobs which gets created with write all (733) permission. For each connecting user, an HDFS scratch dir: ${hive.exec.scratchdir}/<username> is created, with ${hive.scratch.dir.permission}.</description>
</property>
<property>
<name>hive.exec.local.scratchdir</name>
<value>/tmp</value>
<description>Local scratch space for Hive jobs</description>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/tmp</value>
<description>Temporary local directory for added resources in the remote file system.</description>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>Username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hivepass</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>172.17.0.2</value>
<description>Bind host on which to run the HiveServer2 Thrift service.</description>
</property>
5.2.4.hive 元資料
mysql-connector-java-5.1.39.jar下載地址:
https://dev.mysql.com/downloads/connector/j/
將 mysql-connector-java-5.1.39.jar 放入 $HIVE_HOME/lib 下
5.2.5.為hive建立hdfs目錄
在 Hive 中建立表之前需要使用以下 HDFS 命令建立 /tmp 和 /user/hive/warehouse (hive-site.xml 配置檔案中屬性項 hive.metastore.warehouse.dir 的預設值) 目錄並給它們賦寫許可權
hdfs dfs -mkdir /tmp
hdfs dfs -mkdir /usr/hive/warehouse
hdfs dfs -chmod g+w /tmp
hdfs dfs -chmod g+w /usr/hive/warehouse
5.2.6.執行hive
5.2.6.1先執行 schematool 命令來執行初始化操作
schematool -dbType mysql -initSchem
5.2.6.2啟動mysql server服務service mysql start
5.2.6.3啟動hive
輸入hive
出現如下則hive安裝成功
Logging initialized using configuration in file:/usr/local/apache-hive-1.2.1-bin/conf/hive-log4j.properties
hive>
5.2.7slaver節點安裝hive
1)hive安裝
docker cp /apache-hive-1.2.1-bin.tar.gz containerid:/usr/local/
tar -zxvf apache-hive-1.2.1-bin.tar.gz
2)環境變數配置
vim /etc/profile
新增以下:
export HIVE_HOME=/usr/local/apache-hive-1.2.1-bin
export PATH=$PATH:$HIVE_HOME/bin
source /etc/profile
3)hive配置檔案
3.1)配置檔案重新命名
cd $HIVE_HOME/conf
cp hive-default.xml.template hive-site.xml
3.2)修改hive-site.xml
修改以下項:
<property>
<name>hive.exec.scratchdir</name>
<value>/tmp/hive</value>
<description>HDFS root scratch dir for Hive jobs which gets created with write all (733) permission. For each connecting user, an HDFS scratch dir: ${hive.exec.scratchdir}/<username> is created, with ${hive.scratch.dir.permission}.</description>
</property>
<property>
<name>hive.exec.local.scratchdir</name>
<value>/tmp</value>
<description>Local scratch space for Hive jobs</description>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/tmp</value>
<description>Temporary local directory for added resources in the remote file system.</description>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://172.17.0.2:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>Username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hivepass</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>172.17.0.2</value>
<description>Bind host on which to run the HiveServer2 Thrift service.</description>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://172.17.0.2:9083</value>
</property>
4)hive 元資料
mysql-connector-java-5.1.39.jar下載地址:
https://dev.mysql.com/downloads/connector/j/
將 mysql-connector-java-5.1.39.jar 放入 $HIVE_HOME/lib 下
5)為hive建立hdfs目錄
在 Hive 中建立表之前需要使用以下 HDFS 命令建立 /tmp 和 /user/hive/warehouse (hive-site.xml 配置檔案中屬性項 hive.metastore.warehouse.dir 的預設值) 目錄並給它們賦寫許可權
hdfs dfs -mkdir /tmp
hdfs dfs -mkdir /usr/hive/warehouse
hdfs dfs -chmod g+w /tmp
hdfs dfs -chmod g+w /usr/hive/warehouse
5.2.7啟動metastore
參照:http://blog.csdn.net/reesun/article/details/8556078
master節點
service mysql start
[email protected]:/# hive --service metastore
Starting Hive Metastore Server
slaver節點
輸入hive
[email protected]:/tmp/root# hive
Logging initialized using configuration in file:/usr/local/apache-hive-1.2.1-bin/conf/hive-log4j.properties
hive>
5.2.8啟動hiveserver2
master節點
service mysql start
slaver節點
[email protected]:/# beeline
Beeline version 1.2.1 by Apache Hive
beeline> !connect jdbc:hive2://172.17.0.2:10000/default
Connecting to jdbc:hive2://172.17.0.2:10000/default
Enter username for jdbc:hive2://172.17.0.2:10000/default: root
Enter password for jdbc:hive2://172.17.0.2:10000/default:
Connected to: Apache Hive (version 1.2.1)
Driver: Hive JDBC (version 1.2.1)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://172.17.0.2:10000/default>
出現以上則證明hiveserver2正常啟動
6)weave安裝
使用weave進行真正的完全分散式安裝
6.1weave安裝
要求:網路已翻牆
master slaver節點均需要安裝
1.sudo wget -O /usr/local/bin/weave https://raw.githubusercontent.com/zettio/weave/master/weave
2.sudo chmod a+x /usr/local/bin/weave
6.2weave啟動
1.master節點所在主機
weave launch
2.slaver節點所在主機
weave launch master_ip
3.檢查
netstat -na | grep 6783
6.3載入映象
docker import hiveClient.tar
docker import hiveServer.tar
6.4執行容器
1.slaver節點
weave run 10.0.0.3/24 -it -h slaver1 --net=none hive:client
weave run 10.0.0.4/24 -it -h slaver2 --net=none hive:client
docker attach containerid
./init.sh
2.master節點
weave run 10.0.0.2/24 -it -h master --net=none hive:server
docker attach containerid
./init.sh
6.5暴露主機埠
weave expose 10.0.0.100/24(將本機加入weave子網)
6.6啟動dfs yarn
start-dfs.sh
start-yarn.sh
jps
注意:不要使用172.17.0.2等docker使用的ip,防止衝突,所以前面設定的172.17.0.2等需要改為10.0.0.2等.
相關推薦
hadoop2.7.3完全分散式安裝-docker-hive1.2.1-hiveserver2-weave1.9.3
0.環境介紹: 1)ubuntu14.04 docker映象 地址:https://github.com/gaojunhao/ubuntu14.04 2)hadoop2.7.3 地址:http://www.apache.org/dyn/closer.cgi/hadoop/c
hadoop2.7.4 完全分散式搭建(4臺)
1. 叢集的規劃 描述:hadoop HA機制的搭建依賴與zookeeper,所以選取三臺當作zookeeper叢集,總共準備了4臺主機,分別是hadoop01,hadoop02,hadoop03,hadoop04,其中hadoop01和hadoop02做namenode主
Hadoop2.7.4完全分散式環境搭建
軟體版本 虛擬機器管理軟體:VMware WorkStation Pro 12.0 作業系統:CentOS 6.7 Hadoop:Hadoop 2.7.4 JDK:jdk-8u65-linux-x64.tar.gz 一、環境準備 1、 修改各個節點主機名:vi /e
hive安裝配置(hive1.2.1)
環境centOS 7 hive的安裝比較簡單,只需要在一臺機器上配置即可。 由於hive的一些功能要藉助資料庫實現,所以要先裝好mysql。 一.安裝MySql 1.下載MySQL # 下載mysql源安裝包 shell> wget http://dev.mys
CentOS7+Hadoop2.7.2(HA高可用+Federation聯邦)+Hive1.2.1+Spark2.1.0 完全分散式叢集安裝
本文件主要記錄了Hadoop+Hive+Spark叢集安裝過程,並且對NameNode與ResourceManager進行了HA高可用配置,以及對NameNode的橫向擴充套件(Federation聯邦) 1VM網路配置 將子網IP設定為192.168.1.0: 將閘道器設定
基於CentOS6.5系統Hadoop2.7.3完全分散式叢集搭建詳細步驟
前言:本次搭建hadoop叢集使用虛擬機器克隆方式克隆slave節點,這樣做可以省去很多不必要的操作,來縮短我們的搭建時間。 一、所需硬體,軟體要求 使用 VMWare構建三臺虛擬機器模擬真實物理環境 作業系統:CentOS6.5 二、必備條件 hadoop搭建需
hbase1.2.3+zookeeper3.4.9+hadoop2.7.3完全分散式部署遇到的問題
啟動start-hbase.sh 後hbase沒有啟動 檢視日誌如下: ERROR [main] master.HMasterCommandLine: Master exiting java.io.IOException: Could not start ZK with 3
CentOS7下搭建hadoop2.7.3完全分散式
這裡搭建的是3個節點的完全分散式,即1個nameNode,2個dataNode,分別如下: CentOS-master nameNode 192.168.11.128 CentOS-node1 dataNode 192.168.11.131 Cen
hadoop-2.7.6 完全分散式的安裝
準備環境 CentOS 7 jdk1.8 (這裡建議使用1.8版本的jdk 連結:https://www.oracle.com/technetwork/ja
大資料學習環境搭建(CentOS6.9+Hadoop2.7.3+Hive1.2.1+Hbase1.3.1+Spark2.1.1)
node1192.168.1.11node2192.168.1.12node3192.168.1.13備註NameNodeHadoopYY高可用DateNode YYYResourceManager YY高可用NodeManagerYYYJournalNodes YYY奇數個,至少3個節點ZKFC(DFSZK
Hadoop2.9.0+VMware+ubuntu16.04完全分散式安裝指南-超詳細
0.環境概要Linux:Ubuntu 16.04hadoop:Hadoop 2.9.0jdk:1.8.0vmware:14.0 pro1.Linux環境部署1.1第一步配置Vmware NAT網路 vmware虛擬機器的配置,主要是網路配置,選擇NAT網路,Ubuntu
RHEL7.3系統上安裝docker環境及docker的簡單使用
訪問 vim build info 環境 version .html 查看 hub 為RHEL7和Centos7上安裝epel源和docker源以及安裝和檢查 命令安裝 yum -y install epel-release 手動安裝 wget http://
Hadoop完全分散式安裝Hive
編譯安裝 Hive 如果需要直接安裝 Hive,可以跳過編譯步驟,從 Hive 的官網下載編譯好的安裝包,下載地址為http://hive.apache.org/downloads.html。 Hive的環境配置需要MySQL的支援,所以首先需要安裝MySQL,
Hadoop完全分散式安裝zookeeper
D.1安裝 ZooKeeper D.1.1 下載 ZooKeeper ZooKeeper 是 Apache 基金會的一個開源、分散式應用程式協調服務,是 Google 的 Chubby一個開源的實現。它是一個為分散式應用提供一致性服務的軟體,提供的功能包括配置維護、域名服務、分散式同步、
安裝HBase--單節點、偽分散式、完全分散式安裝
1.下載HBase 連結:http://mirrors.cnnic.cn/apache/hbase/ 選擇 stable 目錄,下載 bin 檔案: 在Linux上解壓,部落格中解壓在/home/hadoop 目錄下: 進入解壓目錄: 2.修改配置 修改JD
Hadoop完全分散式安裝2
hadoop簡介: 1.獨立模式(standalone|local)單機模式;所有的產品都安裝在一臺機器上且本地磁碟和副本可以在接下來的xml檔案中 nothing! &
cdh5.7.0偽分散式叢集之spark-2.2.0安裝
基本環境及軟體: 軟體版本 軟體包 centos-6.4 JDK-1.8 jdk-8u191-linux-x64.tar.gz hadoo
spark-2.4.0-hadoop2.7-高可用(HA)安裝部署
1. 主機規劃 主機名稱 IP地址 作業系統 部署軟體 執行程序 備註 mini01 172.16.1.11【內網】 10.0.0.11 【外網】
ZooKeeper完全分散式安裝與配置
Apache ZooKeeper是一個為分散式應用所設計開源協調服務,其設計目是為了減輕分散式應用程式所承擔的協調任務。可以為使用者提供同步、配置管理、分組和命名服務。 1.環境說明 在三臺裝有centos6.5(64位)伺服器上安裝ZooKeeper,官網建議至少3個節點,本
Hadoop從入門到精通系列之--3.完全分散式環境搭建
目錄 一 什麼是完全分散式 二 準備伺服器 三 叢集分發指令碼 3.1 scp(secure copy)安全拷貝 3.2 rsync遠端同步 3.3 叢集分發指令碼 四 叢集規劃 4.1 規劃思想 4.2 具體配置 4.3 ssh免密登陸 一 什麼