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涔嬬被镄勭敤涓崭简锛屾簮閲屽张娌℃湁锛岄偅浣犲氨寰楁垒杩欎釜搴撶殑婧愮爜鍖呯紪浜嗐备篃涓嶆槸鍟ュぇ闂棰桡纴镐讳箣绁濅綘濂借繍