Hadoop集群搭建-05安装配置YARN
Hadoop集群搭建-04安装配置HDFS
Hadoop集群搭建-03编译安装hadoop
Hadoop集群搭建-02安装配置Zookeeper
Hadoop集群搭建-01前期准备
hadoop 的编译和安装是直接在一台机器上搞得,姑且 nn1 机器。
全程切换到 root 用户下操作
1.hadoop 的一些资源在这里:https://www.lanzous.com/b849710/ 密码:9vui
[hadoop@nn1 zk_op]$ su - root[root@nn1 ~]# mkdir /tmp/hadoop_c[root@nn1 ~]# cd /tmp/hadoop_c/用xshell的rz命令上传源码包到上面的目录。[root@nn1 hadoop_c]# tar -xzf /tmp/hadoop_c/hadoop-2.7.3-src.tar.gz -C /usr/local/
复制代码
yum 安装一下乱七八糟要用到的软件和插件
yum -y install svn ncurses-devel gcc* lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel bzip2
复制代码
2.编译安装 protobuf,谷歌的通信和存储协议,必须要用
[root@nn1 ~]# tar -zxf protobuf-2.5.0.tar.gz -C /usr/local/[root@nn1 ~]# cd /usr/local/protobuf-2.5.0进行编译安装[root@nn1 protobuf-2.5.0]# ./configure[root@nn1 protobuf-2.5.0]# make && make install[root@nn1 protobuf-2.5.0]# protoc --version
复制代码
3.解压安装 ant
[root@nn1 hadoop_c]# tar -xf apache-ant-1.9.9-bin.tar.bz2 -C /usr/local/
复制代码
4.解压安装 findbugs
[root@nn1 hadoop_c]# tar -zxf apache-ant-1.9.9-bin.tar.bz2 -C /usr/local/
复制代码
5.解压安装 maven
因为咱的 hadoop 在后边是用 maven 编译的。
[root@nn1 hadoop_c]# tar -zxf apache-maven-3.3.9-bin.tar.gz -C /usr/local/
复制代码
6.编译安装 snappy,谷歌的压缩算法
[root@nn1 hadoop_c]# tar -xzf snappy-1.1.3.tar.gz -C /usr/local/[root@nn1 hadoop_c]# cd /usr/local/snappy-1.1.3/[root@nn1 snappy-1.1.3]# ./configure[root@nn1 snappy-1.1.3]# make && make install
复制代码
7.确保已经安装 jdk8
8.在环境变量中添加 hadoop 编译所需的各种软件的变量
[root@nn1 snappy-1.1.3]# vim /etc/profile#set Hadoop_compileexport MAVEN_HOME=/usr/local/apache-maven-3.3.9export FINDBUGS_HOME=/usr/local/findbugs-3.0.1export PROTOBUF_HOME=/usr/local/protobuf-2.5.0export ANT_HOME=/usr/local/apache-ant-1.9.9export PATH=$PATH:$MAVEN_HOME/bin:$FINDBUGS_HOME/bin:$ANT_HOME/binexport MAVEN_OPTS="-Xmx2g -XX:MaxMetaspaceSize=512M -XX:ReservedCodeCacheSize=512m"
复制代码
让环境变量生效:[root@nn1 snappy-1.1.3]# source /etc/profile查看maven版本[root@nn1 snappy-1.1.3]# mvn -vApache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)Maven home: /usr/local/apache-maven-3.3.9Java version: 1.8.0_144, vendor: Oracle CorporationJava home: /usr/java/jdk1.8.0_144/jreDefault locale: zh_CN, platform encoding: UTF-8OS name: "linux", version: "3.10.0-957.21.3.el7.x86_64", arch: "amd64", family: "unix"[root@nn1 snappy-1.1.3]#
复制代码
9.更改 maven 的 settings.xml 文件,更改仓库,配置本地仓库位置
[root@nn1 hadoop_c]# cd /usr/local/apache-maven-3.3.9/conf/[root@nn1 conf]# cp settings.xml settings.xml.bak[root@nn1 conf]# rm -rf settings.xml[root@nn1 conf]# cp /tmp/hadoop_c/settings.xml settings.xml
复制代码
可以直接用上边网盘里弄好的配置文件主要修改了:<!-- 本地仓库 --> <localRepository>/data/maven/repositories</localRepository>和远程仓库<mirror> <id>huaweicloud</id> <mirrorOf>central</mirrorOf> <url>https://repo.huaweicloud.com/repository/maven/</url> </mirror> <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror> <mirror> <id>maven</id> <name>MavenMirror</name> <url>http://repo1.maven.org/maven2/</url> <mirrorOf>central</mirrorOf> </mirror>
复制代码
把网盘里的 maven 离线仓库下载解压成如下路径/data/maven/repositories/各种 jar 包
下边开始用 maven 编译 hadoop 源码
[root@nn1 conf]# cd /usr/local/hadoop-2.7.3-src/[root@nn1 hadoop-2.7.3-src]# nohup mvn clean package -Pdist,native -DskipTests -Dtar -Dbundle.snappy -Dsnappy.lib=/usr/local/lib > /tmp/hadoop_log 2>&1 &
复制代码
nohup 命令用来让任务在后台运行,这里重定向输出到了日志文件,这里通过查看日志文件来监控安装进程。
[root@nn1 hadoop-2.7.3-src]# tail -f /tmp/hadoop_log
复制代码
10.编译完成后就会在/usr/local/hadoop-2.7.3-src/hadoop-dist/target/下生成一个 tar.gz 的包,把这个包 cp 到我们的 home,然后批量发送给其他 4 台机器。
[root@nn1 ~]# exit登出[hadoop@nn1 ~]$ cp /usr/local/hadoop-2.7.3-src/hadoop-dist/target/hadoop-2.7.3.tar.gz ~/[hadoop@nn1 hadoop_base_op]$ ./scp_all.sh ../hadoop-2.7.3.tar.gz /tmp/
复制代码
11.把 5 台机器的 tar 包批量解压到各自的/usr/local/下
[hadoop@nn1 hadoop_base_op]$ ./ssh_root.sh tar -zxf /tmp/hadoop-2.7.3.tar.gz -C /usr/local/修改文件用户和权限[hadoop@nn1 hadoop_base_op]$ ./ssh_all.sh chmod -R 770 /usr/local/hadoop-2.7.3[hadoop@nn1 hadoop_base_op]$ ./ssh_root.sh ln -s /usr/local/hadoop-2.7.3 /usr/local/hadoop
复制代码
这时候 hadoop 就安装结束了,检查一下是否正确安装
[hadoop@s1 ~]$ source /etc/profile[hadoop@s1 ~]$ hadoop checknative19/07/22 15:37:25 INFO bzip2.Bzip2Factory: Successfully loaded & initialized native-bzip2 library system-native19/07/22 15:37:25 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib libraryNative library checking:hadoop: true /usr/local/hadoop-2.7.3/lib/native/libhadoop.so.1.0.0zlib: true /usr/lib64/libz.so.1snappy: true /usr/local/hadoop-2.7.3/lib/native/libsnappy.so.1lz4: true revision:99bzip2: true /usr/lib64/libbz2.so.1openssl: true /usr/lib64/libcrypto.so
复制代码
如果提示 hadoop 是未知命令,那么就要查看环境变量是否正确配置,然后可以重新 source 一下环境变量。
评论