服务器环境配置
1.hosts
vim /etc/sysconfig/network 修改hostname:
NETWORKING=yes
HOSTNAME=hadoop-master
通过 service network restart 重启网络服务生效。
vim /etc/hosts ,修改ip与主机名的对应关系:
10.10.10.111 hadoop-master
10.10.10.112 hadoop-node-1
10.10.10.113 hadoop-node-2
10.10.10.114 hadoop-node-3
2.防火墙
关闭防火墙:
service iptables stop (临时关闭)
chkconfig iptables off (重启后生效)
3.selinux
关闭SELINUX
setenforce 0 (临时生效)
修改 /etc/selinux/config 下的 SELINUX=disabled (重启后永久生效)
4.ssh
在主节点/root/.ssh执行 ssh-keygen -t rsa 一路回车,生成无密码的密钥对。
将公钥添加到认证文件中: cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ,并设置authorized_keys的访问权限: chmod 600 ~/.ssh/authorized_keys 。
scp文件到所有datenode节点:
scp ~/.ssh/authorized_keys root@nodename:~/.ssh/
注意:配置后若还需要密码可能是因为selinux没有disabled
5.ulimit数
打开文件数
ulimit -Sn
ulimit -Hn
如果小于10000,那么修改
临时
ulimit -n 10000
永久
vim /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
6.安装jdk
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u65-b17/jdk-8u65-linux-x64.tar.gz
解压到/opt下
配置环境变量:vim /etc/profile
最后添加:export JAVA_HOME=/opt/jdk1.7.0_79
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
java –version 查看是否配置
7.ntp服务
8.关闭PackageKit
关闭PackageKit(如果安装了的话)
vim /etc/yum/pluginconf.d/refresh-packagekit.conf
enabled=0
9.设置umask
检查umask值
umask
设置umask为0022
umask 0022
永久生效
echo umask 0022 >> /etc/profile
10.关闭THP
关闭 transparent_hugepage透明巨页内存
centos6以上默认启用透明巨页内存,查看目前状态
cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
关闭:
临时
echo never >/sys/kernel/mm/transparent_hugepage/enabled
永久
设置/etc/rc.local文件
vim /etc/rc.local
添加 transparent_hugepage=never
11.yum-plugin-priorities
yum install yum-plugin-priorities
AMBARI相关
1.hdp地址
http://docs.hortonworks.com/index.html
2.本地库搭建
yum install httpd
下载 HDP,HDP-UTIL,AMBARI 三个tar包,解压到 /var/www/html/ ,具体路径标准按文档来
下载 ambari.repo hdp.repo 并修改,放到 /etc/yum.repo.d/ 下,
ambari.repo
hdp.repo
service httpd start
yum repolist 查看
3.master安装mysql
安装mysql服务器:yum install mysql-server
设置开机启动:chkconfig mysqld on
启动mysql:service mysqld start
设置密码:mysqladmin -u root password 'mysql'
mysql -uroot -pmysql 进入mysql命令行:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
初始化ambari库
mysql -u root -pmysql
CREATE USER 'ambari'@'%' IDENTIFIED BY 'ambari';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
CREATE USER 'ambari'@'localhost' IDENTIFIED BY 'ambari';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'localhost';
CREATE USER 'ambari'@'hdfs-master' IDENTIFIED BY 'ambari';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'hdfs-master';
FLUSH PRIVILEGES;
CREATE DATABASE `ambari` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
初始化hive库
CREATE USER 'hive'@'%' IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost';
CREATE USER 'hive'@'hdfs-master' IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'hdfs-master';
FLUSH PRIVILEGES;
4.安装ambari
yum install ambari-server
5.设置ambari
ambari-server setup
下载mysql的JDBC驱动:
http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.38.tar.gz
mv mysql-connector-java-5.1.38-bin.jar mysql-connector-java.jar
ambari库建表:
mysql -uroot -ppassword
USE ambari;
SOURCE /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;
6.启动ambari
ambari-server start
ambari-server status
ambari-server stop
安装hdp
1.[Python]解决UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 0
我的Linux服务器的Python版本是2.*,在将中文encode(UTF-8)的时候出现了UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 0: ordinal not in range(128)的问题。而在3.*中没有问题。
Python 2.x,字符编码方面,设计的不好。字符串包含两种----->str字符串(此时字符串的编码类型,对应着你的Python文件本身保存为何种编码有关)和unicode字符串
而在Python 3.*中,字符串则是unicode编码的str。上面这个问题,就是Python2.*渣编码的一个体现
vi /usr/lib/python2.6/site-packages/resource_management/core/logger.py
在前面增加:
import sys
reload(sys)
sys.setdefaultencoding('utf8')
2.hive
填写hive的用户名、密码。
指定Hive库时如果测试连接不成功,执行如下命令:
Be sure you have run:
ambari-server setup --jdbc-db=mysql --jdbc-driver=/path/to/mysql/mysql-connector-java.jar on the Ambari Server host to make the JDBC driver available and to enable testing the database connection.
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar