开始运行MYSQL 5.7 作者: 王十三 时间: 2018-01-03 分类: 服务器运维 评论 参考文档 > http://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html 编辑my.cnf [mysqld] 下面增加 > sql_mode='ONLY_FULL_GROUP_BY,NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT,ANSI_QUOTES' 运行 MYSQL : > /etc/init.d/mysqld start > > mysql -uroot -p > JSON查询方法: > JSON_EXTRACT(json_doc, path[, path] ... 普通查询 mysql> SELECT JSON_EXTRACT('{"a":1,"b":0}','$.a') AS json ; +------+ | json | +------+ | 1 | +------+ 1 row in set (0.00 sec) 数组查询 mysql> SELECT JSON_EXTRACT('[10,20,30]','$[*]') AS json ; +--------------+ | json | +--------------+ | [10, 20, 30] | +--------------+ 1 row in set (0.00 sec) 查询数组 键值 内容 mysql> SELECT JSON_EXTRACT('{"a":1,"b":0,"c":[10,20,30]}','$.c[1]') AS json ; +------+ | json | +------+ | 20 | +------+ 1 row in set (0.00 sec) > JSON_SEARCH(json_doc, one_or_all, search_str[, escape_char[, path] ...]) > > one_or_all : one or all > > PS:适用于搜索数组 搜索数组 SELECT JSON_SEARCH('["1","0",["10","20","30"]]','one','1') AS json ; 结合JSON_EXTRACT SELECT JSON_SEARCH(JSON_EXTRACT('{"a":1,"b":0,"c":["10","20","30"]}','$.c'),'all','10') AS json ;
MYSQL 安装过程 作者: 王十三 时间: 2018-01-03 分类: 安装过程 评论 本次需要安装MYSQL 关系型数据库。 主要是要支持JSON的数据格式。 > 参考文档: http://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html > 安装环境: Vagrant Centos 6.7 下载MYSQL 配置 # wget http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm # yum localinstall ./mysql57-community-release-el6-7.noarch.rpm # yum install mysql-community-server 修改ROOT密码 MYSQL 5.7 密码验证非常严格。 > /etc/my.cnf [mysqld] 下面增加 > skip-grant-tables > > update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost'; //修改密码 > > update mysql.user set Host='%' where user='root' //不限制外部连接 > > flush privileges; 还原 my.cnf 文件 关闭防火墙 > /etc/selinux/config > > SELINUX=disabled > > setenforce 0 //临时生效 MYSQL Error : 2013 > SQL Error (2013): Lost connection to MySQL server at 'waiting for initial communication packet', system error: 0 vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT service iptables restart 个人配置 # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -i eth0 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT -A FORWARD -p icmp -j ACCEPT -A FORWARD -i lo -j ACCEPT -A FORWARD -i eth0 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
MYSQL 安装过程 作者: 王十三 时间: 2018-01-03 分类: 安装过程 评论 本次需要安装MYSQL 关系型数据库。 主要是要支持JSON的数据格式。 > 参考文档: http://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html > 安装环境: Vagrant Centos 6.7 下载MYSQL 配置 # wget http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm # yum localinstall ./mysql57-community-release-el6-7.noarch.rpm # yum install mysql-community-server 修改ROOT密码 MYSQL 5.7 密码验证非常严格。 > /etc/my.cnf [mysqld] 下面增加 > skip-grant-tables > > update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost'; //修改密码 > > update mysql.user set Host='%' where user='root' //不限制外部连接 > > flush privileges; 还原 my.cnf 文件 关闭防火墙 > /etc/selinux/config > > SELINUX=disabled > > setenforce 0 //临时生效 MYSQL Error : 2013 > SQL Error (2013): Lost connection to MySQL server at 'waiting for initial communication packet', system error: 0 vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT service iptables restart 个人配置 # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -i eth0 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT -A FORWARD -p icmp -j ACCEPT -A FORWARD -i lo -j ACCEPT -A FORWARD -i eth0 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
Mongodb 安装过程 作者: 王十三 时间: 2017-06-01 分类: 安装过程 评论 本次需要安装MongODB 文档型数据库。 主要是要支持JSON的数据格式。 > 参考文档: https://docs.mongodb.org/master/tutorial/install-mongodb-on-red-hat/ > 安装环境: Vagrant Centos 6.7 首先配置 Centos 的repo [mongodb-org-3.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/ gpgcheck=0 enabled=1 确定安装 Mongodb 3.2.3 yum install -y mongodb-org-3.2.3 mongodb-org-server-3.2.3 mongodb-org-shell-3.2.3 mongodb-org-mongos-3.2.3 mongodb-org-tools-3.2.3 启动Mongodb /etc/init.d/mongodb restart 开放端口 iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT 初始化用户 # mongo # use admin # db.createUser({user:'root',pwd:'root',roles:['readWrite','dbAdmin']}) 外部连接 > mongodb.conf > #bind_ip = 127.0.0.1 //注释此行
Hadoop 简要安装(三) 作者: 王十三 时间: 2017-05-01 分类: 安装过程 评论 > 初始环境 之前我们已经安装伪部署版本。 按照 之前的计划 我们还有两个节点服务器 36,37 服务器 192.168.31.36 , 192.168.31.37 ##环境准备 修改三台服务器名称 su vi /etc/sysconfig/network //192.168.31.30 ,Master //192.168.31.36 ,Slave36 //192.168.31.37 ,Slave37 映射IP su vi /etc/hosts ---------------------------------------- 192.168.31.30 Master 192.168.31.31 Job 192.168.31.36 Slave36 192.168.31.37 Slave37 ---------------------------------------- 复制 hadoop 到客户机上面。 // 192.168.31.36,192.168.31.37 cd /public_data/ //这个是我的虚拟机映射的目录,大家根据自己情况下载 cp -Rf ./hadoop/hadoop-2.6.4 /usr/local/hadoop SSH 登录 实现服务器之间的免登录 (30 免登录到 36 ,37) 方法一: // 192.168.31.30 su hadoop cp ~/.ssh/id_rsa.pub /public_data/hadoop/ // 192.168.31.36,192.168.31.37 su hadoop mkdir ~/.ssh/ cat /public_data/hadoop/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys chmod 700 ~/.ssh/ 方法二: //192.168.31.30 su hadoop ssh-copy-id 192.168.31.36 ssh-copy-id 192.168.31.37 //注意如果发送密码完成后。依然不能登录。 chmod 700 ~/.ssh/ chmod 600 ~/.ssh/authorized_keys //权限不对也可能导致无法登录 ##配置服务器 192.168.31.30 由之前伪分布式 改成 正式 Master 不在负责存储 // 192.168.31.30 编辑 ./etc/hadoop/slaves 文件 slaves 文件是向 Master 说明有几个节点服务器 --------------------------------------------------------------- #文本 localhost #更变为 192.168.31.36 192.168.31.37 --------------------------------------------------------------- 然后关闭防火墙 (测试方便,关闭三个服务器防火墙) service iptables stop #配置节点服务器 192.168.31.36, 192.168.31.37 这两个服务器好配置。只需要将 Master( 192.168.31.30) 上的 core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml 复制过去就好了 //core-site.xml fs.defaultFS hdfs://192.168.31.30:9000 hadoop.tmp.dir file:/usr/local/hadoop/tmp Abase for other temporary directories. //hdfs-site.xml dfs.namenode.secondary.http-address 192.168.31.30:50090 dfs.replication 1 dfs.namenode.name.dir file:/usr/local/hadoop/tmp/dfs/name dfs.datanode.data.dir file:/usr/local/hadoop/tmp/dfs/data // mapred-site.xml mapreduce.framework.name yarn mapreduce.jobhistory.address 192.168.31.30:10020 mapreduce.jobhistory.webapp.address 192.168.31.30:19888 //yarn-site.xml yarn.resourcemanager.hostname 192.168.31.30 yarn.nodemanager.aux-services mapreduce_shuffle ##启动 192.168.31.30 主服务器 /usr/local/hadoop/sbin/start-dfs.sh ![启动主服务器](/images/install-hadoop-3-img-1.png) 我们可以看到两个 36,37服务器 节点服务器已经启动成功了 访问 http://192.168.31.30:50070/dfshealth.html ![启动主服务器](/images/install-hadoop-3-img-2.png) ![启动主服务器](/images/install-hadoop-3-img-3.png) #启动YARN 8088 端口 /usr/local/hadoop/sbin/start-yarn.sh #启动 historyserver 服务 19888端口 /usr/local/hadoop/sbin/mr-jobhistory-daemon.sh start historyserver ##测试上传 //创建用户名称 hdfs dfs -mkdir -p /user/hadoop //创建用户下的文件夹 hdfs dfs -mkdir box //上传到文件夹中 hdfs dfs -put ./vagrant-centos-6.7.box box ##问题记录 1.在启动Master(192.168.31.30)后,查看 Slave36(192.168.31.36) Slave37(192.168.31.37) 执行 JPS 名称 ![检查启动项目](/images/install-hadoop-3-img-4.png) 看下 DataNode 是否已经启动 2。NameNode 格式化前 最好将缓存全部请空掉。不然无法启动。每次格式化都会导致DHFS的磁盘UID变更。所以清空就好了。