好友
阅读权限 10
听众
最后登录 1970-1-1
本帖最后由 001user 于 2024-11-17 19:38 编辑
Hadoop集群部署(用到的教材Hadoop平台搭建与应用【人民邮电出版社-米洪 张鸰主编】)
准备三个节点(Centos 6.7)root用户
典型,内存2GB,处理器 2,硬盘30G 互相能ping通,都能上网 设置IP地址(设置为虚拟网络编辑器中NAT型网络的网段)
System->Preferences->Network Connections System eth0 ->IPv4 settings -> Method ->Manual 【address】:x.x.x.x 【Netmask】:x.x.x.x 【Gateway】:x.x.x.2 -Apply
关闭防火墙
System->Administration->Firewall
三个节点
/etc/hosts文件最后面 添加:
192.168.214.131 hadoop01
192.168.214.132 hadoop02
192.168.214.133 hadoop03 (设置主机名称为)修改/etc/sysconfit/network 文件,
(hadoop01)添加内容hadoop01
***(hadoop02)添加内容hadoop02 (hadoop03)添加内容hadoop03 *** 建目录:/export/servers 建目录:/export/software 把:“jdk-8u202-linux-x64.tar.gz”,“hadoop-2.7.4.tar.gz”,这两个文件,
拷贝到:/export/software目录下。 解压缩:tar -zxvf /export/software/jdk-8u202-linux-x64.tar.gz -C /export/servers/
解压缩:tar -zxvf /export/software/hadoop-2.7.4.tar.gz -C /export/servers/
WinSCP
会使用WinSCP工具,能在Linux和windows之间互传文件
三个节点
修改文件名:mv /export/servers/jdk1.8.0_202/ /export/servers/jdk 修改该文件内容:
/etc/profileexport JAVA_HOME=/export/servers/jdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 终端执行:source /etc/profile(每次更改/etc/profile文件后都需要source /etc/profile) 执行:java -version ‘‘‘解压缩: tar -zxvf /export/software/hadoop-2.7.4.tar.gz -C /export/servers/’’’ 在/etc/profile文件最后面,添加内容:
export HADOOP_HOME=/export/servers/hadoop-2.7.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin 执行:source /etc/profile 执行: hadoop version
辅助:Hadoop/JDK
hadoop官网:https://archive.apache.org/dist/hadoop/common/ JDK官网:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
三个节点
把国内镜像源文件:“Centos-vault-6.10.repo”,
拷贝到/etc/yum.repos.d/目录下 把yum.repos.d目录中原来的5个文件放到/export/目录 编辑文件:/etc/yum.conf,
在最下面加上一行:sslverify=false
Hadoop01
终端执行:yum repolist allyum clean allyum makecache 安装MySQL:yum install mysql mysql-server mysql-devel -y (启动:MySQL)/etc/init.d/mysqld start 连接mysql:用mysql命令 (输入命令:USE mysql)选择数据库服务器中的mysql数据库,为当前数据库。 输入命令:UPDATE user SET Password=PASSWORD('123456') WHERE user='root';(设置root用户的密码为:123456) 输入命令:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;(允许root用户,从远程进行登录) 输入命令:FLUSH PRIVILEGES;刷新权限,使刚刚设置的权限,生效
三个节点
时钟同步:
# 安装
ntpdatesudo yum install ntpdate -y
# 时间同步
sudo ntpdate -u cn.pool.ntp.org 服务器之间通过SSH互相访问:
1)通过ssh-keygen 生成key :ssh-keygen -t rsa 2)通过ssh-copy-id将一台服务器的公钥拷贝到其他需要访问它的服务器上去。
ssh-copy-id root@hadoop01
ssh-copy-id root@hadoop02
ssh-copy-id root@hadoop03
免密失败,自检措施
网络不通,可以检查:/etc/hosts/etc/sysconfig/network 检查这个yum源的目录:/etc/yum.repos.d
检查这个文件:/etc/yum.conf 还有:防火墙 还有虚拟网卡。(windows里面) 还有检查:System--> Preferences--> Network Connections
三个节点
在这个文件里面:/export/servers/hadoop-2.7.4/etc/hadoop/hadoop-env.sh
找到对应位置,修改值为export JAVA_HOME=/export/servers/jdk 在这个文件里面:/export/servers/hadoop-2.7.4/etc/hadoop/core-site.xml
完成对应配置:(将U盘中的core-site.xml替换掉文件中的相同文件)
配置内容如下:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property><property>
<name>hadoop.tmp.dir</name>
<value>/export/servers/hadoop-2.7.4/tmp</value>
</property></configuration>
在这个文件里面;/export/servers/hadoop-2.7.4/etc/hadoop/hdfs-site.xml
完成对应配置:(将U盘中的hdfs-site.xml替换掉文件中的相同文件)
配置内容如下:
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop02:50090</value>
</property>
</configuration>
在这个文件里面/export/servers/hadoop-2.7.4/etc/hadoop/mapred-site.xml
完成对应配置:(将U盘中的mapred-site.xml替换掉文件中的相同文件)
配置内容如下
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>8</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>8192</value>
</property>
<property>
<name>yarn.log.server.url</name>
<value>http://hadoop01:19888/jobhistory/logs/</value>
</property>
</configuration>
在这个文件里面/export/servers/hadoop-2.7.4/etc/hadoop/yarn-site.xml
完成对应配置:(将U盘中的yarn-site.xml替换掉文件中的相同文件)
配置内容如下
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property></configuration>
三个节点
在这个文件里面/export/servers/hadoop-2.7.4/etc/hadoop/slaves完成对应配置:
文件内容:hadoop01hadoop02hadoop03
Hadoop01
终端执行:hdfs namenode -format
三个节点
终端输入 cd /export/servers/hadoop-2.7.4/sbin
./start-dfs.sh ./start-yarn.sh 在火狐浏览器里输入URL:hadoop01:50070 在火狐浏览器里输入URL:hadoop01:8088(成功出现网页)
终端输入jps:看看节点数是否正常-Hadoop01:5个,Hadoop02:4个,Hadoop03:3个
三个节点
把“apache-hive-1.2.1-bin.tar.gz”这个文件,
拷贝到:/export/software目录下。 解压Hive, 命令如下:
tar -zxvf /export/software/apache-hive-1.2.1-bin.tar.gz -C /export/servers/
hadoop01
检查MySQL是否已经启动,如果未启动,则把MySQL启动起来:/etc/init.d/mysqld start (三个节点)上传MySQL连接驱动包“mysql-connector-java-5.1.32.jar”到Hive安装目录下(/export/servers/)的lib文件夹下. cd /export/servers/apache-hive-1.2.1-bin/bin启动hive:./hive 在文件/etc/profile里的最后面,增加这两行:
export HIVE_HOME=/export/servers/apache-hive-1.2.1-bin
export PATH=$PATH:$HIVE_HOME/bin source /etc/profile
hadoop01
在目录/export/servers/apache-hive-1.2.1-bin/conf下创建文件,
文件名为hive-env.sh,
文件内容为export HADOOP_HOME=/export/servers/hadoop-2.7.4(可以从U盘中拷到目录中)
(重要提示:如果扩展名为*.sh的文件,需设置文件属性为:可读、可写、可执行。) 在目录/export/servers/apache-hive-1.2.1-bin/conf里,
创建一个名称为:hive-site.xml的文件。(将U盘中的hive-site.xml放到目录下)
hive-site.xml配置文件源码:
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
<description>Mysql连接协议</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>JDBC连接驱动</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>用户名</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
<description>密码</description>
</property></configuration>
辅助:Hive
Hive官网:网址,下载:http://archive.apache.org/dist/hive/hive-1.2.1/
Hadoop01
切换到hive的bin目录里面去cd /export/servers/apache-hive-1.2.1-bin/bin
启动hive: ./hive Hive数据仓库的操作命令示例:show databases;
//use weblog;
show tables;
创建数据库:CREATE DATABASE IF NOT EXISTS suying_01 COMMENT "This is suying_01 database" LOCATION '/hive_db/create_db/' WITH DBPROPERTIES ("creator"="suying_01", "date"="2024-10-18"); 创建:内部表:create table emp(empno int,ename string,job string,mgr int,hiredate string,sal double,comm double,deptno int) row format delimited fields terminated by '\t'; 创建:外部表:create external table emp_external(empno int,ename string,job string,mgr int ,hiredate string,sal double,comm double,deptno int) row format delimited fields terminated by '\t' location '/hive_external/emp/'; 创建:分区表:CREATE TABLE order_partition(orderNumber STRING,Event_time STRING) PARTITIONED BY (event_month string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
知晓Hive的:分区表、分桶表、临时表、视图、索引。
三个节点
从ZooKeeper的官网,下载压缩包文件。https://archive.apache.org/dist/zookeeper/zookeeper-3.4.13/
(从U盘里把文件zookeeper-3.4.13.tar.gz拷贝到:/export/software目录下。) 解压:tar -zxvf /export/software/zookeeper-3.4.13.tar.gz -C /export/servers/ cd /export/servers/zookeeper-3.4.13/confcp zoo_sample.cfg zoo.cfg 在zoo.cfg文件里面,编辑以下内容:将本来的dataDir=... 注释掉
添加如下内容:
dataDir=/export/data/zookeeper/zkdata
server.1=hadoop01:2888:3888
server.2=hadoop02:2888:3888
server.3=hadoop03:2888:3888 终端输入:mkdir -p /export/data/zookeeper/zkdata
(创建目录/export/data/zookeeper/zkdata) cd /export/data/zookeeper/zkdata
(hadoop01里)echo 1 > myid
***(hadoop02里)echo 2 > myid
(hadoop03里)echo 3 > myid*** 修改/etc/profile/文件,
在最后面加上如下内容export ZK_HOME=/export/servers/zookeeper-3.4.10
export PATH=$PATH:$ZK_HOME/bin 终端输入:source /etc/profile cd /export/servers/zookeeper-3.4.13/bin
./zkServer.sh start
./zkServer.sh status(查看zookeeper的状态)
输入命令./zkCli.sh 进入zookeeper后,练习书上88页至90页的命令
辅助:Hbase
HBase的下载网址:http://archive.apache.org/dist/hbase/http://archive.apache.org/dist/hbase/1.2.1/我们选择:1.2.1版本。
三个节点
将下载的hbase安装包文件上传到/export/software(从U盘中拷到目录中) 解压缩:tar -zxvf /export/software/hbase-1.2.1-bin.tar.gz -C /export/servers/ 在/export/servers/hbase-1.2.1-bin./conf目录下,
编辑hbase-env.sh文件在文件中找到合适位置 “#export JAVA_HOME=....user...“,
在其下方加入内容:
# 指定JDK安装目录。
export JAVA_HOME=/export/servers/jdk
# 指定不使用内置的ZooKeeper
export HBASE_MANAGES_ZK=false 在/export/servers/hbase-1.2.1-bin./conf目录下,配置hbase-site.xml文件:
在<...> <...>之间加入一下内容
<property >
<name>hbase.rootdir</name>
<value>hdfs://hadoop01:9000/hbase</value>
</property>
<property >
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
</property> (重点注意:hdfs端口,在本实验系列中,设置在:9000端口。所以,上文的配置文件中,这句话,里面,有9000端口。<value>hdfs://hadoop01:9000/hbase</value>)
配置/export/servers/hbase-1.2.1-bin./conf目录下的regionservers(没有的话自己创建)
这个文件定义了:regionserver的主机名称。
将文件regionservers中的内容改为hadoop02hadoop03(注释掉自带的 localhost) 将 /export/servers/hadoop-2.7.4/etc/hadoop/目录下的文件core-site.xml和文件hdfs-site.xml ,
复制到 /export/servers/hbase-1.2.1/conf/目录下
(用于HBase启动时读取Hadoop的核心配置信息和HDFS配置信息。) 配置/etc/profile文件,
在文件末尾加如下内容:
export HBASE_HOME=/export/servers/hbase-1.2.1
export PATH=$PATH:$HBASE_HOME/bin source /etc/profile
Hadoop01
终端输入start-hbase.sh命令 ,启动HBase高可用集群
在火狐浏览器中输入URL:hadoop01:16010 (成功结果:出现网页)
cd /export/servers/hbase-1.2.1/bin
执行命令./hbase shell 练习教材P114页(之后)的命令
发帖前要善用【论坛搜索 】 功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。