
- Hadoop完全分布式配置文件
- 1、 core-site.xml 文件
- 2、 hdfs-site.xml文件
- 3、 yarn-site.xml 文件
- 4、 mapred-site.xml 文件
- 5、 slaves 文件
- 解题思路
- 修改主机的名字、免密服务、网络映射和防火墙设置
- 1、修改用户名字
- 2、免密服务
- 3、防火墙设置
- 安装hadoop生态文件
- 1、解压
- 2、配置环境变量
- 3、更新环境变量
- 配置文件设置
- 启动hadoop准备
- 开机的自启动
- 1、添加hadoop服务
- Mysql安装配置
- 1、安装mysql
- 2、做好环境配置
- 3、查看密码
- 4、登录mysql
- 5、配置好hive需要用的设置
- 单机hive
- 1、解压
- 2、环境配置
- 3、测试启动
- 集成hive
- 1、配置hive连接mysql设置
- 2、初始化hivemysql
- 3、登录beeline,查看mysql数据表
注:这里的版本hadoop为2.7.7,hive为2.3.4,mysql为5.7
(这里可以配置文件可以单独使用为伪分布)
管理员应该使用
etc/hadoop/hadoop-env.sh
和可选的
etc/hadoop/mapred-env.sh和etc/hadoop/yarn-env.sh脚本
来对 Hadoop 守护进程的进程环境进行站点特定的定制。
至少,
您必须指定JAVA_HOME以便在每个远程节点上正确定义它。
本节涉及要在给定配置文件中指定的重要参数
1、 core-site.xml 文件2、 hdfs-site.xml文件fs.defaultFS hdfs://master:8020 hadoop.tmp.dir /hadoop/tmp io.file.buffer.size 131072
3、 yarn-site.xml 文件dfs.namenode.secondary.http-address master:50090 dfs.namenode.http-address master:50070 dfs.namenode.name.dir /hadoop/name dfs.datanode.data.dir /hadoop/data dfs.replication 3 dfs.blocksize 268435456 dfs.namenode.handler.count 100
4、 mapred-site.xml 文件yarn.log-aggregation-enable true yarn.resourcemanager.hostname master yarn.resourcemanager.scheduler.address master:8080 yarn.resourcemanager.resource-tracker.address master:8081 yarn.resourcemanager.webapp.address master:8088 yarn.nodemanager.aux-services mapreduce_shuffle
5、 slaves 文件mapreduce.framework.name yarn mapreduce.reduce.memory.mb 3072 mapreduce.reduce.shuffle.parallelcopies 50 mapreduce.jobhistory.address master:10020 mapreduce.jobhistory.webapp.address master:19888
master slave1 slave2解题思路 修改主机的名字、免密服务、网络映射和防火墙设置 1、修改用户名字
[root@master ~]# vi /etc/hostname
删除内容后改为
你需要的名字(方便记忆),修改后重启机器
2、免密服务1、生成密钥
[root@master ~]# ssh-keygen
第一次直接回车三次
其他情况具体分析
进入到 { ~/.ssh} 目录
[root@master ~]# cd ~/.ssh
2、拷贝公钥
[root@master .ssh]# cat id_rsa.pub >> authorized_keys [root@master .ssh]# scp authorized_keys 主机名字@IP地址:~/.ssh
注:每一台机器都要输入生成密钥命令。第一台机器拷贝公钥后,发送到下一台,最后一台拷贝完公钥后,再把公钥分发所有的机器。
3、 网络映射
[root@master .ssh]# vi /etc/hosts
添加一下内容(在文本最下面,有多少个免密就写多少个)
伪分布就写localhost
IP地址 主机名字3、防火墙设置
第一种:
禁用防火墙
[root@master ~]# systemctl stop firewalld [root@master ~]# systemctl diable firewalld
第二种:
# 添加端口 [root@master ~]# firewall-cmd --add-port=10050/tcp --permanent # (永久生效,没有此参数重启后失效) # 重新载入防火墙 [root@master ~]# firewall-cmd --reload # 查看端口是否开启 [root@master ~]# firewall-cmd --list-all安装hadoop生态文件 1、解压
有什么需要的就解压什么
[root@master h3cu_2021]# tar xf hadoop-2.7.7.tar.gz -C /usr/local/src/ [root@master h3cu_2021]# tar xf jdk-8u144-linux-x64.tar.gz -C /usr/local/src/2、配置环境变量
[root@master h3cu_2021]# vi /etc/profile
在文本最下面添加变量
export JAVA_HOME=/usr/local/src/java export HADOOP_HOME=/usr/local/src/hadoop export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:
保存退出
3、更新环境变量[root@master h3cu_2021]# . /etc/profile配置文件设置
根据上面的Hadoop配置文件添加内容
启动hadoop准备格式化namenode
[root@master h3cu_2021]# hdfs namenode -format
启动hadoop
[root@master h3cu_2021]# start-all.sh
启动historyserver(这个可以看到历史任务)
[root@master h3cu_2021]# mr-jobhistory-daemon.sh start historyserver
查看节点
[root@master h3cu_2021]# jps
master:
slave1、slave2:
开机的自启动 1、添加hadoop服务[root@master h3cu_2021]# vi /usr/lib/systemd/system/hadoop.service
[Unit] Description=hadoop After=network.target [Service] Type=forking ExecStart=/usr/local/src/hadoop/sbin/start-all.sh ExecStop=/usr/local/src/hadoop/sbin/stop-all.sh PrivateTmp=true [Install] WantedBy=multi-user.target
[root@master system]# chmod +x hadoop.service # 添加权限 [root@master system]# systemctl start hadoop # 启动 [root@master system]# systemctl stop hadoop # 停止 [root@master system]# systemctl enable hadoop # 自启动Mysql安装配置 1、安装mysql
这里基于rpm安装
[root@master mysql-5.7.18]# rpm -ivh *.rpm --nodeps --force2、做好环境配置
启动后自动会初始化密码
[root@master mysql-5.7.18]# systemctl start mysqld
这里顺便添加自启动
[root@master mysql-5.7.18]# systemctl enable mysqld3、查看密码
[root@master mysql-5.7.18]# grep 'temporary password' /var/log/mysqld.log 2021-12-20T13:02:34.360237Z 1 [Note] A temporary password is generated for root@localhost: lxBDI&H:u1qe4、登录mysql
[root@master mysql-5.7.18]# mysql -uroot -p
输入查询到的密码
修改密码后才能正常使用
mysql> alter user 'root'@'localhost' identified by 'Mzj_311';5、配置好hive需要用的设置
查看当前编码
mysql> show variables like 'character_set_database';
创建用户
mysql> create user 'hive'@'localhost' identified by 'Hive_311';
创建数据库
mysql> create database contest charset=utf8;
赋予权限hive用户权限
mysql> grant all privileges on contest.* to 'hive'@'%' identified by 'Hive_311';
刷新权限,将以上 *** 作生效
mysql> flush privileges;单机hive 1、解压
[root@master h3cu_2021]# tar xf apache-hive-2.3.9-bin.tar.gz -C /usr/local/src/2、环境配置
设置环境变量
[root@master h3cu_2021]# vi /etc/profile
在最后添加下面内容
export HIVE_HOME=/usr/local/src/hive export PATH=$PATH:$HIVE_HOME/bin:
刷新变量
[root@master h3cu_2021]# . /etc/profile
删除一个jline包(hadoop,这里有可能有一些版本的没有)
[root@master h3cu_2021]# rm -rf /usr/local/src/hadoop/share/hadoop/yarn/lib/3、测试启动
初始化元数据
[root@master hive]# schematool -dbType derby -initSchema
启动hive
[root@master hive]# hive集成hive 1、配置hive连接mysql设置
直接新建修改
[root@master conf]# vi /usr/local/src/hive/conf/hive-site.xml
javax.jdo.option.ConnectionURL jdbc:mysql://localhost:3306/contestcreateDatabaseIfNotExist=true&serverTimezone=GMT&useSSL=false javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver javax.jdo.option.ConnectionUserName hive javax.jdo.option.ConnectionPassword 密码
这里可以把log4j打开(也可以不打开)
[root@master conf]# vi hive-log4j2.properties2、初始化hivemysql
找到mysql连接jar包,复制到hive/lib目录下
[root@master h3cu_2021]# cp mysql-connector-java-5.1.47.jar /usr/local/src/hive/lib/
初始化mysql
[root@master conf]# schematool -initSchema -dbType mysql3、登录beeline,查看mysql数据表
进入到hive目录下
[root@master conf]# hiveserver2 &
运行了hiveserver2,不要关闭,然后在另一个会话窗口打开,也可以后台运行
[root@master conf]# beeline
输入beeline后,在当前的beeline界面输入
!connect jdbc:mysql://localhost:3306
然后输入用户名
hive
在输入用户名的当前密码
Hive_311
然后就登录了mysql命令行
接下来就可以使用mysql命令了。
1]# cp mysql-connector-java-5.1.47.jar /usr/local/src/hive/lib/
初始化mysql ```shell [root@master conf]# schematool -initSchema -dbType mysql
进入到hive目录下
[root@master conf]# hiveserver2 &
运行了hiveserver2,不要关闭,然后在另一个会话窗口打开,也可以后台运行
[root@master conf]# beeline
输入beeline后,在当前的beeline界面输入
!connect jdbc:mysql://localhost:3306
然后输入用户名
hive
在输入用户名的当前密码
Hive_311
然后就登录了mysql命令行
接下来就可以使用mysql命令了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)