-》修改网卡文件
- vi /etc/sysconfig/network-scripts/ifcfg-eth0
vi /etc/sysconfig/network-scripts/ifcfg-ens33(centos 7)
- ONBOOT=yes 表示开机自动启动网卡服务
- BOOTPROTO=static 静态IP
- IPADDR=192.168.109.12
- NETMASK=255.255.255.0
- DNS1=192.168.109.2
- GATEWAY=192.168.109.2
- 保存按住shift + zz
- 重启网卡服务
- service network restart
systemctl restart network (centos 7)
-》修改主机名文件
- vi /etc/sysconfig/network
vi /etc/hostname(centos7)
-》配置ip映射
- vi /etc/hosts
-》用root用户创建一个普通用户,利用命令: visudo 将用户添加到 sudo 列表中
-》配置完以上信息使用reboot命令重启一下
-》windows的hosts也要做一下ip映射
-》检查系统是否自带了oracle jdk,如果带了就删除掉
- rpm -qa | grep 'java' 查询centos安装了哪些rpm软件包
- rpm -e --nodeps ... 卸载rpm包,--nodeps是卸载的时候不考虑依赖
- rpm -ivh 软件包的路径 安装rpm包
-》sudo yum install -y lrzsz 安装上传下载工具,方便windows和linux之间的文件传输
-》使用rz命令把windows上的jdk软件包上传到linux系统
-》使用tar -zxvf jdk-8u151-linux-x64.tar.gz -C /opt/modules命令解压安装包
-》使用vi /etc/profile命令编辑这个文件,修改内容如下:
export JAVA_HOME=/opt/modules/jdk1.8.0_151
export PATH=$PATH:$JAVA_HOME/bin
-》使用shift + zz保存并退出 profile文件
-》使用source /etc/profile命令使profile文件生效
-》使用java -version命令验证,如果显示如下,说明配置成功:
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
1、解压Hadoop到指定目录下
tar -zxvf hadoop-2.5.0.tar.gz -C /opt/modules/
2. 清理Hadoop的目录,将hadoop/share/doc目录删除,节省磁盘空间,通过这个命令查看df -h,第一次安装
不用考虑。
3. 修改hadoop/etc/hadoop/hadoop-env.sh文件
修改hadoop/etc/hadoop/mapred-env.sh文件
修改hadoop/etc/hadoop/yarn-env.sh文件
指定Java安装路径
export JAVA_HOME=/opt/modules/jdk1.7.0_67 ---------------------- 根据自己的路径
4. 注意:hadoop中的四个核心模块对应四个默认配置文件
指定默认的文件系统为HDFS,文件系统的访问入口,namenode所在的机器
9000端口是早期Hadoop 1.x使用的,现在Hadoop 2.x使用的是8020
端口号用于节点直接内部通信,使用RPC通信机制
5. 在 /opt/modeules/hadoop 文件夹下创建 data/tmp 文件夹 ----------- HDFS的NameNode和
datanode的工作目录
修改hadoop/etc/hadoop/core-site.xml文件:
6. 注意:/tmp表示临时存储目录,系统每次重启会按照脚本预先设置好的删除里面的文件
重新自定义系统生成的文件路径,/tmp会被清空,无法保证数据文件安全性
7. 修改hadoop/etc/hadoop/hdfs-site.xml文件
指定HDFS文件存储的副本数个数,默认是3个,这里是单台机器就设置为1,这个数字要小于datanode的节点数
8. 修改hadoop/etc/hadoop/slaves文件
指定从节点的机器位置,添加主机名即可
hostname 比如本机名: coder
9. 格式化namenode
bin/hdfs namenode -format ----------- hadoop 文件夹下执行
10. 启动命令
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
sbin/hadoop-daemon.sh start secondarynamenode
11. 查看HDFS外部UI界面
bigdata-04或者IP地址 跟上50070端口号,外部通信http
dfs.namenode.http-address 50070
-------- 注意:如果无法打开 ?
请关闭 防火墙与防火墙的自启服务
12. 测试HDFS环境
创建文件夹,HDFS中有用户主目录的概念,和Linux一样
bin/hdfs dfs -mkdir -p wordcount/iuput
13. 上传文件到HDFS
bin/hdfs dfs -put etc/hadoop/core-site.xml / ---------- 后面的 / 不能省略
14. 读取HDFS的文件
bin/hdfs dfs -text /core-site.xml
15. 下载文件到本地(指定下载到哪里,同时可以重命名成get-site.xml)
bin/hdfs dfs -get /core-site.xml /home/beifeng/get-site.xml
1. 首先找到hadoop/etc/hadoop/mapred-site.xml.template文件,重名为mapred-site.xml
修改hadoop/etc/hadoop/mapred-site.xml文件
2. 修改hadoop/etc/hadoop/yarn-site.xml文件
3. 启动yarn
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
4、 查看yarn外部web界面
bigdata-04或者IP地址 跟上8088端口号,外部通信http
例: http://ai07-server1:8088
1、历史服务器:查看已经运行完成的应用
修改mapred-site.xml
指定historyserver的地址,内部和外部通信端口号,如果不指定默认是本机
historyserver是一个轻量级的服务,可以部署在任意一台节点上
2、配置(在mapred-site.xml中):
注意:这里的端口号不能随便修改
mapreduce.jobhistory.address
主机名:10020
mapreduce.jobhistory.webapp.address
主机名:19888
3、 重新启动 yarn 平台服务( 关闭 > 启动 )
1.修改yarn-site.xml
指定开启聚合功能
指定日志存放在HDFS上的时间期限,一般建议3-7天左右,存放在HDFS的/tmp/logs/username之下
yarn.log-aggregation-enable
true
yarn.log-aggregation.retain-seconds
106800
2.重启yarn进程 sbin/yarn-daemon.sh .........
3.启动历史日志服务命令: sbin/mr-jobhistory-daemon.sh start historyserver
取消HDFS权限检测功能:让HDFS所有的用户都能访问所有的HDFS文件,默认是 true
1.修改hdfs-site.xml
dfs.permissions.enabled
false
https://blog.csdn.net/qq_16555103/article/details/87949563 ------------ 第二节
1、必须要有Hadoop伪分布式环境
2、首先把hive的安装包上传到/opt/softwares/,并解压到/opt/modules/
3、复制一份 hive/conf目录 hive-env.sh.template文件,并重命名为 hive-env.sh,操作如下
-》cp /etc/modules/hive-1.2.1-bin/conf/hive-env.sh.template /etc/modules/hive-1.2.1-bin/conf/hive-env.sh
4、配置hive-env.sh文件,内容如下:
# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=/opt/modules/hadoop-2.7.3 # hadoop的目录路径
# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/opt/modules/hive-1.2.1-bin/conf # hive配置文件目录 conf 路径
5、接下来在HDFS上创建2个目录,命令如下:
执行下面的命令,要启动下HDFS,使用命令:sbin/start-dfs.sh
bin/hdfs dfs -mkdir /tmp -------- 目录已存在无需创建
bin/hdfs dfs -mkdir -p /user/hive/warehouse --------- 创建Hive默认的工作目录
下面命令在赋予文件的用户组写权限
bin/hdfs dfs -chmod -R g+w /tmp
bin/hdfs dfs -chmod -R g+w /user/hive/warehouse
6、设置hive显示当前使用的数据库,并打印表头等相关信息
永久生效:
一、
(1)进入hive安装目录的conf目录下,创建如下 .hiverc 隐藏文件。
(2)编辑 .hiverc文件,输入如下命令:
set hive.cli.print.current.db=true;
set hive.cli.print.header=true;
(3)重新启动 hive会话界面即可显示使用数据库名称 ,打印信息显示了相关字段。
二、本章后面详情
启动hadoop:hadoop目录下
sbin/start-all.sh ------ 需要ssh免密登陆
sbin/mr-jobhistory-daemon.sh start historyserver
启动Hive:Hive目录下
bin/hive
centos7安装mysql : https://blog.csdn.net/qq_16555103/article/details/88076369
1、检查系统是否已经安装了mysql
-》sudo rpm -qa | grep 'mysql'
2、如果已经安装了mysql,那么卸载掉
-》sudo rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64
3、从yum源安装mysql
-》sudo yum install -y mysql-server
4、启动mysql服务进程
-》sudo service mysqld start
-》sudo chkconfig mysqld on 设置mysql的服务开机自动启动
5、启动mysqld服务的时候,有以下提示信息:
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h ai7-server1 password 'new-password'
6、设置mysql的root用户的登录密码
-》mysqladmin -u root password '123456'
7、登录mysql
-》mysql -uroot -p123456
8、为mysql设置远程用户登录的权限
-》show databases;
-》use mysql;
-》select user,host from user;
-》grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
任何节点以root用户身份都可以使用123456这个密码登录mysql,允许访问mysql下的任何库的任意表
-》 delete from user where host='localhost';
delete from user where host='ai7-server1';
delete from user where host='127.0.0.1';
-》删除后的结果:
- select user,host from user;
+------+------+
| user | host |
+------+------+
| root | % |
+------+------+
1 row in set (0.00 sec)
-》刷新信息
- flush privileges;
-》mysql的服务重新启动
- sudo service mysqld restart(在linux命令行使用,先退出mysql)
配置mysql为hive元数据库的原因:hive 默认将元数据存储到derby中,derby不支持所用户同时访问
配置MYSQL作为Hive的元数据库
-----------------------------------------------------------------
1、可以参考官网文档配置:https://cwiki.apache.org/confluence/display/Hive/AdminManual+Metastore+Administration
2、cd /opt/modules/hive-1.2.1-bin/conf 这个目录下
3、cp hive-default.xml.template hive-site.xml 复制文件并重命名
4、修改hive-site.xml配置文件,修改内容如下:
javax.jdo.option.ConnectionURL
jdbc:mysql://ai7-server1/meta?createDatabaseIfNotExist=true
------- 其中 meta是mysql中管理元数据的库名,可以自定义
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
javax.jdo.option.ConnectionUserName
root
javax.jdo.option.ConnectionPassword
123456
hive.cli.print.current.db
true
hive.cli.print.header
true
5、把MYSQL的驱动jar包放到/opt/modules/hive-1.2.1-bin/lib这个目录下
-》cp mysql-connector-java-5.1.27-bin.jar /opt/modules/hive-1.2.1-bin/lib/
6、配置hive log日志的目录
-》创建log目录:hive目录下 mkdir logs
-》cd /opt/modules/hive-1.2.1-bin/conf/
-》cp hive-log4j.properties.template hive-log4j.properties
修改 hive-log4j.properties 文件 -------- 指定logs的目录路径
-》hive.log.dir=/opt/modules/hive-1.2.1-bin/logs
7、重启hive:
hive目录下:bin/hive
------------------------------------------------- 完全 卸载mysql ------------------------------------------------
完全卸载mysql步骤
-》rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64
-》删除3个配置文件:
- /var/lib/mysql
- /usr/bin/mysql
- /etc/my.cnf
注意:在搭建完 伪分布式的前提下
https://blog.csdn.net/qq_16555103/article/details/88042766