centoshadoop編譯
Ⅰ 濡備綍鍦–entOS6.5涓嬬紪璇64浣嶇殑Hadoop2.x
銆銆hadoop2.x鍦╝pache瀹樼綉鐩存帴涓嬭澆鐨勫苟娌℃湁64浣嶇洿鎺ヨ兘鐢ㄧ殑鐗堟湰錛屽傛灉鎴戜滑鎯沖湪64浣嶇郴緇熶嬌鐢錛岄偅涔堝氨闇瑕侀噸鏂扮紪璇慼adoop錛屽惁鍒欑洿鎺ヤ嬌鐢32浣嶇殑hadoop榪愯屽湪64浣嶇殑緋葷粺涓婏紝灝嗕細鍑虹幇涓浜涘簱涓嶅吋瀹圭殑寮傚父銆傚備笅鍥炬墍紺猴紝鏈鐩存帴鐨勪竴涓寮傚父:
銆銆鍦ㄨ繖涔嬪墠錛屾暎浠欏厛鐢ㄤ竴涓琛ㄦ牸鏉ユ弿榪頒笅鏁d粰鐨勭紪璇戠殑鐜澧冪殑鐘跺喌:
銆銆搴忓彿 鎻忚堪 澶囨敞
銆銆1 centos6.5緋葷粺64浣 linux鐜澧
銆銆2 Apache Ant1.9 ant緙栬瘧
銆銆3 Apache Maven3.2.1 maven鎵撳寘閮ㄧ講
銆銆4 gcc,gcc-c++,make 渚濊禆搴
銆銆5 protobuf-2.5.0 搴忓垪鍖栧簱
銆銆6 JDK1.7 java 鐜澧
銆銆7 Hadoop2.5.0婧愮爜鍖 瀹樼綉涓嬭澆
銆銆8 鑿滈笩宸ョ▼甯堜竴鍚 涓昏
銆銆9
銆銆涓嬮潰榪涘叆姝i橈紝鏁d粰鐨勭幆澧冩槸鍦╟entos涓嬶紝鎵浠ュぇ閮ㄥ垎瀹夎呯紪璇戜緷璧栧簱錛岄兘鍙浠ュ緢鏂逛究鐨勪嬌鐢▂um鍛戒護鏉ュ畬鎴愩
銆銆1,瀹夎単cc錛屾墽琛屽備笅鐨勫嚑涓獃um鍛戒護鍗沖彲
銆銆Java浠g爜
銆銆yum -y install gcc
銆銆yum -y install gcc-c++
銆銆yum install make
銆銆yum install autoconf automake libtool cmake ncurses-devel openssl-devel gcc*
銆銆2,瀹夎匤DK,騫惰劇疆鐜澧冨彉閲忥紝瀹屾垚鍚庢祴璇曞畨瑁呮垚鍔熷惁
銆銆Java浠g爜
銆銆[root@ganglia ~]# java -version
銆銆java version "1.5.0"
銆銆gij (GNU libgcj) version 4.4.7 20120313 (Red Hat 4.4.7-4)
銆銆Copyright (C) 2007 Free Software Foundation, Inc.
銆銆This is free software; see the source for ing conditions. There is NO
銆銆warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
銆銆[root@ganglia ~]#
銆銆3錛 瀹夎匨aven錛屽畨瑁呭畬鎴愬悗嫻嬭瘯瀹夎呬笌鍚
銆銆Java浠g爜
銆銆[root@ganglia ~]# mvn -v
銆銆Apache Maven 3.2.1 (; 2014-02-15T01:37:52+08:00)
銆銆Maven home: /usr/local/maven
銆銆Java version: 1.7.0_25, vendor: Oracle Corporation
銆銆Java home: /usr/local/jdk1.7.0_25/jre
銆銆Default locale: zh_CN, platform encoding: UTF-8
銆銆OS name: "linux", version: "2.6.32-431.el6.x86_64", arch: "amd64", family: "unix"
銆銆[root@ganglia ~]#
銆銆4, 瀹夎匒nt錛 瀹夎呭畬鎴愬悗錛屼緷鏃ф祴璇曟垚鍔熶笌鍚
銆銆Java浠g爜
銆銆[root@ganglia ~]# ant -version
銆銆Apache Ant(TM) version 1.9.4 compiled on April 29 2014
銆銆[root@ganglia ~]#
銆銆5,瀹夎卲rotobuf錛屽畨瑁呮柟寮忥紝浠庡畼緗戜笅杞絫ar.gz鐨勫寘錛屽苟涓婁紶鍒發inux涓婅В鍘嬶紝鐒跺悗榪涘叆鏍圭洰褰曚笅錛屾墽琛屽備笅鐨勫嚑涓鍛戒護:
銆銆Java浠g爜
銆銆./configure
銆銆make
銆銆make check
銆銆make install
銆銆鐒跺悗錛屾墽琛屽備笅鍛戒護錛岃繘琛屾祴璇曞畨瑁呮垚鍔熶笌鍚
銆銆Java浠g爜
銆銆[root@ganglia protobuf-2.5.0]# protoc
銆銆Missing input file.
銆銆[root@ganglia protobuf-2.5.0]#
銆銆6,浠巋adoop瀹樼綉涓嬭澆hadoop2.2.0鐨勭増鏈鐨勬簮鐮佺殑src鐨勫寘錛屽苟鏌ョ湅鐩褰
銆銆Java浠g爜
銆銆[root@ganglia ~]# cd hadoop-2.2.0-src
銆銆[root@ganglia hadoop-2.2.0-src]# ll
銆銆鎬葷敤閲 108
銆銆-rw-r--r--. 1 67974 users 9968 10鏈 7 2013 BUILDING.txt
銆銆drwxr-xr-x. 2 67974 users 4096 10鏈 7 2013 dev-support
銆銆drwxr-xr-x. 4 67974 users 4096 6鏈 9 17:05 hadoop-assemblies
銆銆drwxr-xr-x. 3 67974 users 4096 6鏈 9 17:27 hadoop-client
銆銆drwxr-xr-x. 9 67974 users 4096 6鏈 9 17:14 hadoop-common-project
銆銆drwxr-xr-x. 3 67974 users 4096 6鏈 9 17:26 hadoop-dist
銆銆drwxr-xr-x. 7 67974 users 4096 6鏈 9 17:20 hadoop-hdfs-project
銆銆drwxr-xr-x. 11 67974 users 4096 6鏈 9 17:25 hadoop-maprece-project
銆銆drwxr-xr-x. 4 67974 users 4096 6鏈 9 17:06 hadoop-maven-plugins
銆銆drwxr-xr-x. 3 67974 users 4096 6鏈 9 17:27 hadoop-minicluster
銆銆drwxr-xr-x. 4 67974 users 4096 6鏈 9 17:03 hadoop-project
銆銆drwxr-xr-x. 3 67974 users 4096 6鏈 9 17:05 hadoop-project-dist
銆銆drwxr-xr-x. 12 67974 users 4096 6鏈 9 17:26 hadoop-tools
銆銆drwxr-xr-x. 4 67974 users 4096 6鏈 9 17:24 hadoop-yarn-project
銆銆-rw-r--r--. 1 67974 users 15164 10鏈 7 2013 LICENSE.txt
銆銆-rw-r--r--. 1 67974 users 101 10鏈 7 2013 NOTICE.txt
銆銆-rw-r--r--. 1 67974 users 16569 10鏈 7 2013 pom.xml
銆銆-rw-r--r--. 1 67974 users 1366 10鏈 7 2013 README.txt
銆銆[root@ganglia hadoop-2.2.0-src]#
銆銆7錛屼慨鏀/root/hadoop-2.2.0-src/hadoop-common-project/hadoop-auth/pom.xml鏂囦歡錛屽炲姞錛岃ˉ涓佸唴瀹癸紝榪欓儴鍒嗘槸hadoop2.2.0鐨刡ug錛屽傛灉鏄鍏朵粬鐨2.x鐨勭増鏈錛屽彲浠ヨ嗘儏鍐佃屽畾錛屽唴瀹瑰備笅錛
銆銆Xml浠g爜
銆銆<dependency>
銆銆<groupId>org.mockito</groupId>
銆銆<artifactId>mockito-all</artifactId>
銆銆<scope>test</scope>
銆銆</dependency>
銆銆<!--鏂板炵殑鍐呭瑰紑濮 -->
銆銆<dependency>
銆銆<groupId>org.mortbay.jetty</groupId>
銆銆<artifactId>jetty-util</artifactId>
銆銆<scope>test</scope>
銆銆</dependency>
銆銆<!--鏂板炵殑鍐呭圭粨鏉 -->
銆銆<dependency>
銆銆<groupId>org.mortbay.jetty</groupId>
銆銆<artifactId>jetty</artifactId>
銆銆<scope>test</scope>
銆銆</dependency>
銆銆8錛屼慨鏀瑰畬姣曞悗錛屽洖鍒癶adoop-2.2.0-src鐨勮窡鐩褰曚笅鎵ц岀紪璇戞墦鍖呭懡浠:
銆銆Java浠g爜
銆銆mvn clean
銆銆mvn package -Pdist,native -DskipTests -Dtar
銆銆鐒跺悗絳夊緟鍗婁釜灝忔椂宸﹀彸鐨勭紪璇戞椂闂達紝緗戦熷揩鐨勮瘽錛屾椂闂村彲鑳戒細鏇寸煭錛岀紪璇戝畬鎴 緙栬瘧濂界殑hadoop鍖咃紝
銆銆Java浠g爜
銆銆[root@ganglia target]# pwd
銆銆/root/hadoop-2.2.0-src/hadoop-dist/target
銆銆[root@ganglia target]# ll
銆銆鎬葷敤閲 282348
銆銆緙栬瘧瀹屾垚鍚庣殑鏈鍦板簱錛屼綅浜庡備笅浣嶇疆錛屽苟鏌ョ湅鏈鍦板簱鏀鎸佷綅鏁幫細
銆銆鑷蟲わ紝鎴戜滑鐨勭紪璇戝凡緇忥紝鎴愬姛瀹屾垚錛岀劧鍚庯紝鎴戜滑灝卞彲浠ヤ嬌鐢ㄥ湪target鐩褰曚笅錛岀紪璇戠敓鎴愮殑hadoop鏂扮殑tar.gz鍖咃紝鏉ラ儴緗叉垜浠鐨刪adoop闆嗙兢銆
銆銆杞杞
Ⅱ CentOS6.8涓嬬紪璇戝畨瑁匞CC璇﹁В
鍏充簬 GCC 鍦 CentOS 涓嬮氳繃 yum 瀹夎呴粯璁ょ増鏈鍙鳳紝CentOS 5 鏄 4.1.2錛汣entOS 6 鏄 4.4.7錛汣entOS 7 鏄 4.8.3銆
寰堝氭椂鍊欏湪緙栬瘧瀹夎呰蔣浠墮兘闇瑕侀珮鐗堟湰鐨 GCC錛屽惁鍒欏氨浼氭姤閿欍
閭d箞濡備綍鍗囩駭 GCC 鐨勭増鏈鍛錛
棣栧厛瑕佺『璁ゅ崌綰у埌鐨 GCC 鐗堟湰鍙楓
鐩鍓 GCC 鐨勬渶鏂扮増宸茬粡鍒頒簡 5.2錛岃 CentOS 7 鍒欎緷鐒朵嬌鐢ㄥ叾 4.8錛屾墍浠ュ熀浜庡吋瀹規ц冭檻錛屾垜閫夋嫨鍗囩駭鍒 4.8.5銆
GCC 瀹樼綉錛https://gcc.gnu.org
涓嬮潰寮濮嬩竴姝ヤ竴姝ユ潵緙栬瘧瀹夎 GCC 4.8.5錛岄渶瑕佹敞鎰忕殑鏄錛屽湪緙栬瘧瀹夎 GCC 涔嬪墠錛岀郴緇熼噷蹇呴』鍏堣侀氳繃 yum 瀹夎呰佺増鏈鐨 GCC 鍜屼緷璧栧簱銆
濡傛灉鏄鍦 x86_64 緋葷粺涓嬬紪璇戠殑璇濓紝榪橀渶瑕佸畨瑁 libgcc.i686 glibc-devel.i686 鎵嶈屻
yuminstall-ygcctexinfo-texflexziplibgcc.i686glibc-devel.i686
娉ㄦ剰錛緙栬瘧瀹夎 GCC 鍐呭瓨涓嶅皬浜 1GB錛孲wap 涓嶅皬浜 1GB錛岀‖鐩樻渶浣庝笉灝忎簬 10GB錛屽惁鍒欐瀬鏈夊彲鑳戒細涓閫旀姤閿欓鍑恆
緙栬瘧瀹夎呭畬鍚庯紝鐩褰 gcc-4.8.5 灝嗕細鏈 5GB 涔嬪氥
1銆佷笅杞芥簮鐮
wgetftp://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gz
2銆佷笅杞戒緷璧栧寘
緙栬瘧瀹夎 GCC 闇瑕佷緷璧 mpc錛宮pfr錛実mp鍖呫傚ソ鍦 GCC 婧愮爜閲岃嚜甯﹁剼鏈鍙浠ヨ交鏉句笅杞戒緷璧栧寘銆
tarzxfgcc-4.8.5.tar.gz cdgcc-4.8.5 ./contrib/download_prerequisites
緙栬瘧鍜屽畨瑁
# cd gcc-4.8.1
#./gcc-4.8.1/configure--prefix=/usr/local/gcc-4.8.1 --enable-languages=c,c+
prefix=/usr/local/gcc-4.8.1琛ㄧず閰嶇疆瀹夎呯殑璺寰勶紝濡傛灉涓嶆寚瀹氬畨瑁呰礬寰勶紝鎵ц屾枃浠朵細榛樿ゆ斁鍦/usr/local/bin涓嬶紝榪欐牱鍋氭槸涓轟簡鏂逛究緇存姢錛屽綋闇瑕佸嵏杞芥椂錛岀洿鎺ュ垹闄よョ洰褰曞嵆鍙銆
enable-languages琛ㄧず瀹夎呰璦錛屽湪榪欓噷琛ㄧず鍙瀹夎卌鍜宑++
緙栬瘧
鍑嗗囧伐浣滃畬鎴愬悗錛屽氨鍙浠ョ紪璇戜簡
# make
姝よ繃紼嬪ぇ姒2灝忔椂宸﹀彸鍝︼紝濡傛灉涓閫旀姤閿欙紝鎻愮ずfatal error:gnu/stubs-32錛孨o such file or directory.濡備笅鍥劇ず錛
榪愯屼笅闈㈠懡浠わ紝鐒跺悗閲嶆柊緙栬瘧
# yum -y install glibc-devel.i686 --setopt=protected_multilib=false
# make
Ⅲ 怎麼測試centos安裝了hadoop
1、下載hadoop包
wget
2、tar xvzf hadoop-0.20.2.tar.gz
3、安裝JDK,從oracle網站上直接下載JDK,地址:
4、chmod +x jdk-6u21-linux-i586.bin;./jdk-6u21-linux-i586.bin,當前目錄下出現了jdk1.6.0_21目錄
5、配置java環境變數 vi /etc/profile
復制代碼代碼如下:
export JAVA_HOME=/root/src/hadoop/jdk1.6.0_21
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin
在終端下執行 source /etc/profile 使配置生效
6、可以用以下命令查看
顯示JAVA版本 java -vesion
復制代碼代碼如下:
echo $JAVA_HOME
which java
echo $PATH
echo $CLASSPATH
如果java -version沒有顯示你的JDK的版本,請檢查你的path的設置。
7、配置hadoop環境變數 vi /etc/profile
復制代碼代碼如下:
export HADOOP_INSTALL=/root/src/hadoop/hadoop-0.20.2
export PATH=$PATH:$HADOOP_INSTALL/bin
source /etc/profile 使配置生效
8、測試環境
hadoop version 顯示
Hadoop 0.20.2
Subversion -r 911707
Compiled by chrisdo on Fri Feb 19 08:07:34 UTC 2010
9、配置
hadoop每一個組件都使用一個XML文件配置,核心屬性在core-site.xml中,HDFS屬性在hdfs-site.xml中,MapRece屬性在mapred-site.xml中。這些文件都在conf子目錄下。
hadoop有本地模式、偽分布模式和完全分布模式三種,默認配置為本地模式,沒有守護進程,一切都運行在單個JVM上。
Ⅳ 如何部署hadoop分布式文件系統
一、實戰環境
系統版本:CentOS 5.8x86_64
JAVA版本:JDK-1.7.0_25
Hadoop版本:hadoop-2.2.0
192.168.149.128namenode (充當namenode、secondary namenode和ResourceManager角色)
192.168.149.129datanode1 (充當datanode、nodemanager角色)
192.168.149.130datanode2 (充當datanode、nodemanager角色)
二、系統准備
1、Hadoop可以從Apache官方網站直接下載最新版本Hadoop2.2。官方目前是提供了linux32位系統可執行文件,所以如果需要在64位系統上部署則需要單獨下載src 源碼自行編譯。(如果是真實線上環境,請下載64位hadoop版本,這樣可以避免很多問題,這里我實驗採用的是32位版本)
1234 Hadoop
Java
2、我們這里採用三台CnetOS伺服器來搭建Hadoop集群,分別的角色如上已經註明。
第一步:我們需要在三台伺服器的/etc/hosts裡面設置對應的主機名如下(真實環境可以使用內網DNS解析)
[root@node1 hadoop]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1localhost.localdomain localhost
192.168.149.128node1
192.168.149.129node2
192.168.149.130node3
(注* 我們需要在namenode、datanode三台伺服器上都配置hosts解析)
第二步:從namenode上無密碼登陸各台datanode伺服器,需要做如下配置:
在namenode 128上執行ssh-keygen,一路Enter回車即可。
然後把公鑰/root/.ssh/id_rsa.pub拷貝到datanode伺服器即可,拷貝方法如下:
ssh--id -i .ssh/id_rsa.pub [email protected]
ssh--id -i .ssh/id_rsa.pub [email protected]
三、Java安裝配置
tar -xvzf jdk-7u25-linux-x64.tar.gz &&mkdir -p /usr/java/ ; mv /jdk1.7.0_25 /usr/java/ 即可。
安裝完畢並配置java環境變數,在/etc/profile末尾添加如下代碼:
export JAVA_HOME=/usr/java/jdk1.7.0_25/
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVE_HOME/lib/dt.jar:$JAVE_HOME/lib/tools.jar:./
保存退出即可,然後執行source /etc/profile 生效。在命令行執行java -version 如下代表JAVA安裝成功。
[root@node1 ~]# java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
(注* 我們需要在namenode、datanode三台伺服器上都安裝Java JDK版本)
四、Hadoop版本安裝
官方下載的hadoop2.2.0版本,不用編譯直接解壓安裝就可以使用了,如下:
第一步解壓:
tar -xzvf hadoop-2.2.0.tar.gz &&mv hadoop-2.2.0/data/hadoop/
(注* 先在namenode伺服器上都安裝hadoop版本即可,datanode先不用安裝,待會修改完配置後統一安裝datanode)
第二步配置變數:
在/etc/profile末尾繼續添加如下代碼,並執行source /etc/profile生效。
export HADOOP_HOME=/data/hadoop/
export PATH=$PATH:$HADOOP_HOME/bin/
export JAVA_LIBRARY_PATH=/data/hadoop/lib/native/
(注* 我們需要在namenode、datanode三台伺服器上都配置Hadoop相關變數)
五、配置Hadoop
在namenode上配置,我們需要修改如下幾個地方:
1、修改vi /data/hadoop/etc/hadoop/core-site.xml 內容為如下:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"href=\'#\'" Put site-specific property overrides inthisfile. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.149.128:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop-${user.name}</value>
<description>A base forother temporary directories.</description>
</property>
</configuration>
2、修改vi /data/hadoop/etc/hadoop/mapred-site.xml內容為如下:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"href=\'#\'" Put site-specific property overrides inthisfile. -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>192.168.149.128:9001</value>
</property>
</configuration>
3、修改vi /data/hadoop/etc/hadoop/hdfs-site.xml內容為如下:
<?xml version="1.0"encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl"href=\'#\'" /name>
<value>/data/hadoop/data_name1,/data/hadoop/data_name2</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/data/hadoop/data_1,/data/hadoop/data_2</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
4、在/data/hadoop/etc/hadoop/hadoop-env.sh文件末尾追加JAV_HOME變數:
echo "export JAVA_HOME=/usr/java/jdk1.7.0_25/">> /data/hadoop/etc/hadoop/hadoop-env.sh
5、修改 vi /data/hadoop/etc/hadoop/masters文件內容為如下:
192.168.149.128
6、修改vi /data/hadoop/etc/hadoop/slaves文件內容為如下:
192.168.149.129
192.168.149.130
如上配置完畢,以上的配置具體含義在這里就不做過多的解釋了,搭建的時候不明白,可以查看一下相關的官方文檔。
如上namenode就基本搭建完畢,接下來我們需要部署datanode,部署datanode相對簡單,執行如下操作即可。
1 fori in`seq 129130` ; doscp -r /data/hadoop/ [email protected].$i:/data/ ; done
自此整個集群基本搭建完畢,接下來就是啟動hadoop集群了。
Ⅳ centos6 緙栬瘧鐨勭▼搴忛渶瑕佸湪 centos7涓婅繍琛屾姤閿 error while loading shared libraries: libgtop-2.0.so.7錛
寰堟e父錛岀己搴撳槢錛屾壘搴撳幓銆
鎵懼埌鎻愪緵榪欎釜搴撶殑rpm鍖咃紝鐒跺悗瀹夎呭嵆鍙錛屼竴鑸鍒拌繖鍎垮氨鍙浠ヨВ鍐抽棶棰樹簡銆傚傛灉榪欎釜搴撴槸娌℃湁鍙戝竷鐨勬壘涓嶅埌錛屾壘鎵懼師緋葷粺閲岀殑搴擄紝鍘熺郴鏃㈢劧鑳借繍琛岄偅灝卞簲璇ユ槸鏈夌殑錛岀洿鎺ユ墦鍖呮嫹璐濊繃鏉ワ紝娉ㄦ剰杞榪炴帴涓瀹氳佸厛鎵撳寘錛岃繍琛岀殑鏃跺欐寚瀹氬姞杞藉畠錛孡D_PRELOAD=/path/xxx.so./elf鏂囦歡錛屾垨鑰呭厛exportLD_LIBRARY_PATH=/path,鍐嶈繍琛宔lf鏂囦歡錛岃繖閲岀殑path鏄鎸囪繖涓搴撶殑璺寰勶紝鍦ㄩ潪甯歌勮礬寰勪笅鍙浠ヨ繖鏍鳳紝榪樺彲浠ラ厤緗甽d.so.conf,浣嗛潪甯擱潪甯鎬笉寤鴻榪欐牱鍋氾紙榪欑嶈捐礬寰勭殑鏂規硶鎻愰啋浜嗘垜榪樻湁涓縐嶆儏鍐墊槸浣犳湁榪欎釜搴擄紝浣嗘槸緋葷粺鎵句笉鍒幫紝鍚屾牱鐢ㄨ繖涓鍔炴硶瑙e喅錛夈傛渶鍚庡傛灉璇村洜涓篊XXABI涔嬬被鐨勭敤涓嶄簡錛屾簮閲屽張娌℃湁錛岄偅浣犲氨寰楁壘榪欎釜搴撶殑婧愮爜鍖呯紪浜嗐備篃涓嶆槸鍟ュぇ闂棰橈紝鎬諱箣紲濅綘濂借繍